fmod-ieee: Work around test failures on OSF/1, mingw.
[gnulib.git] / ChangeLog
1 2012-02-27  Bruno Haible  <bruno@clisp.org>
2
3         fmod-ieee: Work around test failures on OSF/1, mingw.
4         * m4/fmod-ieee.m4: New file.
5         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6         whether fmod works with zero arguments. Replace it if not.
7         * lib/math.in.h (fmod): New declaration.
8         * lib/fmod.c: New file.
9         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
10         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
11         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
12         * modules/fmod (Files): Add lib/fmod.c.
13         (Depends-on): Add math, isinf, trunc, fma.
14         (configure.ac): Arrange to compile lib/fmod.c if needed.
15         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
16         m4/signbit.m4.
17         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
18         * tests/test-math-c++.cc: Check the declaration of fmod.
19         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
20
21         fmodl-ieee: Fix test failures.
22         * lib/fmodl.c (fmodl): Treat Inf specially.
23         * modules/fmodl (Depends-on): Add isinf.
24
25         Tests for module 'fmodl-ieee'.
26         * modules/fmodl-ieee-tests: New file.
27         * tests/test-fmodl-ieee.c: New file.
28
29         New module 'fmodl-ieee'.
30         * modules/fmodl-ieee: New file.
31
32         Tests for module 'fmod-ieee'.
33         * modules/fmod-ieee-tests: New file.
34         * tests/test-fmod-ieee.c: New file.
35
36         New module 'fmod-ieee'.
37         * modules/fmod-ieee: New file.
38
39         Tests for module 'fmodf-ieee'.
40         * modules/fmodf-ieee-tests: New file.
41         * tests/test-fmodf-ieee.c: New file.
42         * tests/test-fmod-ieee.h: New file.
43
44         New module 'fmodf-ieee'.
45         * modules/fmodf-ieee: New file.
46
47 2012-02-27  Bruno Haible  <bruno@clisp.org>
48
49         Tests for module 'rintl-ieee'.
50         * modules/rintl-ieee-tests: New file.
51         * tests/test-rintl-ieee.c: New file.
52
53         New module 'rintl-ieee'.
54         * modules/rintl-ieee: New file.
55
56         Tests for module 'rint-ieee'.
57         * modules/rint-ieee-tests: New file.
58         * tests/test-rint-ieee.c: New file.
59
60         New module 'rint-ieee'.
61         * modules/rint-ieee: New file.
62
63         Tests for module 'rintf-ieee'.
64         * modules/rintf-ieee-tests: New file.
65         * tests/test-rintf-ieee.c: New file.
66         * tests/test-rint-ieee.h: New file.
67
68         New module 'rintf-ieee'.
69         * modules/rintf-ieee: New file.
70
71 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72
73         regex: re_search etc. should return -2 when memory exhausted
74         This bug was uncovered when testing 'grep'.  Without the fix,
75         re_search and friends return -1 when memory is exhausted, but -1
76         means no match, and this causes grep to falsely report no-match
77         instead of memory-exhaustion.  See
78         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
79         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
80         trouble; this can occur if re_search_internal ran out of memory.
81
82 2012-02-26  Bruno Haible  <bruno@clisp.org>
83
84         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
85         * m4/modfl-ieee.m4: New file.
86         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
87         whether modfl works with Inf. Replace it if not.
88         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
89         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
90         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
91         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
92         (Depends-on): Update dependencies.
93         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
94         m4/signbit.m4.
95         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
96         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
97
98         modfl-ieee: Fix dependencies.
99         * modules/modfl-ieee (Depends-on): Add modf-ieee.
100
101         modfl-ieee: Fix test failures.
102         * lib/modfl.c (modfl): Treat NaN and Inf specially.
103         * modules/modfl (Depends-on): Add isfinite, isinf.
104
105         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
106         * m4/modff-ieee.m4: New file.
107         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
108         whether modff works with NaN and Inf. Replace it if not.
109         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
111         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
112         * modules/modff (configure.ac): Consider REPLACE_MODFF.
113         (Depends-on): Update dependencies.
114         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
115         m4/signbit.m4.
116         (Depends-on): Add modf-ieee.
117         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
118         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
119
120         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
121         * m4/modf-ieee.m4: New file.
122         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
123         whether modf works with NaN and Inf. Replace it if not.
124         * lib/math.in.h (modf): New declaration.
125         * lib/modf.c: New file.
126         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
128         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
129         * modules/modf (Files): Add lib/modf.c.
130         (Depends-on): Add math, isfinite, trunc, isinf.
131         (configure.ac): Addrange to compile lib/modf.c if needed.
132         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
133         m4/signbit.m4.
134         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
135         * tests/test-math-c++.cc: Check the declaration of modf.
136         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
137
138         Tests for module 'modfl-ieee'.
139         * modules/modfl-ieee-tests: New file.
140         * tests/test-modfl-ieee.c: New file.
141
142         New module 'modfl-ieee'.
143         * modules/modfl-ieee: New file.
144
145         Tests for module 'modf-ieee'.
146         * modules/modf-ieee-tests: New file.
147         * tests/test-modf-ieee.c: New file.
148
149         New module 'modf-ieee'.
150         * modules/modf-ieee: New file.
151
152         Tests for module 'modff-ieee'.
153         * modules/modff-ieee-tests: New file.
154         * tests/test-modff-ieee.c: New file.
155         * tests/test-modf-ieee.h: New file.
156
157         New module 'modff-ieee'.
158         * modules/modff-ieee: New file.
159
160 2012-02-26  Bruno Haible  <bruno@clisp.org>
161
162         Tests for module 'fabsl-ieee'.
163         * modules/fabsl-ieee-tests: New file.
164         * tests/test-fabsl-ieee.c: New file.
165
166         New module 'fabsl-ieee'.
167         * modules/fabsl-ieee: New file.
168
169         Tests for module 'fabs-ieee'.
170         * modules/fabs-ieee-tests: New file.
171         * tests/test-fabs-ieee.c: New file.
172
173         New module 'fabs-ieee'.
174         * modules/fabs-ieee: New file.
175
176         Tests for module 'fabsf-ieee'.
177         * modules/fabsf-ieee-tests: New file.
178         * tests/test-fabsf-ieee.c: New file.
179         * tests/test-fabs-ieee.h: New file.
180
181         New module 'fabsf-ieee'.
182         * modules/fabsf-ieee: New file.
183
184 2012-02-26  Bruno Haible  <bruno@clisp.org>
185
186         Tests for module 'fmal-ieee'.
187         * modules/fmal-ieee-tests: New file.
188         * tests/test-fmal-ieee.c: New file.
189
190         New module 'fmal-ieee'.
191         * modules/fmal-ieee: New file.
192
193         Tests for module 'fma-ieee'.
194         * modules/fma-ieee-tests: New file.
195         * tests/test-fma-ieee.c: New file.
196
197         New module 'fma-ieee'.
198         * modules/fma-ieee: New file.
199
200         Tests for module 'fmaf-ieee'.
201         * modules/fmaf-ieee-tests: New file.
202         * tests/test-fmaf-ieee.c: New file.
203         * tests/test-fma-ieee.h: New file.
204
205         New module 'fmaf-ieee'.
206         * modules/fmaf-ieee: New file.
207
208 2012-02-26  Bruno Haible  <bruno@clisp.org>
209
210         Tests for module 'ldexpl-ieee'.
211         * modules/ldexpl-ieee-tests: New file.
212         * tests/test-ldexpl-ieee.c: New file.
213
214         New module 'ldexpl-ieee'.
215         * modules/ldexpl-ieee: New file.
216
217         Tests for module 'ldexp-ieee'.
218         * modules/ldexp-ieee-tests: New file.
219         * tests/test-ldexp-ieee.c: New file.
220
221         New module 'ldexp-ieee'.
222         * modules/ldexp-ieee: New file.
223
224         Tests for module 'ldexpf-ieee'.
225         * modules/ldexpf-ieee-tests: New file.
226         * tests/test-ldexpf-ieee.c: New file.
227         * tests/test-ldexp-ieee.h: New file.
228
229         New module 'ldexpf-ieee'.
230         * modules/ldexpf-ieee: New file.
231
232 2012-02-26  Bruno Haible  <bruno@clisp.org>
233
234         Refactor frexp*-ieee tests.
235         * tests/test-frexp-ieee.h: New file.
236         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
237         (main): Just call test_function.
238         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
239         (main): Just call test_function.
240         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
241         (main): Just call test_function.
242         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
243         * modules/frexp-ieee-tests (Files): Likewise.
244         * modules/frexpl-ieee-tests (Files): Likewise.
245
246         Tests for module 'frexpl-ieee'.
247         * modules/frexpl-ieee-tests: New file.
248         * tests/test-frexpl-ieee.c: New file.
249
250         New module 'frexpl-ieee'.
251         * modules/frexpl-ieee: New file.
252
253         Tests for module 'frexp-ieee'.
254         * modules/frexp-ieee-tests: New file.
255         * tests/test-frexp-ieee.c: New file.
256
257         New module 'frexp-ieee'.
258         * modules/frexp-ieee: New file.
259
260         Tests for module 'frexpf-ieee'.
261         * modules/frexpf-ieee-tests: New file.
262         * tests/test-frexpf-ieee.c: New file.
263
264         New module 'frexpf-ieee'.
265         * modules/frexpf-ieee: New file.
266
267 2012-02-26  Bruno Haible  <bruno@clisp.org>
268
269         roundl-ieee tests: More tests.
270         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
271         (main): Add tests for [MX] shaded specification in POSIX.
272         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
273         (Depends-on): Add isnanl-nolibm.
274
275         round-ieee tests: More tests.
276         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
277         (main): Add tests for [MX] shaded specification in POSIX.
278         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
279         (Depends-on): Add isnand-nolibm.
280
281         roundf-ieee tests: More tests.
282         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
283         (main): Add tests for [MX] shaded specification in POSIX.
284         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
285         (Depends-on): Add isnanf-nolibm.
286
287         truncl-ieee tests: More tests.
288         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
289         (main): Add tests for [MX] shaded specification in POSIX.
290         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
291         (Depends-on): Add isnanl-nolibm.
292
293         trunc-ieee tests: More tests.
294         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
295         (main): Add tests for [MX] shaded specification in POSIX.
296         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
297         (Depends-on): Add isnand-nolibm.
298
299         truncf-ieee tests: More tests.
300         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
301         (main): Add tests for [MX] shaded specification in POSIX.
302         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
303         (Depends-on): Add isnanf-nolibm.
304
305         ceill-ieee tests: More tests.
306         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
307         (main): Add tests for [MX] shaded specification in POSIX.
308         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
309         (Depends-on): Add isnanl-nolibm.
310
311         ceil-ieee tests: More tests.
312         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
313         (main): Add tests for [MX] shaded specification in POSIX.
314         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
315         (Depends-on): Add isnand-nolibm.
316
317         ceilf-ieee tests: More tests.
318         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
319         (main): Add tests for [MX] shaded specification in POSIX.
320         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
321         (Depends-on): Add isnanf-nolibm.
322
323         floorl-ieee tests: More tests.
324         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
325         (main): Add tests for [MX] shaded specification in POSIX.
326         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
327         (Depends-on): Add isnanl-nolibm.
328
329         floor-ieee tests: More tests.
330         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
331         (main): Add tests for [MX] shaded specification in POSIX.
332         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
333         (Depends-on): Add isnand-nolibm.
334
335         floorf-ieee tests: More tests.
336         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
337         (main): Add tests for [MX] shaded specification in POSIX.
338         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
339         (Depends-on): Add isnanf-nolibm.
340
341 2012-02-26  Bruno Haible  <bruno@clisp.org>
342
343         fpieee: More comments.
344         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
345
346 2012-02-25  Bruno Haible  <bruno@clisp.org>
347
348         Tests for module 'log10l'.
349         * modules/log10l-tests: New file.
350         * tests/test-log10l.c: New file.
351         * tests/test-math-c++.cc: Check the declaration of log10l.
352
353         New module 'log10l'.
354         * lib/math.in.h (log10l): New declaration.
355         * lib/log10l.c: New file.
356         * m4/log10l.m4: New file.
357         * modules/log10l: New file.
358         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
360         HAVE_DECL_LOG10L.
361         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
362         HAVE_DECL_LOG10L.
363         * doc/posix-functions/log10l.texi: Mention the new module.
364
365 2012-02-25  Bruno Haible  <bruno@clisp.org>
366
367         fmodl, remainder*: Avoid wrong results due to rounding errors.
368         * lib/fmodl.c (fmodl): Correct the result if it is not within the
369         expected bounds.
370         * lib/remainderf.c (remainderf): Likewise.
371         * lib/remainder.c (remainder): Likewise.
372         * lib/remainderl.c (remainderl): Likewise.
373
374 2012-02-25  Bruno Haible  <bruno@clisp.org>
375
376         Tests for module 'remainderl'.
377         * modules/remainderl-tests: New file.
378         * tests/test-remainderl.c: New file.
379         * tests/test-math-c++.cc: Check the declaration of remainderl.
380
381         New module 'remainderl'.
382         * lib/math.in.h (remainderl): New declaration.
383         * lib/remainderl.c: New file.
384         * m4/remainderl.m4: New file.
385         * modules/remainderl: New file.
386         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
387         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
388         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
389         HAVE_REMAINDERL.
390         * doc/posix-functions/remainderl.texi: Mention the new module.
391
392 2012-02-25  Bruno Haible  <bruno@clisp.org>
393
394         Tests for module 'remainderf'.
395         * modules/remainderf-tests: New file.
396         * tests/test-remainderf.c: New file.
397         * tests/test-math-c++.cc: Check the declaration of remainderf.
398
399         New module 'remainderf'.
400         * lib/math.in.h (remainderf): New declaration.
401         * lib/remainderf.c: New file.
402         * m4/remainderf.m4: New file.
403         * modules/remainderf: New file.
404         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
406         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
407         HAVE_REMAINDERF.
408         * doc/posix-functions/remainderf.texi: Mention the new module.
409
410 2012-02-25  Bruno Haible  <bruno@clisp.org>
411
412         remainder: Support for MSVC.
413         * lib/math.in.h (remainder): New declaration.
414         * lib/remainder.c: New file.
415         * m4/remainder.m4: New file.
416         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
417         (Depends-on): Add math, round, fma.
418         (configure.ac): Use results of gl_FUNC_REMAINDER.
419         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
421         HAVE_DECL_REMAINDER.
422         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
423         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
424         * tests/test-math-c++.cc: Check the declaration of remainder.
425         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
426         problems are fixed.
427
428 2012-02-25  Bruno Haible  <bruno@clisp.org>
429
430         Tests for module 'fmodl'.
431         * modules/fmodl-tests: New file.
432         * tests/test-fmodl.c: New file.
433         * tests/test-math-c++.cc: Check the declaration of fmodl.
434
435         New module 'fmodl'.
436         * lib/math.in.h (fmodl): New declaration.
437         * lib/fmodl.c: New file.
438         * m4/fmodl.m4: New file.
439         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
440         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
441         REPLACE_FMODL.
442         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
443         REPLACE_FMODL.
444         * modules/fmodl: New file.
445         * doc/posix-functions/fmodl.texi: Mention the new module.
446
447 2012-02-25  Bruno Haible  <bruno@clisp.org>
448
449         Tests for module 'modfl'.
450         * modules/modfl-tests: New file.
451         * tests/test-modfl.c: New file.
452         * tests/test-math-c++.cc: Check the declaration of modfl.
453
454         New module 'modfl'.
455         * lib/math.in.h (modfl): New declaration.
456         * lib/modfl.c: New file.
457         * m4/modfl.m4: New file.
458         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
459         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
460         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
461         * modules/modfl: New file.
462         * doc/posix-functions/modfl.texi: Mention the new module.
463
464 2012-02-25  Bruno Haible  <bruno@clisp.org>
465
466         Tests for module 'fabsl'.
467         * modules/fabsl-tests: New file.
468         * tests/test-fabsl.c: New file.
469         * tests/test-math-c++.cc: Check the declaration of fabsl.
470
471         New module 'fabsl'.
472         * lib/math.in.h (fabsl): New declaration.
473         * lib/fabsl.c: New file.
474         * m4/fabsl.m4: New file.
475         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
477         REPLACE_FABSL.
478         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
479         REPLACE_FABSL.
480         * modules/fabsl: New file.
481         * doc/posix-functions/fabsl.texi: Mention the new module.
482
483 2012-02-25  Bruno Haible  <bruno@clisp.org>
484
485         fabs tests: More tests.
486         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
487         (zero): New variable.
488         (main): Add tests for signed zero.
489         * modules/fabs-tests (Files): Add tests/minus-zero.h.
490
491         fabsf tests: More tests.
492         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
493         (zero): New variable.
494         (main): Add tests for signed zero.
495         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
496
497 2012-02-24  Bruno Haible  <bruno@clisp.org>
498
499         atanl: Provide function definition on MSVC.
500         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
501         function pointer.
502         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
503
504 2012-02-24  Bruno Haible  <bruno@clisp.org>
505
506         acosl: Provide function definition on MSVC.
507         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
508         function pointer.
509         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
510
511 2012-02-24  Bruno Haible  <bruno@clisp.org>
512
513         asinl: Provide function definition on MSVC.
514         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
515         function pointer.
516         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
517
518 2012-02-24  Bruno Haible  <bruno@clisp.org>
519
520         tanl: Provide function definition on MSVC.
521         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
522         function pointer.
523         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
524
525 2012-02-24  Bruno Haible  <bruno@clisp.org>
526
527         cosl: Provide function definition on MSVC.
528         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
529         function pointer.
530         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
531
532 2012-02-24  Bruno Haible  <bruno@clisp.org>
533
534         sinl: Provide function definition on MSVC.
535         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
536         function pointer.
537         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
538
539 2012-02-24  Bruno Haible  <bruno@clisp.org>
540
541         logl: Provide function definition on MSVC.
542         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
543         function pointer.
544         * lib/math.in.h (logl): Undefine if it does not exist as a function.
545
546 2012-02-24  Bruno Haible  <bruno@clisp.org>
547
548         expl: Provide function definition on MSVC.
549         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
550         function pointer.
551         * lib/math.in.h (expl): Undefine if it does not exist as a function.
552
553 2012-02-24  Bruno Haible  <bruno@clisp.org>
554
555         sqrtl: Provide function definition on MSVC.
556         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
557         a function pointer.
558         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
559
560 2012-02-24  Bruno Haible  <bruno@clisp.org>
561
562         ceill: Provide function definition on MSVC.
563         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
564         used as a function pointer.
565         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
566
567 2012-02-24  Bruno Haible  <bruno@clisp.org>
568
569         floorl: Provide function definition on MSVC.
570         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
571         used as a function pointer.
572         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
573
574 2012-02-24  Bruno Haible  <bruno@clisp.org>
575
576         ceilf: Provide function definition on MSVC.
577         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
578         used as a function pointer.
579         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
580
581 2012-02-24  Bruno Haible  <bruno@clisp.org>
582
583         floorf: Provide function definition on MSVC.
584         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
585         used as a function pointer.
586         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
587
588 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
589
590         stdnoreturn: new module
591         This implements a replacement for C11's <stdnoreturn.h>.
592         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
593         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
594         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
595         * tests/test-stdnoreturn.c: New files.
596
597 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
598
599         regex: fix false multibyte matches in some regular expressions
600         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
601         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
602         * lib/regex_internal.c (re_string_skip_chars):
603         Fix miscomputation of remain_len that may cause incomplete
604         multi-byte character and false match.
605
606 2012-02-24  Jim Meyering  <meyering@redhat.com>
607
608         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
609         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
610         uses with "==" *before* the call, e.g., 0 == strcmp (...)
611         Remove now-unnecessary str''cmp obfuscation.
612         Suggested by Akim Demaille.
613
614 2012-02-24  Bruno Haible  <bruno@clisp.org>
615
616         streq: Rename macro.
617         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
618         * NEWS: Mention the change.
619         * lib/mbrtowc.c (mbrtowc): Update.
620         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
621         * lib/wcwidth.c (wcwidth): Update.
622         Suggested by Akim Demaille and Jim Meyering.
623
624 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
625
626         regex: fix typo in definition of MIN
627         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
628         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
629
630 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
631             Bruno Haible  <bruno@clisp.org>
632
633         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
634         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
635         entries into a stack-allocated buffer directly.
636         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
637
638 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
639             Bruno Haible  <bruno@clisp.org>
640
641         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
642
643          - There were several instances of this pattern:
644
645              for (;;) {
646                n = acl (f, GETACLCNT, 0, NULL);
647                [ allocate an array A of size N ]
648                if (acl (f, GETACL, n, a) == n)
649                  break;
650              }
651
652            This loop might never terminate if some other process is constantly
653            manipulating the file's ACL.  The loop should be rewritten to
654            terminate.
655
656          - The acl (... GETACLNT ...) call is merely an optimization; its value
657            is merely a hint as to how big to make the array.  A better
658            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
659            and just guess a reasonably-big size, growing the size and trying
660            again if it's not large enough.  This guarantees termination, and
661            saves a system call.
662
663         * lib/acl-internal.h: Include <limits.h>.
664         (MIN, SIZE_MAX): New macros.
665         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
666         a stack-allocated buffer, and use malloc if it does not fit. Don't
667         use GETACLCNT.
668         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
669
670 2012-02-19  Bruno Haible  <bruno@clisp.org>
671
672         acl: Fix endless loop on Solaris with vxfs.
673         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
674         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
675         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
676         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
677         * tests/test-sameacls.c (main)[Solaris]: Likewise.
678         Reported by Bill Jones in
679         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
680
681 2012-02-19  Bruno Haible  <bruno@clisp.org>
682
683         acl: Fix copy-acl test failure on Solaris 11 2011-11.
684         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
685         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
686         that this function returns 0 in some more cases.
687
688 2012-02-19  Bruno Haible  <bruno@clisp.org>
689
690         acl: Update doc references.
691         * doc/acl-resources.txt: Update links to Solaris documentation.
692
693 2012-02-19  Bruno Haible  <bruno@clisp.org>
694
695         Fix test failure in many locales on Solaris 11.
696         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
697         'tr' arguments.
698         * tests/test-pipe-filter-ii1.c (main): Likewise.
699         * build-aux/bootstrap (check_versions): Run 'tr' command with range
700         expressions in the C locale.
701         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
702         * m4/host-os.m4 (gl_HOST_OS): Likewise.
703
704 2012-02-19  Bruno Haible  <bruno@clisp.org>
705
706         gnulib-tool: Improve usage message.
707         * gnulib-tool (func_usage): Move doc of --help and --version to the
708         section "Operation modes".
709
710 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
711
712         README-release: make it easier to execute commands
713         * top/README-release: break commands out on to separate lines.
714
715 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
716
717         GNUmakefile: simplify detection of unconfigured trees
718         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
719         whether the tree make is being run from is already configured or
720         not.  Related simplifications.
721
722 2012-02-13  Simon Josefsson  <simon@josefsson.org>
723
724         * gnulib-tool (func_usage): Document --help and --version.
725
726 2012-02-11  Jim Meyering  <meyering@redhat.com>
727
728         bootstrap: don't exit 0 upon gnulib-tool failure
729         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
730         its exit status, not 0.
731
732 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
733
734         README-release: various improvements
735         * top/README-release: Give a command to push changes for the
736         release.  Add "distcheck" to list of other pre-release checks.
737         Fix instance of "make stable" which should be "make TYPE".
738
739 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
740
741         maint: replace FSF snail-mail addresses with URLs
742         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
743         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
744         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
745         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
746         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
747         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
748         * lib/check-version.c, lib/check-version.h, lib/config.charset:
749         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
750         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
751         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
752         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
753         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
754         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
755         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
756         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
757         * lib/glthread/thread.c, lib/glthread/thread.h:
758         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
759         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
760         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
761         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
762         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
763         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
764         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
765         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
766         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
767         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
768         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
769         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
770         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
771         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
772         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
773         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
774         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
775         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
776         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
777         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
778         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
779         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
780         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
781         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
782         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
783         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
784         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
785         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
786         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
787         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
788         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
789         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
790         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
791         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
792         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
793         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
794         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
795         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
796         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
797         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
798         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
799         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
800         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
801         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
802         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
803         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
804         * tests/test-poll.c, tests/test-quotearg-simple.c:
805         * tests/test-quotearg.c, tests/test-quotearg.h:
806         * tests/test-round-ieee.c, tests/test-round1.c:
807         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
808         * tests/test-roundl-ieee.c, tests/test-roundl.c:
809         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
810         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
811         * tests/test-strerror.c, tests/test-strerror_r.c:
812         * tests/test-strsignal.c, tests/test-strverscmp.c:
813         * tests/test-xmemdup0.c:
814         Replace FSF snail mail addresses with URLs, as per GNU coding
815         standards.  See glibc bug
816         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
817
818 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
819
820         README-release: capitalize a word and split a line
821         * top/README-release: Fix punctuation and spacing.
822
823 2012-02-08  Akim Demaille  <demaille@gostai.com>
824
825         fatal-signal: use C prototypes (with explicit void).
826         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
827         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
828
829 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
830
831         regex: spelling fix
832         * lib/regexec.c: spelling fix
833
834         regex: rely on stdint.h for SIZE_MAX
835         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
836
837 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
838
839         regex: merge glibc changes
840
841         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
842         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
843         (init_word_char): Work even if bitset words are not exactly 32 or
844         64 bits wide.  Don't assume there are no padding bits.
845         * lib/regex.c [_LIBC]: Do not include <config.h>.
846         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
847         and -Wtype-limits.
848         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
849         needless disagreement with glibc.  All uses changed.  Define it to
850         1 only if _GNU_SOURCE, to match glibc.
851         (_REG_RM_NAME): Remove; no longer needed, since the names in
852         question are now all protected by __USE_GNU.
853         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
854         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
855         * lib/regex_internal.h (MIN): New macro.
856
857         2012-01-03 Ulrich Drepper <drepper@gmail.com>
858         * lib/regcomp.c (init_word_char): Optimize regex a bit.
859
860         2011-12-30 Jakub Jelinek <jakub@redhat.com>
861         * lib/regex_internal.c (re_string_fetch_byte_case):
862         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
863         is miscompiled, and it turns out it is because of an incorrect
864         attribute on re_string_fetch_byte_case.  Unlike
865         re_string_peek_byte_case, this one is really not pure, it modifies
866         memory (increments pstr->cur_idx), and with the pure attribute GCC
867         assumed it doesn't and it cached the presumed value of
868         regexp->cur_idx in a variable across the
869          for (;; ++i)
870            {
871              if (i >= BRACKET_NAME_BUF_SIZE)
872                return REG_EBRACK;
873              if (token->type == OP_OPEN_CHAR_CLASS)
874                ch = re_string_fetch_byte_case (regexp);
875              else
876                ch = re_string_fetch_byte (regexp);
877              if (re_string_eoi(regexp))
878                return REG_EBRACK;
879              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
880                break;
881              elem->opr.name[i] = ch;
882            }
883
884         2011-11-29 Andreas Schwab <schwab@redhat.com>
885         * lib/regcomp.c (build_equiv_class):
886         Fix access after end of search string in regex matcher.
887
888         2011-11-12 Ulrich Drepper <drepper@redhat.com>
889         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
890
891         2011-10-12 Ulrich Drepper <drepper@redhat.com>
892         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
893
894         2011-10-11 Ulrich Drepper <drepper@redhat.com>
895         * lib/regcomp.c (parse_branch, parse_sub_exp):
896         More regex memory leak fixes and tests.
897         (parse_sub_exp, parse_bracket_exp):
898         Fix memory leak for some invalid regular expressions.
899
900         2011-05-28 Ulrich Drepper <drepper@gmail.com>
901         * lib/regex_internal.c, lib/regexec.c:
902         Fix unnecessary overallocation due to incomplete character.  When
903         incomplete characters are found at the end of a string the code
904         ran amok and allocated lots of memory.  Stricter limits are now in
905         place.
906
907         2011-05-20 Reuben Thomas <rrt@sc3d.org>
908         * lib/regex.h: Update documentation.
909
910         2011-05-16 Aharon Robbins <arnold@skeeve.com>
911         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
912
913         2010-05-05 Andreas Schwab <schwab@redhat.com>
914         * lib/regexec.c (find_collation_sequence_value):
915         Fix lookup of collation sequence value during regexp matching.
916
917         2010-01-22 Ulrich Drepper <drepper@redhat.com>
918         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
919
920         2008-01-16 Ulrich Drepper <drepper@redhat.com>
921         * lib/regex.h: Cleanup namespace.
922
923         2007-11-26 Ulrich Drepper <drepper@redhat.com>
924         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
925
926         2007-08-26 Ulrich Drepper <drepper@redhat.com>
927         * lib/regex_internal.h: Prevent some declarations and definitions
928         to be seen when used in tests.
929
930         2005-05-06 Ulrich Drepper <drepper@redhat.com>
931         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
932         __libc_lock_* macros if not _LIBC.
933         (struct re_dfa_t): Add lock.
934
935 2012-02-07  Eric Blake  <eblake@redhat.com>
936
937         maint.mk: also prohibit lower-case @var@
938         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
939         lower case, like @top_srcdir@.
940
941 2012-02-04  Eric Blake  <eblake@redhat.com>
942
943         canonicalize: avoid uninitialized memory use
944         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
945         random '/' left in dest.
946         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
947
948 2012-02-04  Bruno Haible  <bruno@clisp.org>
949
950         isatty: Fix test failure of ptsname_r on native Windows.
951         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
952         and don't set errno.
953         (isatty): Test first whether fd is valid. Set errno when returning 0.
954
955 2012-02-04  Bruno Haible  <bruno@clisp.org>
956
957         spawn-pipe tests: Fix a NULL program name in a diagnostic.
958         * tests/test-spawn-pipe-main.c: Include progname.h.
959         (main): Invoke set_program_name.
960         * modules/spawn-pipe-tests (Depends-on): Add progname.
961
962         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
963         * tests/test-nonblocking-socket-main.c: Include progname.h.
964         (main): Invoke set_program_name.
965         * modules/nonblocking-socket-tests (Depends-on): Add progname.
966
967         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
968         * tests/test-nonblocking-pipe-main.c: Include progname.h.
969         (main): Invoke set_program_name.
970         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
971
972 2012-02-04  Eric Blake  <eblake@redhat.com>
973
974         canonicalize-lgpl: fix // handling
975         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
976
977         canonicalize: fix // handling
978         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
979         /// to //, since only // is special.
980
981 2012-02-04  Bruno Haible  <bruno@clisp.org>
982
983         ioctl: Fix test failure on native Windows.
984         * lib/ioctl.c: Include msvc-nothrow.h.
985         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
986
987 2012-02-04  Bruno Haible  <bruno@clisp.org>
988
989         fsync: Avoid test failure on native Windows.
990         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
991         read-only.
992
993 2012-02-04  Bruno Haible  <bruno@clisp.org>
994
995         sys_select: Avoid syntax error on OpenBSD 5.0.
996         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
997         currently being included, just include the system's <sys/select.h>.
998
999 2012-02-04  Bruno Haible  <bruno@clisp.org>
1000
1001         sys_select: Avoid syntax error on OpenBSD 5.0.
1002         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1003         <sys/select.h>, not before.
1004         Reported by Jiri B <jirib@devio.us>.
1005
1006 2012-02-04  Bruno Haible  <bruno@clisp.org>
1007
1008         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1009         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1010         global variables.
1011         * tests/test-get-rusage-data.c (main): Likewise.
1012         Reported by Jim Meyering.
1013
1014 2012-02-04  Bruno Haible  <bruno@clisp.org>
1015
1016         stdioext: Fix last commit.
1017         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1018
1019 2012-02-03  Bruno Haible  <bruno@clisp.org>
1020
1021         stdioext: Add tentative support for Plan9.
1022         * lib/stdio-impl.h: Include <errno.h>.
1023         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1024         * lib/freadable.c (freadable): Likewise.
1025         * lib/fwritable.c (fwritable): Likewise.
1026         * lib/fbufmode.c (fbufmode): Likewise.
1027         * lib/freading.c (freading): Likewise.
1028         * lib/fwriting.c (fwriting): Likewise.
1029         * lib/freadptr.c (freadptr): Likewise.
1030         * lib/freadseek.c (freadptrinc): Likewise.
1031         * lib/freadahead.c (freadahead): Likewise.
1032         * lib/fpurge.c (fpurge): Likewise.
1033         * lib/fseeko.c (rpl_fseeko): Likewise.
1034         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1035         Reported by Jens Staal <staal1978@gmail.com>.
1036
1037 2012-02-02  Jim Meyering  <meyering@redhat.com>
1038
1039         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1040         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1041         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1042         not even to try to add the attribute.  Instead, add a pragma to suppress
1043         the suggestion/warning.
1044
1045 2012-01-31  Karl Berry  <karl@gnu.org>
1046
1047         setstate doc: typo.
1048         * doc/posix-functions/setstate.texi (setstate): { not (.
1049
1050 2012-01-31  Bruno Haible  <bruno@clisp.org>
1051
1052         popen: Make more robust on Windows.
1053         * lib/popen.c: On native Windows, use the _popen based code even if
1054         HAVE_POPEN is set.
1055         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1056         environment variable on native Windows.
1057
1058 2012-01-30  Bruno Haible  <bruno@clisp.org>
1059
1060         pclose: Fix typo.
1061         * lib/stdio.in.h (pclose): Fix typo in warning message.
1062
1063 2012-01-30  Bruno Haible  <bruno@clisp.org>
1064
1065         doc about getlogin_r, setstate.
1066         * doc/posix-functions/getlogin_r.texi: List the incompatible
1067         declaration problem under "not fixed by gnulib".
1068         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1069         problem on Solaris 11 and other platforms.
1070
1071 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1072             Bruno Haible  <bruno@clisp.org>
1073
1074         poll tests: Make test more robust.
1075         * tests/test-poll.c: Include macros.h.
1076         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1077         return value of various I/O operations.
1078         * modules/poll-tests (Files): Add tests/macros.h.
1079
1080 2012-01-30  Bruno Haible  <bruno@clisp.org>
1081
1082         sys_stat: Fix support for mingw64 and MSVC.
1083         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1084         header files already do it.
1085         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1086         stat itself.
1087         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1088
1089 2012-01-30  Bruno Haible  <bruno@clisp.org>
1090
1091         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1093         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1094
1095 2012-01-29  Bruno Haible  <bruno@clisp.org>
1096
1097         quotearg: Fix test failure on MacOS X 10.5.
1098         * tests/test-quotearg-simple.c: Include localcharset.h.
1099         (main): If the locale encoding is not ASCII, bypass the tests of
1100         locale_quoting_style and clocale_quoting_style.
1101         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1102
1103 2012-01-29  Jim Meyering  <meyering@redhat.com>
1104
1105         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1106         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1107         detect uses of canonicalize_file_name.
1108
1109 2012-01-28  Bruno Haible  <bruno@clisp.org>
1110
1111         test-framework-sh: Fix test failure with AIX 7.1 diff.
1112         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1113         in column 1, like 'diff -c' does.
1114         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1115         whether 'diff -u' is used. Instead, test whether the output contains
1116         some '@' character.
1117
1118 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1119
1120         strtoimax: eliminate need for stdint.h, inttypes.h checks
1121         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1122         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1123         the prerequisites for a recently-introduced strtoimax test.
1124         I guess this might cause strtoimax to be replaced when not
1125         strictly necessary on older hosts, but this shouldn't introduce
1126         any bugs and it should make Emacs 'configure' faster on typical
1127         modern hosts.  Problem discovered when importing the latest gnulib
1128         to an Emacs test version.
1129         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1130
1131 2012-01-28  Bruno Haible  <bruno@clisp.org>
1132
1133         sys_time: Override 'struct timeval' on some native Windows platforms.
1134         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1135         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1136         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1137         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1138         needs to be overridden.
1139         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1140         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1141         * tests/test-sys_select.c: Check that the tv_sec member has the same
1142         size as a 'time_t'.
1143         * tests/test-sys_time.c: Likewise.
1144         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1145         is set, set also REPLACE_GETTIMEOFDAY.
1146         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1147         convert the resulting 'struct timeval' before returning.
1148         * lib/select.c: Include <sys/time.h>.
1149         (select, timeval): Undefine at the right place.
1150         * modules/select (Depends-on): Add sys_time.
1151         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1152         some Windows platforms.
1153         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1154
1155 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1156
1157         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1158         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1159         an integer.
1160         * lib/fcntl.c (dupfd): Likewise.
1161         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1162
1163 2012-01-28  Bruno Haible  <bruno@clisp.org>
1164
1165         fcntl: Avoid compilation error on native Windows.
1166         * modules/fcntl (Depends-on): Add 'close'.
1167
1168 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1169
1170         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1171         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1172         pointer to an integer.
1173         * lib/poll.c (IsConsoleHandle): Likewise.
1174         * lib/isatty.c (IsConsoleHandle): Likewise.
1175
1176 2012-01-28  Jim Meyering  <meyering@redhat.com>
1177
1178         doc: clarify README-release
1179         * top/README-release: Clarify: you should make a point to have
1180         the latest stable versions of build tools in your PATH, and the
1181         reference to buildreq is solely for its list of tool names, not
1182         for its minimal-functional version numbers.
1183         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1184
1185         maint.mk: use more readable (yet functionally equivalent) quoting
1186         It is common to quote a single quote in a single quoted string like
1187         this:  '...'\''...'.  Unless you know the idiom, that looks like
1188         gibberish, so prefer to double-quote the string when possible.
1189         Then you can use a more readable, lone single quote: "...'..."
1190         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
1191         "don't" is more readable than the equivalent 'don'\''t'.
1192         (sc_cast_of_x_alloc_return_value): Likewise.
1193         (sc_cast_of_alloca_return_value): Likewise.
1194         (sc_makefile_path_separator_check): Similar: use ":" in '...',
1195         rather than '\'':'\''.
1196
1197 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1198
1199         stdalign: relax _Alignof and tighten _Alignas test
1200         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
1201         as it was too strict: alignof must divide offsetof, but it need
1202         not equal offsetof.  Inspired by Joseph S. Myers's comment
1203         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
1204         Conversely, tighten the _Alignas test a bit, as the resulting
1205         alignment must be exactly 8.
1206
1207 2012-01-27  Bruno Haible  <bruno@clisp.org>
1208
1209         stdalign: Document the last change.
1210         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
1211
1212 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1213
1214         stdalign: check that alignof and offsetof are consistent
1215         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
1216         Problem reported for gnulib by Richard W.M. Jones in
1217         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
1218
1219 2012-01-27  Jim Meyering  <meyering@redhat.com>
1220
1221         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
1222         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
1223         convert a sequence with gaps to the minimal containing range.
1224         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
1225         * tests/test-update-copyright.sh: Test for this.
1226         The FSF confirmed it is ok to do this, assuming there is at
1227         least one significant change per year in the affected range:
1228         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
1229
1230 2012-01-26  Bruno Haible  <bruno@clisp.org>
1231
1232         pipe2: refine doc about thread-safety
1233         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
1234         multithread-safety problem.
1235         * doc/glibc-functions/accept4.texi: Likewise.
1236
1237 2012-01-26  Bruno Haible  <bruno@clisp.org>
1238
1239         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
1240         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
1241         In the test program, include <fcntl.h>, for O_RDONLY.
1242
1243 2012-01-26  Eric Blake  <eblake@redhat.com>
1244
1245         pipe2: document lack of thread-safety in replacement
1246         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
1247         issue in replacement.
1248         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1249         Based on a report by Eric Wong.
1250
1251 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1252             Bruno Haible  <bruno@clisp.org>
1253
1254         malloca: Avoid warnings on x86_64 mingw64.
1255         * lib/malloca.c: Include <stdint.h>.
1256         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
1257         * modules/malloca (Depends-on): Add stdint.
1258         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
1259
1260 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1261
1262         obstack: remove __STDC__ conditionals
1263         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
1264         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
1265         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
1266         m4/include_next.m4 as the only gnulib-maintained places that still
1267         refer to __STDC__.
1268
1269 2012-01-24  Bruno Haible  <bruno@clisp.org>
1270
1271         havelib: Modern quoting.
1272         * build-aux/config.rpath: Quote 'like this', not `like this', as per
1273         the recent change to the GNU coding standards.
1274
1275 2012-01-24  Bruno Haible  <bruno@clisp.org>
1276
1277         stdint: Improve support for Android.
1278         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
1279         Reported by Simon Josefsson <simon@josefsson.org>.
1280
1281 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1282
1283         doc: omit trailing empty lines from INSTALL etc.
1284         * doc/Makefile (INSTALL): Omit trailing empty lines.
1285         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
1286         omit trailing empty lines.  This simplifies the build procedure.
1287
1288 2012-01-23  Jim Meyering  <meyering@redhat.com>
1289
1290         tests: avoid spurious warnings about gl_sockets_startup
1291         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
1292         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
1293         reporting a "statement with no effect".
1294         * tests/test-accept.c (main): Mark as "(void)".
1295         * tests/test-accept4.c (main): Likewise.
1296         * tests/test-bind.c (main): Likewise.
1297         * tests/test-connect.c (main): Likewise.
1298         * tests/test-getpeername.c (main): Likewise.
1299         * tests/test-getsockname.c (main): Likewise.
1300         * tests/test-getsockopt.c (main): Likewise.
1301         * tests/test-listen.c (main): Likewise.
1302         * tests/test-recv.c (main): Likewise.
1303         * tests/test-recvfrom.c (main): Likewise.
1304         * tests/test-send.c (main): Likewise.
1305         * tests/test-sendto.c (main): Likewise.
1306         * tests/test-setsockopt.c (main): Likewise.
1307         * tests/test-shutdown.c (main): Likewise.
1308
1309 2012-01-21  Bruno Haible  <bruno@clisp.org>
1310
1311         locale-fr.m4: Fix for Android.
1312         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1313         failure of the test program on Bionic libc.
1314
1315 2012-01-21  Jim Meyering  <meyering@redhat.com>
1316
1317         bootstrap: fail when bootstrap_post_import_hook fails
1318         Otherwise, it's far too easy to miss diagnostics emitted
1319         between gnulib-tool's output and that of running configure.
1320         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1321
1322 2012-01-17  Jim Meyering  <meyering@redhat.com>
1323
1324         maint: enable sc_trailing_blank
1325         * build-aux/pmccabe.css: Remove trailing blanks.
1326         * doc/acl-cygwin.txt: Likewise.
1327         * doc/gnu-oids.texi: Likewise
1328         * cfg.mk: Enable sc_trailing_blank.
1329         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1330
1331 2012-01-17  Jim Meyering  <meyering@redhat.com>
1332
1333         maint: enable sc_prohibit_openat_without_use
1334         * cfg.mk: Enable sc_prohibit_openat_without_use.
1335         Exempt lib/selinux-at.c.
1336
1337 2012-01-17  Jim Meyering  <meyering@redhat.com>
1338
1339         maint: enable sc_prohibit_cloexec_without_use
1340         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1341         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1342
1343 2012-01-17  Jim Meyering  <meyering@redhat.com>
1344
1345         maint: enable sc_prohibit_intprops_without_use
1346         * cfg.mk: Enable sc_prohibit_intprops_without_use
1347         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1348
1349 2012-01-17  Jim Meyering  <meyering@redhat.com>
1350
1351         maint: enable sc_prohibit_hash_pjw_without_use
1352         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1353         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1354         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1355         following " (".
1356
1357 2012-01-17  Jim Meyering  <meyering@redhat.com>
1358
1359         maint: enable double-word-prohibiting rule
1360         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
1361         Exempt three files.
1362
1363 2012-01-17  Jim Meyering  <meyering@redhat.com>
1364
1365         maint: remove empty lines at EOF, but excluding modules/*
1366         Apply syntax rules at home as well as abroad.  Most changes
1367         were induced by running this:
1368           make srcdir=. _build-aux=build-aux -f top/maint.mk \
1369             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
1370             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
1371         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
1372         Exempt modules/* and two binary files.
1373         Also exempt doc/INSTALL*, per request from Bruno Haible.
1374         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
1375         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
1376         * doc/Copyright/request-assign.future: Likewise.
1377         * doc/Copyright/request-disclaim.changes: Likewise.
1378         * doc/INSTALL: Likewise.
1379         * doc/INSTALL.ISO: Likewise.
1380         * doc/INSTALL.UTF-8: Likewise.
1381         * doc/acl-cygwin.txt: Likewise.
1382         * doc/acl-resources.txt: Likewise.
1383         * doc/fdl-1.2.texi: Likewise.
1384         * doc/fdl-1.3.texi: Likewise.
1385         * doc/fdl.texi: Likewise.
1386         * lib/argp-pin.c: Likewise.
1387         * lib/round.c: Likewise.
1388         * lib/unicase/u16-totitle.c: Likewise.
1389         * lib/unictype/block_test.c: Likewise.
1390         * lib/uninorm/canonical-decomposition.c: Likewise.
1391         * m4/README: Likewise.
1392         * m4/relocatable-lib.m4: Likewise.
1393         * tests/test-isnand-nolibm.c: Likewise.
1394         * tests/test-isnand.c: Likewise.
1395         * tests/uninorm/NormalizationTest.txt: Likewise.
1396
1397 2012-01-17  Jim Meyering  <meyering@redhat.com>
1398
1399         maint: add framework to run syntax-check rules against gnulib sources
1400         * cfg.mk: New file, to disable all currently-failing tests.
1401         We'll enable them one by one, as they are made to pass.
1402         * Makefile (sc_maint): New rule.
1403
1404 2012-01-21  Bruno Haible  <bruno@clisp.org>
1405
1406         stdint: Add support for Android.
1407         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1408         include the system's <stdint.h>.
1409         Reported by Simon Josefsson <simon@josefsson.org>.
1410
1411 2012-01-19  Jim Meyering  <meyering@redhat.com>
1412
1413         bootstrap: add bootstrap_post_import_hook
1414         Bison does still need something like the gnulib_mk_hook whose
1415         invocation I had to remove along with slurp in commit 767ccd40.
1416         Technically, we could get along without it, but doing so would
1417         have required living with a warning and a mandatory post-bootstrap
1418         automake rerun.
1419         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
1420         (bootstrap_post_import_hook): New function.
1421         Invoke it after gnulib-tool --import and before autoreconf.
1422
1423 2012-01-18  Jim Meyering  <meyering@redhat.com>
1424
1425         gitlog-to-changelog: don't use "no_"-prefixed variable name
1426         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
1427         to enable both --cluster and --no-cluster.  Change variable name,
1428         s/\$no_cluster/$cluster/, and reverse usage to match.
1429
1430         gitlog-to-changelog: use "||", not "or" in expressions
1431         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
1432         expressions.
1433
1434 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
1435
1436         gitlog-to-changelog: new option --no-cluster
1437         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
1438         clustering of adjacent commit messages.
1439
1440 2012-01-17  Jim Meyering  <meyering@redhat.com>
1441
1442         maint: spell file systems with two words, not one
1443         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
1444         two words, not one.
1445
1446 2012-01-16  Jim Meyering  <meyering@redhat.com>
1447
1448         bootstrap: add a FIXME comment to ensure we eventually remove the hack
1449         * build-aux/bootstrap (gnulib_tool_options): Add comment.
1450
1451 2012-01-16  Eric Blake  <eblake@redhat.com>
1452
1453         bootstrap: cater to autoconf 2.59
1454         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
1455         is not available.
1456
1457         bootstrap: properly check for libtool
1458         * build-aux/bootstrap (libtoolize): Also run libtool when older
1459         usage is detected.
1460
1461 2012-01-15  Bruno Haible  <bruno@clisp.org>
1462
1463         Improve support for MSVC 9.
1464         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
1465         clashes on MSVC.
1466         * lib/fcntl.in.h: Likewise.
1467         * lib/stdlib.in.h: Likewise.
1468         * lib/sys_stat.in.h: Likewise.
1469
1470 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
1471
1472         gnupload: we hold the master copy of this script now
1473         For motivation and more information, see:
1474         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
1475         * build-aux/gnupload: Make it clear in the heading comments that the
1476         master copy of this file is maintained by gnulib.  Since we are at
1477         it, bump its copyright year and ...
1478         ($scriptversion): ... the date in its version.
1479         ($usage): Patches and bug reports should be sent to the gnulib list,
1480         not the automake one.
1481         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1482         anymore.
1483
1484 2012-01-15  Bruno Haible  <bruno@clisp.org>
1485
1486         Fix module 'random'.
1487         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1488         initstate, setstate are declared.
1489
1490 2012-01-14  Bruno Haible  <bruno@clisp.org>
1491
1492         Tests for module 'random'.
1493         * modules/random-tests: New file.
1494         * tests/test-random.c: New file, based on tests/test-random_r.c.
1495
1496         New module 'random'.
1497         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1498         declarations.
1499         * lib/random.c: New file, based on glibc/stdlib/random.c.
1500         * m4/random.m4: New file.
1501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1502         HAVE_RANDOM.
1503         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1504         * modules/random: New file.
1505         * config/srclist.txt: Add an entry for random.c.
1506         * doc/posix-functions/random.texi: Mention the 'random' module.
1507         * doc/posix-functions/initstate.texi: Likewise.
1508         * doc/posix-functions/setstate.texi: Likewise.
1509         * doc/posix-functions/srandom.texi: Likewise.
1510
1511 2012-01-12  Bruno Haible  <bruno@clisp.org>
1512
1513         random_r: Use common idioms.
1514         * lib/random_r.c: Include <stdlib.h> first.
1515
1516         random_r: Override incompatible API on AIX, OSF/1.
1517         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1518         Override the system function if REPLACE_RANDOM_R is 1.
1519         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1520         and OSF/1, set REPLACE_RANDOM_R.
1521         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1522         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1523         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1524         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1525         * doc/glibc-functions/random_r.texi: Likewise.
1526         * doc/glibc-functions/setstate_r.texi: Likewise.
1527
1528         random_r: Support for MSVC 9.
1529         * lib/random_r.c: Include stdint.h, not inttypes.h.
1530
1531 2012-01-12  Eric Blake  <eblake@redhat.com>
1532
1533         inet_ntop: guard extra work by IF_LINT
1534         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1535         better code generation when not checking for warnings.
1536         Suggested by Paul Eggert and Jim Meyering.
1537
1538         strptime: fix regression on mingw
1539         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1540         Fix regression.  Reported by Bruno Haible.
1541
1542 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1543             Bruno Haible  <bruno@clisp.org>
1544
1545         copy-file: add error-code-returning variant.
1546         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1547         (qcopy_file_preserving): New declaration.
1548         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1549         copy_file_preserving. Change return type to 'int'. Don't emit an error
1550         message here.
1551         (copy_file_preserving): New function.
1552         * tests/test-copy-file.c: Include <stdlib.h>.
1553         (main): Test qcopy_file_preserving if the environment variable
1554         NO_STDERR_OUTPUT is set.
1555         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1556         with NO_STDERR_OUTPUT
1557         * tests/test-copy-file-2.sh: Likewise.
1558
1559 2012-01-10  Bruno Haible  <bruno@clisp.org>
1560
1561         copy-file: Use 'quote' module consistently.
1562         * lib/copy-file.c (copy_file_preserving): Use quote().
1563
1564         copy-file: Refactor.
1565         * lib/copy-file.c: Include quote.h.
1566         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1567         message here.
1568         * modules/copy-file (Depends-on): Add quote.
1569
1570         acl: Export qcopy_acl.
1571         * lib/acl.h (qcopy_acl): New declaration.
1572         * lib/copy-acl.c (qcopy_acl): Make non-static.
1573
1574         acl: Rename a local variable.
1575         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1576
1577         acl: Align return values of copy_acl and qcopy_acl.
1578         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1579         maybe < -1.
1580
1581 2012-01-11  Eric Blake  <eblake@redhat.com>
1582
1583         strptime: silence gcc warnings
1584         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1585         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1586         Reported by Daniel P. Berrange.
1587
1588         inet_ntop: silence gcc warning
1589         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1590         Reported by Daniel P. Berrange.
1591
1592 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1593
1594         getloadavg test: skip the test on GNU/Linux without /proc mounted
1595         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1596         file.  When /proc is not mounted, it always fails with ENOENT.
1597         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1598         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1599
1600 2012-01-10  Bruno Haible  <bruno@clisp.org>
1601
1602         regex: Avoid link error on MSVC 9.
1603         * modules/regex (Depends-on): Add wctype.
1604
1605 2012-01-10  Bruno Haible  <bruno@clisp.org>
1606
1607         doc: Mention --with-tests option.
1608         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1609         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1610         --with-tests.
1611         Reported by Reuben Thomas.
1612
1613 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1614
1615         users.txt: order package names lexicographically.
1616         * users.txt: Order package names lexicographically.
1617
1618 2012-01-10  Jim Meyering  <meyering@redhat.com>
1619
1620         maint.mk: fix description in comment
1621         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1622
1623         ignore-value: remove deprecated ignore_ptr function
1624         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1625         * NEWS: Note this.
1626
1627 2012-01-09  Jim Meyering  <meyering@redhat.com>
1628
1629         test-init.sh: avoid a subshell
1630         * tests/test-init.sh: Remove protective subshell.
1631         Suggested by Bernhard Voelker.  While a subshell is normally
1632         required to protect against older shells (Solaris, FreeBSD) that
1633         warn about a missing program before performing redirection, the
1634         shell-selection tests performed by init.sh probably exclude any
1635         offending shell.
1636
1637 2012-01-08  Bruno Haible  <bruno@clisp.org>
1638
1639         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1640         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1641         variable.
1642
1643 2012-01-08  Bruno Haible  <bruno@clisp.org>
1644
1645         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1646         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1647         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1648         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1649         macro.
1650         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1651         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1652         * lib/spawn_faction_addopen.c: Add workaround implementation if
1653         HAVE_WORKING_POSIX_SPAWN.
1654         * modules/spawn (Makefile): Substitute
1655         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1656         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1657         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1658         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1659         (Depends-on): Update conditions.
1660         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1661         the Solaris 11 bug.
1662
1663 2012-01-08  Bruno Haible  <bruno@clisp.org>
1664
1665         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1666         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1667         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1668         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1669         macro.
1670         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1671         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1672         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1673         HAVE_WORKING_POSIX_SPAWN.
1674         * modules/spawn (Makefile): Substitute
1675         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1676         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1677         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1678         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1679         (Depends-on): Update conditions.
1680         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1681         the Solaris 11 bug.
1682
1683 2012-01-08  Bruno Haible  <bruno@clisp.org>
1684
1685         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1686         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1687         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1688         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1689         HAVE_WORKING_POSIX_SPAWN.
1690         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1691         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1692         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1693         * lib/spawn_faction_addclose.c: Add workaround implementation if
1694         HAVE_WORKING_POSIX_SPAWN.
1695         * modules/spawn (Makefile): Substitute
1696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1697         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1698         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1699         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1700         (Depends-on): Update conditions.
1701         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1702         the Solaris 11 bug.
1703
1704 2012-01-08  Bruno Haible  <bruno@clisp.org>
1705
1706         doc: Update for Solaris 11 2011-11.
1707         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1708         * m4/printf.m4: Update comments.
1709
1710 2012-01-08  Bruno Haible  <bruno@clisp.org>
1711
1712         mktime: Avoid compilation error on Solaris 11.
1713         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1714
1715 2012-01-08  Bruno Haible  <bruno@clisp.org>
1716
1717         doc: Small fix.
1718         * doc/posix-headers/nl_types.texi: Correct platforms list.
1719
1720 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1721
1722         Add lgpl-3.0 module.
1723         * MODULES.html.sh (Support for building documentation): Add
1724         lgpl-3.0.
1725         * modules/lgpl-3.0: New file.
1726
1727 2012-01-08  Jim Meyering  <meyering@redhat.com>
1728
1729         select.c: indent with spaces, not TABs
1730         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1731
1732 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1733
1734         quotearg: do not use grave accent for left quote
1735         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1736         locale_quoting_style.
1737         (quotearg_buffer_restyled): Fix example.
1738         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1739
1740 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1741
1742         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1743         Most programs do not have translation catalogs for English and much
1744         less separate catalogs for British and American English.  Drop the
1745         suggestion to translators about these two, and provide it
1746         automatically for Unicode locales.  Like most programs, even those
1747         using American English, we use single quotation marks.  This conflicts
1748         with the American typographic convention, but works better when you
1749         cite the entire error message within double quotes.  It also tries not
1750         to clash with established practice and with what non-gnulib programs
1751         will usually do.
1752         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1753         using an UTF-8 or GB-18030 locale.  The list of other locales with
1754         quotes was provided by Bruno Haible.
1755         (quotearg_buffer_restyled): Adjust instructions to translators.
1756         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1757         text, since this would be wrong when using Unicode.
1758         * modules/quotearg: Depend on c-strcaseeq.
1759
1760 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1761
1762         quotearg: fix Wikipedia link
1763         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1764
1765 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1766
1767         Fix for mingw with MSVC9.
1768         * m4/ld-version-script.m4: Check that compiler rejects version
1769         scripts with syntax errors.  Reported by Bruno Haible
1770         <bruno@clisp.org>.
1771
1772 2012-01-06  Bruno Haible  <bruno@clisp.org>
1773
1774         Talk about "native Windows API", not "Woe32".
1775         * lib/accept4.c: Update comments to mention native Windows.
1776         * lib/execute.c: Likewise.
1777         * lib/fatal-signal.c: Likewise.
1778         * lib/localcharset.c: Likewise.
1779         * lib/nanosleep.c: Likewise.
1780         * lib/nl_langinfo.c: Likewise.
1781         * lib/pclose.c: Likewise.
1782         * lib/pipe-filter-gi.c: Likewise.
1783         * lib/pipe-filter-ii.c: Likewise.
1784         * lib/pipe.c: Likewise.
1785         * lib/pipe2.c: Likewise.
1786         * lib/popen.c: Likewise.
1787         * lib/progreloc.c: Likewise.
1788         * lib/relocatable.c: Likewise.
1789         * lib/sigaction.c: Likewise.
1790         * lib/sigprocmask.c: Likewise.
1791         * lib/spawn-pipe.h: Likewise.
1792         * lib/spawn-pipe.c: Likewise.
1793         * lib/spawni.c: Likewise.
1794         * lib/stat-time.h: Likewise.
1795         * lib/w32spawn.h: Likewise.
1796         * tests/test-isatty.c: Likewise.
1797         * lib/config.charset: More comments.
1798         * doc/gnulib-intro.texi: Mention native Windows.
1799         * doc/posix-functions/_Exit_C99.texi: Likewise.
1800         * doc/posix-headers/fcntl.texi: Likewise.
1801
1802 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1803
1804         argp: Avoid crash if translator uses % characters in a translation.
1805         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1806         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1807
1808 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1809
1810         doc: C11 and C++11 are now official
1811         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1812         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1813         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1814         * modules/stdalign:
1815         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1816
1817 2012-01-06  Bruno Haible  <bruno@clisp.org>
1818
1819         uc-is-grapheme-break tests: Tweak.
1820         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1821         message.
1822
1823 2012-01-06  Bruno Haible  <bruno@clisp.org>
1824
1825         test-init.sh: correct the test for diff -u
1826         * tests/test-init.sh: Also redirect stdout to /dev/null.
1827
1828 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1829
1830         Use ', not `, for quoting output.
1831         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1832         (print_changelog_deltas, get_tool_versions, main program):
1833         * build-aux/git-version-gen:
1834         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1835         * build-aux/move-if-change (help):
1836         * build-aux/useless-if-before-free (usage, main program):
1837         * check-module (parse_module_file, usage)
1838         (find_included_lib_files, check_module):
1839         * lib/argmatch.c (main) [TEST]:
1840         * lib/argp-help.c (_help):
1841         * lib/getopt1.c (main) [TEST]:
1842         * lib/git-merge-changelog.c (usage):
1843         * lib/xstrtol-error.c (xstrtol_error):
1844         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1845         * m4/argz.m4 (gl_FUNC_ARGZ):
1846         * m4/bison.m4 (gl_BISON):
1847         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1848         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1849         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1850         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1851         * m4/gc-random.m4 (gl_GC_RANDOM):
1852         * m4/intl.m4 (gt_CHECK_DECL):
1853         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1854         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1855         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1856         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1857         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1858         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1859         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1860         * tests/test-dirname.c (main):
1861         * tests/test-getpass.c (main):
1862         * tests/test-iconvme.c (main):
1863         * tests/test-parse-datetime.c (LOG):
1864         * tests/test-xstrtoimax.sh:
1865         * tests/test-xstrtol.sh:
1866         * tests/test-xstrtoll.sh:
1867         * tests/test-xstrtoumax.sh:
1868         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1869         * top/GNUmakefile (abort-due-to-no-makefile):
1870         Quote 'like this', not `like this', as per the recent change to
1871         the GNU coding standards.
1872
1873 2012-01-05  Bruno Haible  <bruno@clisp.org>
1874
1875         strtoimax: Don't force a replacement on systems where intmax_t is int.
1876         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1877         'intmax_t' is not larger than 'int'.
1878         Reported by Pádraig Brady <P@draigBrady.com>.
1879
1880 2012-01-05  Bruno Haible  <bruno@clisp.org>
1881
1882         doc: Mention NetBSD bugs.
1883         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1884         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1885
1886 2012-01-05  Bruno Haible  <bruno@clisp.org>
1887
1888         strtoumax tests: Enhance tests.
1889         * tests/test-strtoumax.c (main): Add tests for large values.
1890
1891 2012-01-05  Bruno Haible  <bruno@clisp.org>
1892
1893         strtoimax: Work around AIX 5.1 bug.
1894         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1895         definition.
1896         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1897         Set HAVE_STRTOIMAX.
1898         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1899         REPLACE_STRTOIMAX.
1900         * modules/inttypes-incomplete (Makefile.am): Substitute
1901         REPLACE_STRTOIMAX.
1902         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1903         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1904         (Depends-on): Update conditions.
1905         * tests/test-strtoimax.c (main): Add tests for large values.
1906         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1907
1908 2012-01-05  Bruno Haible  <bruno@clisp.org>
1909
1910         inttypes: Modernize.
1911         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1912         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1913         (Makefile.am): Update inttypes.h rule.
1914
1915 2012-01-05  Jim Meyering  <meyering@redhat.com>
1916
1917         init.sh: don't waste a subshell just to redirect stderr
1918         * tests/init.sh: In testing for diff -u and diff -c, use a
1919         stderr-redirecting exec inside `...` rather than a subshell.
1920
1921         test-init.sh: avoid failure on HP-UX 11.00
1922         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1923         resolves to diff -c or cmp.  Reported by Bruno Haible.
1924
1925 2012-01-05  Bruno Haible  <bruno@clisp.org>
1926
1927         Tests for module 'strtoull'.
1928         * modules/strtoull-tests: New file.
1929         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1930
1931 2012-01-05  Bruno Haible  <bruno@clisp.org>
1932
1933         Tests for module 'strtoll'.
1934         * modules/strtoll-tests: New file.
1935         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1936
1937 2012-01-05  Bruno Haible  <bruno@clisp.org>
1938
1939         Tests for module 'strtoul'.
1940         * modules/strtoul-tests: New file.
1941         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1942
1943 2012-01-05  Bruno Haible  <bruno@clisp.org>
1944
1945         Tests for module 'strtol'.
1946         * modules/strtol-tests: New file.
1947         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1948
1949 2012-01-04  Jim Meyering  <meyering@redhat.com>
1950
1951         test-init.sh: accommodate Solaris 5.10's different diff -u output
1952         * tests/test-init.sh: Also exempt @@ lines from the comparison
1953         of diff output, since Solaris 5.10 and GNU diff formats differ.
1954         Reported by Stefano Lattarini.
1955
1956 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1957
1958         test-posixtm: don't assume signed integer wraparound
1959         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1960         after signed integer overflow.  Inspired by (though it may not
1961         fix) Bruno Haible's bug report in
1962         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1963
1964         Spell out "Windows 9x" and "Windows XP".
1965         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1966         "Windows 9x" and "WinXP" with "Windows XP".
1967
1968 2012-01-04  Jim Meyering  <meyering@redhat.com>
1969
1970         test-vc-list-files-cvs.sh: remove obsolete comment
1971         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1972         double exit.  Now that's all encapsulated via skip_ and Exit.
1973
1974 2012-01-04  Bruno Haible  <bruno@clisp.org>
1975
1976         Talk about "native Windows API", not "Win32".
1977         * lib/classpath.c: Update comments to mention native Windows.
1978         * lib/csharpexec.c: Likewise.
1979         * lib/dup2.c: Likewise.
1980         * lib/error.c: Likewise.
1981         * lib/fcntl.c: Likewise.
1982         * lib/filename.h: Likewise.
1983         * lib/findprog.c: Likewise.
1984         * lib/get-rusage-as.c: Likewise.
1985         * lib/get-rusage-data.c: Likewise.
1986         * lib/getpagesize.c: Likewise.
1987         * lib/javaexec.c: Likewise.
1988         * lib/msvc-inval.c: Likewise.
1989         * lib/msvc-nothrow.c: Likewise.
1990         * lib/nanosleep.c: Likewise.
1991         * lib/nonblocking.c: Likewise.
1992         * lib/printf-parse.c: Likewise.
1993         * lib/setlocale.c: Likewise.
1994         * lib/sigaction.c: Likewise.
1995         * lib/strerror_r.c: Likewise.
1996         * lib/tmpdir.c: Likewise.
1997         * lib/vasnprintf.c: Likewise.
1998         * lib/w32spawn.h: Likewise.
1999         * lib/waitpid.c: Likewise.
2000         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2001         * m4/locale-ar.m4: Likewise.
2002         * m4/locale-fr.m4: Likewise.
2003         * m4/locale-ja.m4: Likewise.
2004         * m4/locale-tr.m4: Likewise.
2005         * m4/locale-zh.m4: Likewise.
2006         * m4/printf.m4: Likewise.
2007         * tests/test-cloexec.c: Likewise.
2008         * tests/test-copy-acl.sh: Likewise.
2009         * tests/test-copy-file.sh: Likewise.
2010         * tests/test-file-has-acl.sh: Likewise.
2011         * tests/test-set-mode-acl.sh: Likewise.
2012         * tests/test-dup-safer.c: Likewise.
2013         * tests/test-dup2.c: Likewise.
2014         * tests/test-dup3.c: Likewise.
2015         * tests/test-fcntl.c: Likewise.
2016         * tests/test-nonblocking-pipe.h: Likewise.
2017         * tests/test-nonblocking-socket.h: Likewise.
2018         * tests/test-pipe.c: Likewise.
2019         * tests/test-pipe2.c: Likewise.
2020         * tests/test-spawn-pipe-child.c: Likewise.
2021         * doc/acl-resources.txt: Likewise.
2022         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2023         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2024         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2025         * lib/localcharset.c: Update comments to mention native Windows.
2026         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2027         * lib/localename.c: Likewise.
2028         * lib/progreloc.c: Likewise.
2029         * lib/relocatable.c: Likewise.
2030         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2031         (windows_compute_revents): Renamed from win32_compute_revents.
2032         (windows_compute_revents_socket): Renamed from
2033         win32_compute_revents_socket.
2034         * lib/select.c: Update comments to mention native Windows.
2035         (windows_poll_handle): Renamed from win32_poll_handle.
2036         * m4/threadlib.m4: Update comments to mention native Windows.
2037         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2038         --enable-threads=windows instead of --enable-threads=win32. Set
2039         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2040         * lib/glthread/lock.h: Update comments to mention native Windows.
2041         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2042         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2043         USE_WIN32_THREADS.
2044         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2045         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2046         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2047         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2048         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2049         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2050         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2051         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2052         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2053         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2054         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2055         * tests/test-tls.c: Likewise.
2056         Rationale:
2057         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2058         on both 32-bit and 64-bit Windows systems.
2059         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2060         line of distinction is between "native Windows" on one side and Unix/
2061         POSIX systems on the other side. More details in
2062         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2063         Suggested by Paul Eggert.
2064
2065 2012-01-03  Bruno Haible  <bruno@clisp.org>
2066
2067         isatty: Support for MSVC 9.
2068         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2069         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2070         (_isatty_nothrow): New function.
2071         (isatty): Use it instead of _isatty.
2072         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2073         * lib/poll.c (IsConsoleHandle): Likewise.
2074         * lib/select.c (IsConsoleHandle): Likewise.
2075         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2076         (gl_PREREQ_ISATTY): New macro.
2077         * modules/isatty (Depends-on): Add msvc-inval.
2078         (configure.ac): Invoke gl_PREREQ_ISATTY.
2079
2080 2012-01-03  Jim Meyering  <meyering@redhat.com>
2081
2082         maint.mk: remove temporary transition aid from over 1.5 years ago
2083         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2084         purpose was to aid in the transition (avoiding silent malfunction)
2085         from that old name to the new _sc_search_regexp.  This shim was
2086         added by commit 219c504b.
2087
2088         init.sh: do not try to accommodate compare arguments starting with "-"
2089         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2090         compare arguments that start with "-".  Besides, we do not worry
2091         about this when invoking diff or cmp; why start now with sed?
2092         Using "--" to separate options from argument would trigger sed
2093         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2094         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2095
2096 2012-01-02  Bruno Haible  <bruno@clisp.org>
2097
2098         Enhance tests for module 'isatty'.
2099         * modules/isatty-tests (Depends-on): Add pipe-posix.
2100         * tests/test-isatty.c: Include <fcntl.h>.
2101         (DEV_NULL): New macro.
2102         (main): Test the resut of isatty() also on regular files, pipes, and
2103         /dev/null.
2104
2105         New module 'isatty'.
2106         * lib/unistd.in.h (isatty): New declaration.
2107         * lib/isatty.c: New file, based on an idea of
2108         Bastien Roucariès <roucaries.bastien@gmail.com>.
2109         * m4/isatty.m4: New file.
2110         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2111         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2112         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2113         REPLACE_ISATTY.
2114         * modules/isatty: New file.
2115         * doc/posix-functions/isatty.texi: Mention the new module.
2116         Suggested by Paolo Bonzini.
2117
2118 2012-01-02  Bruno Haible  <bruno@clisp.org>
2119
2120         canonicalize: Tweak 2011-12-29 commit.
2121         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2122         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2123
2124 2012-01-02  Jim Meyering  <meyering@redhat.com>
2125
2126         gitlog-to-changelog: describe input syntax in --help output
2127         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2128
2129         gitlog-to-changelog: fix typo in --help: show backslash before email @
2130         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2131         in sources, but not in actual output.
2132
2133 2011-12-30  Jim Meyering  <meyering@redhat.com>
2134
2135         gitlog-to-changelog: don't malfunction when name contains %-directive
2136         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2137         in a name string cause trouble.  E.g., with a user name of "%s",
2138         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2139
2140 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2141
2142         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2143         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2144         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2145         the "  (tiny change)" notation that is appended to the standard
2146         ChangeLog "date  name  email" header line.
2147
2148 2012-01-01  Jim Meyering  <meyering@redhat.com>
2149
2150         test-framework-sh: init.sh: fix "make dist" failure
2151         When using gnulib-tool's --with-tests option and any module that
2152         depends on test-framework-sh, "make dist" would fail due to the
2153         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2154         in the gltests directory, and not in the gllib/ directory.
2155         One way to work around that is to move the EXTRA_DIST += init.sh
2156         from the primary module to the -tests one:
2157         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2158         * modules/test-framework-sh (Makefile.am): ...not here.
2159         Reported by Tom G. Christensen in
2160         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2161
2162         version-etc: update copyright year reported by --version
2163         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2164
2165 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2166
2167         canonicalize: only stat() if required
2168         * lib/canonicalize.c (canonicalize_filename_mode):
2169         Avoid calling l?stat() when both CAN_MISSING,
2170         and CAN_NOLINKS are set, as we neither need
2171         to resolve symlinks or test component existence.
2172
2173 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2174
2175         doc: cover st_ino issues once; add OpenVMS etc.
2176         * doc/posix-functions/stat.texi (stat):
2177         * doc/posix-functions/lstat.texi (lstat):
2178         * doc/posix-functions/fstatat.texi (fstatat):
2179         * doc/posix-functions/fstat.texi (fstat):
2180         Move general 'struct stat' stuff to sys_stat.texi,
2181         leaving behind a pointer.
2182         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2183         Merge duplicate info about 'struct stat' problems into here.
2184         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2185         and suggest partial workarounds.
2186
2187         same-inode: port to OpenVMS
2188         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
2189         three st_ino values.
2190
2191 2011-12-30  Pádraig Brady  <P@draigBrady.com>
2192
2193         canonicalize: fix references to stat() and lstat()
2194         * lib/canonicalize.c (canonicalize_filename_mode):
2195         Ensure references always resolve to a replacement
2196         function if required (even via a macro).
2197
2198 2011-12-30  Jim Meyering  <meyering@redhat.com>
2199
2200         gitlog-to-changelog: remove a little duplication
2201         * build-aux/gitlog-to-changelog (main): Grep @lines once,
2202         rather than twice.
2203
2204 2011-12-29  Pádraig Brady  <P@draigBrady.com>
2205
2206         canonicalize: add support for not resolving symlinks
2207         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
2208         indicate we don't want to follow symlinks.  Also
2209         provide CAN_MODE_MASK to aid setting these existing
2210         mutually exclusive values.
2211         * lib/canonicalize.c (canonicalize_filename_mode):
2212         Extract the flags from can_mode parameter, which
2213         are currently just used to select between stat()
2214         and lstat().  Also ensure that mutually exclusive
2215         values are flagged immediately as invalid.
2216         * tests/test-canonicalize.c: Verify symlinks are
2217         not followed, and that invalid flag combinations
2218         are diagnosed.
2219
2220 2011-12-25  Jim Meyering  <meyering@redhat.com>
2221
2222         gitlog-to-changelog: do not clump multi-paragraph entries
2223         Identical header lines (date,name,email+coauthors) are suppressed,
2224         thus putting all entries with those same characteristics under
2225         a single header.  However, when a log entry consists of two or
2226         more paragraphs, it may not be clear where it starts and ends.
2227         This change makes it so that such an entry is always separated
2228         from others by a header line, even when that header would
2229         otherwise be suppressed.
2230         * build-aux/gitlog-to-changelog: Implement the above.
2231         Inspired by a related request from Stefano Lattarini in
2232         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2233
2234 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2235
2236         announce-gen: fix `cmd' typo in diagnostic
2237         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
2238         diagnostic: a missing '$' meant that the command was not output.
2239
2240 2011-12-23  Jim Meyering  <meyering@redhat.com>
2241
2242         test-framework-sh: distribute init.sh
2243         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
2244         Otherwise, "make -C gnulib-tests check" (at least in grep) would
2245         fail due to the lack of init.sh.
2246
2247         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
2248         * modules/atexit-tests: Rather than listing tests/init.sh,
2249         now that there's a module for it, simply depend on that new module.
2250         * modules/closein-tests: Likewise.
2251         * modules/exclude-tests: Likewise.
2252         * modules/getcwd-tests: Likewise.
2253         * modules/perror-tests: Likewise.
2254         * modules/pread-tests: Likewise.
2255         * modules/pwrite-tests: Likewise.
2256         * modules/vc-list-files-tests: Likewise.
2257         * modules/verify-tests: Likewise.
2258         * modules/xalloc-die-tests: Likewise.
2259         * modules/xstrtoimax-tests: Likewise.
2260         * modules/xstrtol-tests: Likewise.
2261         * modules/xstrtoll-tests: Likewise.
2262         * modules/xstrtoumax-tests: Likewise.
2263         * modules/yesno-tests: Likewise.
2264
2265 2011-12-22  Jim Meyering  <meyering@redhat.com>
2266
2267         test-framework-sh: add minimal tests of init.sh's compare function
2268         * modules/test-framework-sh-tests: New file.
2269         * tests/test-init.sh: New file.
2270
2271         test-framework-sh: new module
2272         * modules/test-framework-sh: New file.
2273         * MODULES.html.sh (Support for maintaining and releasing projects):
2274         List it.
2275
2276         init.sh: do not emit simulated diff output to stderr
2277         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2278
2279 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2280
2281         .gitignore: ignore gnulib.dvi and regex.info
2282         * doc/.gitignore:add gnulib.dvi and regex.info
2283
2284 2011-12-22  Jim Meyering  <meyering@redhat.com>
2285
2286         init.sh: correct previous change
2287         * tests/init.sh (compare): My previous change was wrong.
2288         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
2289
2290         init.sh: avoid unwarranted test failure when using "set -e"
2291         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
2292         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
2293         a use like "compare exp out" would get evoke an unconditional failure.
2294
2295 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
2296
2297         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
2298         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
2299         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
2300         autoreconf that did not.
2301         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
2302         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2303
2304 2011-12-17  Jim Meyering  <meyering@redhat.com>
2305
2306         bootstrap: remove some now-unneeded code
2307         This script arose back when gnulib-tool was young.
2308         Since then, it has seen improvements that render much of this
2309         script unnecessary.  In particular, it can now make symlinks
2310         to the files it uses.  Also, I no longer see as much value in
2311         marking files as read-only via comments.
2312         If you relied on the symlink-creation feature of the preceding
2313         version of this script, you can get most of that functionality
2314         by adding the --symlink option to the definition of
2315         gnulib_tool_option_extras in your bootstrap.conf file.
2316         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2317         Run autopoint and libtoolize *before* gnulib-tool.
2318         After it, run an abbreviated autoreconf, rather than a loop around
2319         all tools.
2320         (slirp, bt_mark_as_generated): Remove functions.
2321
2322 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2323
2324         ftoastr: fix typo
2325         * lib/ftoastr.h: Fix misspelling in comment.
2326
2327 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2328
2329         * top/README-release: fix punctuation.
2330
2331 2011-12-17  Jim Meyering  <meyering@redhat.com>
2332
2333         bootstrap: correct the recent buildreq change
2334         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2335         had no effect.
2336         * build-aux/bootstrap (buildreq): Bracket each search term with
2337         "*...*", so that the shell "case" statement works as intended.
2338         Add comments.
2339
2340 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2341
2342         build: let bootstrap resort to wget when downloading .po files
2343         * build-aux/bootstrap (download_po_files): Fallback to wget when
2344         downloading the .po files via rsync fails.  This is necessary to
2345         bootstrap from behind a strict firewall.
2346
2347 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2348
2349         stdint: don't assume C++11 when compiling with g++
2350         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2352         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2353         work also in C++ before C++11, as that improperly inhibits
2354         generating a substitute stdint.h for that case.
2355
2356 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2357
2358         alloca: protect comment from gnulib-tool
2359         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
2360         that gnulib-tool doesn't think it's a license, and munge it to
2361         say "GCC version 3".
2362
2363 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
2364
2365         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
2366         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
2367         $(abs_top_builddir) instead of $(top_builddir).
2368
2369 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
2370
2371         strftime-tests: also test nanoseconds
2372         * tests/test-strftime.c (T): Add a test of %N.
2373
2374 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2375
2376         inttypes, stdint: add C++11 support
2377         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2378         when including inttypes.h and stdint.h.  Support this change to
2379         the standard.
2380         * doc/posix-headers/inttypes.texi (inttypes.h):
2381         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2382         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2383         Define if not defined already, for the benefit of pre-C++11 hosts.
2384         Define the standard format macros (e.g., PRId8) always.
2385         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2386         Likewise, if __cpluspus.  Define the standard constant and limit
2387         macros (e.g., INT8_C, INT8_MAX) always.
2388         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2389         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2390         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2391         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2392         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2393         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2394         Likewise.
2395
2396 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2397
2398         nonblocking tests: Fix test failure on Linux/PPC.
2399         Suggested by Prerna Saxena in
2400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2401         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2402         Set to 1100000.
2403
2404 2011-12-12  Jim Meyering  <meyering@redhat.com>
2405
2406         argmatch: don't hard-code `' when listing valid option arguments
2407         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2408         use the quote function to add quotes.  Use fputs rather than
2409         fprintf for the format string with no format directive.
2410
2411 2011-12-07  Eric Blake  <eblake@redhat.com>
2412
2413         bootstrap: detect tools required by gnulib-tool
2414         * build-aux/bootstrap (buildreq): Provide minimum implicit
2415         dependencies.
2416         * DEPENDENCIES: Mention patch as a prereq.
2417
2418 2011-12-04  Bruno Haible  <bruno@clisp.org>
2419
2420         sethostname: Port to Windows platforms.
2421         * lib/sethostname.c: Provide an alternate implementation for Windows
2422         platforms.
2423         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
2424         (main): Skip the test if sethostname() fails with EPERM. On Windows
2425         platforms, don't check the result of gethostname().
2426
2427 2011-12-04  Bruno Haible  <bruno@clisp.org>
2428             Jim Meyering  <meyering@redhat.com>
2429
2430         tests: Avoid spurious error message on platforms without mktemp program.
2431         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
2432
2433 2011-12-04  Bruno Haible  <bruno@clisp.org>
2434
2435         sethostname: Fix documentation.
2436         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
2437         "not fixed" section.
2438
2439 2011-12-03  Bruno Haible  <bruno@clisp.org>
2440
2441         gnulib-tool: Verify that the License field is present and non-empty.
2442         * gnulib-tool (func_get_license_raw): New function, extracted from
2443         func_get_license.
2444         (func_get_license): Use it. Warn if the module is not a test module and
2445         has no license.
2446         Suggested by Jim Meyering.
2447
2448 2011-12-03  Bruno Haible  <bruno@clisp.org>
2449
2450         sethostname tests: Fix link error on mingw.
2451         * tests/test-sethostname1.c: New file, extracted from
2452         tests/test-sethostname.c.
2453         * tests/test-sethostname2.c: New file, extracted from
2454         tests/test-sethostname.c.
2455         * tests/test-sethostname.c: Remove file.
2456         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
2457         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
2458         (Depends-on): Add gethostname.
2459         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
2460         Link the latter with $(GETHOSTNAME_LIB).
2461
2462         sethostname tests: Fix compilation error on mingw.
2463         * tests/test-sethostname.c: Don't include <sys/types.h>.
2464         (geteuid): Use a dummy value without uid_t.
2465         * modules/sethostname-tests (Depends-on): Remove sys_types.
2466
2467         sethostname tests: Avoid a gcc warning.
2468         * tests/test-sethostname.c (main): Remove an unused variable.
2469
2470         Tweak last commit.
2471         * modules/sethostname-tests (Files): Sort by decreasing importance.
2472         (configure.ac): Check for geteuid.
2473         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
2474         the test when there's nothing to test. Drop an unnecessary cast.
2475         Improve an error message. Verify that the final sethostname() call
2476         succeeds.
2477
2478 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2479
2480         Add a test suite for the sethostname module.
2481         * modules/sethostname-tests: New file.  A test program
2482         for the sethostname module.
2483         * tests/test-sethostname.c: Likewise.
2484
2485 2011-12-03  Bruno Haible  <bruno@clisp.org>
2486
2487         Tweak last commit.
2488         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2489         Fix preprocessor directives indentation. Fix typos.
2490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2491         * modules/unistd (Makefile): Likewise.
2492
2493 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2494
2495         Integrate the sethostname module into unistd.
2496         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2497         into the unistd.h header.
2498         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2499         preprocessor directives.
2500         * modules/unistd: Setup the Makefile substitutions of the
2501         SETHOSTNAME preprocessor directives.
2502
2503 2011-12-03  Bruno Haible  <bruno@clisp.org>
2504
2505         Tweak last commit.
2506         * lib/sethostname.c: Don't include <string.h>.
2507         (sethostname): No need to copy the argument string to the stack. Don't
2508         call clearerr. Preserve errno when fprintf failed.
2509         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2510         Don't invoke AC_REPLACE_FUNCS.
2511         * modules/sethostname (Link): Remove empty section.
2512         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2513         failure problem.
2514
2515 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2516
2517         New module 'sethostname'.
2518         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2519         for systems that lack it.
2520         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2521         sethostname declaration and function.
2522         * modules/sethostname: New file.  Define the sethostname module.
2523
2524 2011-12-03  Bruno Haible  <bruno@clisp.org>
2525
2526         Tweak last commit.
2527         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2528
2529 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2530
2531         Split the HOST_NAME_MAX detection into a separate m4 macro.
2532         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2533         macro so it can be used by the pending sethostname module.
2534
2535 2011-12-03  Bruno Haible  <bruno@clisp.org>
2536
2537         Fix module descriptions syntax.
2538         * modules/argv-iter (License): Fix syntax.
2539         * modules/di-set (License): Likewise.
2540         * modules/ino-map (License): Likewise.
2541         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2542
2543 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2544
2545         stdalign: port to Clang 3.0
2546         Problem reported by Simon Josefsson in
2547         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2548         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2549         which has <stdalign.h> but which does not define alignof.
2550         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2551
2552 2011-12-01  Eric Blake  <eblake@redhat.com>
2553
2554         mktempd: silence dd usage
2555         * build-aux/mktempd (rand_bytes): Silence dd.
2556
2557 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2558
2559         manywarnings: Don't mention gcc version in docstring.
2560         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2561         Jim Meyering <meyering@redhat.com>.
2562
2563 2011-11-30  Jim Meyering  <meyering@redhat.com>
2564
2565         hash: mark a few floating point constants with "f" suffix
2566         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2567         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2568         floating point constants with "f", since they're destined to be
2569         saved/used as "float"s.
2570
2571 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2572
2573         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2574         * tests/test-float.c (test_long_double): Correct and re-enable the
2575         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2576
2577 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2578
2579         Avoid subtracting two pointers that don't point into the same block.
2580         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2581         only pointers into the same memory block are subtracted. We cannot
2582         assume that sizeof (ptrdiff_t) == sizeof (void *).
2583
2584 2011-11-29  Eric Blake  <eblake@redhat.com>
2585
2586         maint.mk: add syntax check for use of compare from init.sh
2587         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2588         moved here from coreutils.
2589
2590         manywarnings: drop -Wunsuffixed-float-constants
2591         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2592         '1.0D', which is the only way to silence this warning for 'double'.
2593
2594 2011-11-29  Jim Meyering  <meyering@redhat.com>
2595
2596         hash: mark compute_bucket_size with the pure attribute
2597         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2598
2599         quotearg, propername: correct pragma guard expression
2600         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2601         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2602
2603 2011-11-28  Jim Meyering  <meyering@redhat.com>
2604
2605         propername: do not mark proper_name with the const attribute
2606         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2607         since it examines data pointed to by its parameter.
2608         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2609         the suggestion from -Wsuggest-attribute=const.
2610
2611         propername: mark one more function as const
2612         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2613
2614 2011-11-27  Jim Meyering  <meyering@redhat.com>
2615
2616         mark functions with const and pure attributes
2617
2618         Mark functions per suggestions from gcc-4.6 when using these options:
2619         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2620         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2621         Follow these guidelines: when possible, apply the attribute to
2622         an extern declaration, not to its definition.  Apply it to the
2623         definition only when the definition is static.
2624         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2625         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2626         * lib/base64.h (isbase64): Likewise.
2627         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2628         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2629         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2630         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2631         (c_tolower, c_toupper): Likewise.
2632         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2633         * lib/chdir-long.c (find_non_slash): Likewise.
2634         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2635         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2636         * lib/file-type.h (file_type): Likewise.
2637         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2638         * lib/filevercmp.c (verrevcmp): Likewise.
2639         * lib/freadahead.h (freadahead): Likewise.
2640         * lib/fts.c (fts_maxarglen): Likewise.
2641         * lib/hash-pjw.h (hash_pjw): Likewise.
2642         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2643         * lib/hash.c (is_prime, next_prime): Likewise.
2644         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2645         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2646         (hash_table_ok, hash_get_first, hash_string): Likewise.
2647         (compute_bucket_size): Likewise.
2648         * lib/i-ring.h (i_ring_empty): Likewise.
2649         * lib/isnan.c (isnanl): Likewise.
2650         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2651         * lib/memcasecmp.h (memcasecmp): Likewise.
2652         * lib/memchr2.h (memchr2): Likewise.
2653         * lib/memcmp2.h (memcmp2): Likewise.
2654         * lib/parse-datetime.y (lookup_zone): Likewise.
2655         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2656         [!WINDOWS_SOCKETS]: Likewise.
2657         * lib/strnlen1.h (strnlen1): Likewise.
2658         * lib/uniwidth.in.h (uc_width): Likewise.
2659         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2660         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2661         (quoting_options_from_style): Add a comment.
2662         * lib/propername.h (proper_name): Add a comment.
2663
2664 2011-11-27  Bruno Haible  <bruno@clisp.org>
2665
2666         Remove unused macros from !_LIBC code in glibc-borrowed files.
2667         * lib/fnmatch.c (STRCOLL): Remove macro.
2668         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2669         * lib/glob.c (__stat, __readdir64): Remove macros.
2670         * lib/tempname.c (__open64, __xstat64): Remove macros.
2671         Suggested by Paul Eggert.
2672
2673 2011-11-27  Bruno Haible  <bruno@clisp.org>
2674
2675         getcwd: Fix link error on MSVC 9.
2676         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2677
2678 2011-11-27  Bruno Haible  <bruno@clisp.org>
2679
2680         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2681         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2682         HAVE_OPENDIR is 0.
2683         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2684         HAVE_CLOSEDIR is 0.
2685         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2686         is 0.
2687         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2688
2689 2011-11-27  Bruno Haible  <bruno@clisp.org>
2690
2691         getcwd: Fix bug from 2011-08-17.
2692         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2693         platforms that need it.
2694         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2695         code of 4 to be a failure, not a success. This ensures that
2696         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2697
2698 2011-11-27  Bruno Haible  <bruno@clisp.org>
2699
2700         binary-io tests: Avoid test failure on mingw when libtool is used.
2701         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2702         Don't verify the size of t-bin-out1.tmp here.
2703         * tests/test-binary-io.sh: Verify it here.
2704         Reported by Simon Josefsson.
2705
2706 2011-11-26  Bruno Haible  <bruno@clisp.org>
2707
2708         Fix conflict between two instantiations of module 'unistd'.
2709         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2710         ${include_guard_prefix} also in the autoconf snippet.
2711         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2713         GNULIB_UNISTD_H_GETOPT.
2714         * modules/getopt-posix (configure.ac): Set the
2715         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2716         * modules/getopt-gnu (configure.ac): Likewise.
2717         * modules/unistd (Makefile.am): Change the substitution value of
2718         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2719         Reported by Simon Josefsson.
2720
2721 2011-11-25  Bruno Haible  <bruno@clisp.org>
2722
2723         pagealign_alloc: Doc and comments.
2724         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2725         module.
2726         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2727
2728 2011-11-25  Jim Meyering  <meyering@redhat.com>
2729
2730         test-update-copyright.sh: avoid false-positive failure
2731         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2732         around false positive failure on Cygwin/Windows.  The latter was
2733         matching erroneously-created files with names like
2734         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2735
2736 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2737
2738         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2739         * m4/valgrind-tests.m4: Check that the parameters that will be
2740         used works, not just a subset of them.  Reported by Bruno Haible
2741         <bruno@clisp.org>.
2742
2743 2011-11-24  Jim Meyering  <meyering@redhat.com>
2744
2745         test-stdalign.c: comment out long double tests
2746         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2747         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2748         error: '_Alignas' specifiers cannot reduce alignment of \
2749         'static_longdouble_alignas'.
2750
2751 2011-11-22  Jim Meyering  <meyering@redhat.com>
2752
2753         init.sh: make "compare /dev/null FILE" output more readable
2754         * tests/init.sh (compare_): Document the preferred order of arguments.
2755         (emit_diff_u_header_): New function.
2756         (compare_dev_null_): Emit a simulated diff, rather than just the
2757         contents of the unexpected file.  Suggestion from Bruno Haible.
2758
2759 2011-11-21  Jim Meyering  <meyering@redhat.com>
2760             Eric Blake  <eblake@redhat.com>
2761
2762         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2763         * tests/init.sh: Make our compare function slightly more portable.
2764         Reported by Bruno Haible in
2765         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2766
2767 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2768
2769         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2770         before using it, in code that ends up in config.h.
2771
2772 2011-11-20  Bruno Haible  <bruno@clisp.org>
2773
2774         getcwd: Work around getcwd bug on AIX 5..7.
2775         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2776         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2777         Use a different value for gl_cv_func_getcwd_path_max. Move the
2778         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2779         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2780         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2781         Define HAVE_MINIMALLY_WORKING_GETCWD.
2782         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2783         where it is not even minimally working, that is, on AIX.
2784         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2785         m4/getcwd-path-max.m4.
2786         (main): Update exit code computation.
2787         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2788         getcwd does not handle long file names.
2789
2790 2011-11-20  Bruno Haible  <bruno@clisp.org>
2791
2792         getcwd: Fix bug from 2009-09-10.
2793         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2794         like "no".
2795
2796 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2797
2798         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2799
2800 2011-11-20  Bruno Haible  <bruno@clisp.org>
2801
2802         fma tests: Avoid shadowing local variables.
2803         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2804         expected.
2805
2806 2011-11-20  Bruno Haible  <bruno@clisp.org>
2807
2808         copysignf tests: Fix.
2809         * tests/test-copysignf.c: Fix signature check.
2810
2811 2011-11-20  Bruno Haible  <bruno@clisp.org>
2812
2813         fma: Remove unused code.
2814         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2815         unused macros.
2816
2817 2011-11-20  Bruno Haible  <bruno@clisp.org>
2818
2819         sethostname: Fix doc about AIX.
2820         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2821         sethostname; it has it.
2822
2823         sethostname: Mention more portability problems.
2824         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2825         problem.
2826         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2827
2828 2011-11-19  Bruno Haible  <bruno@clisp.org>
2829
2830         Depend on module fcntl-h when AT_FDCWD is used.
2831         * modules/utimens (Depends-on): Add fcntl-h.
2832         * modules/areadlinkat (Depends-on): Likewise.
2833         * modules/areadlinkat-with-size (Depends-on): Likewise.
2834         * modules/faccessat (Depends-on): Likewise.
2835         * modules/fchmodat (Depends-on): Likewise.
2836         * modules/fchownat (Depends-on): Likewise.
2837         * modules/getcwd (Depends-on): Likewise.
2838         * modules/mkdirat (Depends-on): Likewise.
2839         * modules/mkfifoat (Depends-on): Likewise.
2840         * modules/readlinkat (Depends-on): Likewise.
2841         * modules/symlinkat (Depends-on): Likewise.
2842         * modules/dup2-tests (Depends-on): Likewise.
2843         * modules/fdutimensat-tests (Depends-on): Likewise.
2844         * modules/futimens-tests (Depends-on): Likewise.
2845
2846 2011-11-19  Bruno Haible  <bruno@clisp.org>
2847
2848         euidaccess: Update a comment.
2849         * lib/euidaccess.c: Update comment about platforms with faccessat.
2850
2851 2011-11-19  Bruno Haible  <bruno@clisp.org>
2852
2853         openat: Fix file list.
2854         * modules/openat (Files): Remove lib/at-func.c.
2855
2856 2011-11-19  Bruno Haible  <bruno@clisp.org>
2857
2858         fstatat: Simplify.
2859         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2860         gnulib should define rpl_fstatat, there is a
2861         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2862
2863 2011-11-19  Bruno Haible  <bruno@clisp.org>
2864
2865         Ensure 'inline' can be used in tests/test-utimens-common.h.
2866         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2867         * modules/futimens-tests (configure.ac): Likewise.
2868         * modules/utimens-tests (configure.ac): Likewise.
2869         * modules/utimensat-tests (configure.ac): Likewise.
2870
2871 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2872
2873         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2874         not hash_insert0.
2875         (hash_insert_if_absent): Doc fix.
2876
2877 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2878
2879         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2880
2881 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2882
2883         test-getcwd: disambiguate exit status
2884         * tests/test-getcwd.c (test_long_name): Return 0..7.
2885         (main): Exit with an unambiguous exit status.  The old
2886         code yielded a mysterious mixture of two failure codes.
2887
2888         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2889         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2890         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2891         rpl_fstatat or fstatat.  This should fix the other problem
2892         reported by Kai Habel in
2893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2894         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2896         and I reproduced it on a Solaris 8 host we still have in production.
2897
2898 2011-11-18  Jim Meyering  <meyering@redhat.com>
2899
2900         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2901         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2902         Add a sentence to the comment.
2903         (hash_insert0): New function that simply calls hash_insert_if_absent.
2904         * lib/hash.h (hash_insert_if_absent): Declare it.
2905         (hash_insert0): Add deprecation attribute.
2906         (_GL_ATTRIBUTE_DEPRECATED): Define.
2907         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2908         not hash_insert0.
2909         * NEWS: Mention it, even though it's not really an incompatible change.
2910
2911 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2912
2913         openat: avoid compilation failure due to lack of <errno.h> inclusion
2914         * lib/openat.c: Include <errno.h>.
2915
2916 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2917
2918         * modules/getcwd (Depends-on): Add fdopendir.
2919         This fixes one of the two problems reported by Kai Habel in
2920         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2921
2922         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2923         stdalign problem reported by Ian Beckwith in
2924         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2925         * modules/crypto/gc-arcfour (Depends-on):
2926         Depend conditionally on crypto/arcfour.
2927         * modules/crypto/gc-arctwo (Depends-on):
2928         Depend conditionally on crypto/arctwo.
2929         * modules/crypto/gc-des (Depends-on):
2930         Depend conditionally on crypto/des.
2931         * modules/crypto/gc-hmac-md5 (Depends-on):
2932         Depend conditionally on crypto/hmac-md5.
2933         * modules/crypto/gc-hmac-sha1 (Depends-on):
2934         Depend conditionally on crypto/hmac-sha1.
2935         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2936         * modules/crypto/gc-md4 (Depends-on):
2937         Depend conditionally on crypto/md4.
2938         * modules/crypto/gc-md5 (Depends-on):
2939         Depend conditionally on crypto/md5.
2940         * modules/crypto/gc-rijndael (Depends-on):
2941         Depend conditionally on crypto/rijndael.
2942         * modules/crypto/gc-sha1 (Depends-on):
2943         Depend conditionally on crypto/sha1.
2944         * modules/crypto/gc-arcfour:
2945         * modules/crypto/gc-arctwo:
2946         * modules/crypto/gc-des:
2947         * modules/crypto/gc-hmac-md5:
2948         * modules/crypto/gc-hmac-sha1:
2949         * modules/crypto/gc-md2:
2950         * modules/crypto/gc-md4:
2951         * modules/crypto/gc-md5:
2952         * modules/crypto/gc-rijndael:
2953         * modules/crypto/gc-sha1:
2954         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2955         now that the conditional dependencies do the work for us.
2956
2957 2011-11-17  Jim Meyering  <meyering@redhat.com>
2958
2959         tests: factor st_ctime-comparison out of two headers
2960         * tests/test-utimens-common.h (ctime_compare): Define.
2961         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2962         * tests/test-lutimens.h (test_lutimens): Likewise.
2963         * tests/test-utimens.h (test_utimens): Likewise.
2964
2965         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2966         Invoke the test program via an init.sh-using wrapper.
2967         * tests/test-getcwd.sh: New file.
2968         * modules/getcwd-tests (Files): Add it.
2969         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2970
2971 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2972
2973         gitlog-to-changelog: support multi-author commits.
2974         The FSF cares about keeping track of all authors of patches to its
2975         projects, but Git doesn't provide obvious support for multi-author
2976         changesets. Consensus seems to be forming around the use of extra
2977         Signed-off-by inspired lines in the log message formatted as
2978         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2979         multi-author commits between version control systems.
2980         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2981         log message and output in standard ChangeLog multi-author format.
2982         Reported by Peter Rosin <peda@lysator.liu.se>
2983
2984 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2985             Bruno Haible  <bruno@clisp.org>
2986
2987         Fix some modules' file list.
2988         * modules/fstatat (Files): Add m4/lstat.m4.
2989         * modules/openat (Files): Likewise.
2990         * modules/unlinkat (Files): Likewise.
2991
2992 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2993
2994         maint.mk: fix tight-scope.mk generation in VPATH builds.
2995         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2996         reference with $(srcdir) so that the file is found correctly even
2997         when running `make syntax-check' in a VPATH build.
2998
2999 2011-11-13  Bruno Haible  <bruno@clisp.org>
3000             Jim Meyering  <meyering@redhat.com>
3001
3002         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3003         * tests/init.sh (compare): Remove "No differences encountered" or
3004         synonymous output from the 'diff' program.
3005
3006 2011-11-13  Bruno Haible  <bruno@clisp.org>
3007
3008         Makefile: Tweak indentation.
3009         * Makefile: Use tab as first character in every line that contains rule
3010         commands.
3011
3012 2011-11-13  Bruno Haible  <bruno@clisp.org>
3013
3014         Syntax check for copyright statements.
3015         * check-copyright: New file.
3016         * Makefile (sc_check_copyright): New rule.
3017
3018 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3019
3020         * build-aux/git-version-gen: Add --prefix to configure the tag
3021         match string.
3022
3023 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3024
3025         * build-aux/git-version-gen: Add --help and --version.
3026
3027 2011-11-12  Jim Meyering  <meyering@redhat.com>
3028
3029         revamp the other test-exclude?.sh scripts to use init.sh, too
3030         * tests/test-exclude1.sh: Use init.sh.
3031         * tests/test-exclude2.sh: Likewise.
3032         * tests/test-exclude3.sh: Likewise.
3033         * tests/test-exclude4.sh: Likewise.
3034         * tests/test-exclude5.sh: Likewise.
3035         * tests/test-exclude6.sh: Likewise.
3036         * tests/test-exclude7.sh: Likewise.
3037         * tests/test-exclude8.sh: Likewise.
3038         * modules/exclude-tests (Files): List init.sh.
3039
3040         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3041         These shell scripts ignored failure of the binary test-exclude,
3042         so making the latter return 77 didn't cause them to be skipped.
3043         * tests/test-exclude5.sh: Exit with test-exclude's error status
3044         when that program fails.  Revamp to use init.sh.
3045         * tests/test-exclude2.sh: Likewise.
3046
3047         test-exclude: fix a typo
3048         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3049
3050 2011-11-11  Bruno Haible  <bruno@clisp.org>
3051
3052         obstack: Fix compilation error on MSVC 9.
3053         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3054
3055 2011-11-11  Jim Meyering  <meyering@redhat.com>
3056
3057         test-exclude: skip tests rather than failing on deficient systems
3058         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3059         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3060         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3061         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3062
3063 2011-11-10  Bruno Haible  <bruno@clisp.org>
3064
3065         ptsname_r test: Avoid gcc warning on glibc systems.
3066         * tests/test-ptsname_r.c (null_ptr): New function.
3067         (test_errors): Use it.
3068
3069 2011-11-10  Bruno Haible  <bruno@clisp.org>
3070
3071         ptsname_r: Avoid compilation error on OSF/1 5.1.
3072         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3074         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3075         function is not declared or incompatibly declared.
3076         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3077         * modules/ptsname_r (Depends-on, configure.ac): Update.
3078         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3079
3080 2011-11-10  Bruno Haible  <bruno@clisp.org>
3081
3082         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3083         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3084         When cross-compiling, guess yes on all platforms except AIX.
3085         Reported by Ludovic Courtès <ludo@gnu.org>.
3086
3087 2011-11-09  Bruno Haible  <bruno@clisp.org>
3088
3089         ptsname_r tests: Fix bugs.
3090         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3091         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3092
3093 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3094
3095         fstatat: work with cross-compilation
3096         Problem reported by Ludovic Courtès in
3097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3098         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3099         "cross-compiling" and assume the bug is present.  Replace
3100         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3101         an inverted sense, to be more conservative about our assumptions.
3102         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3103
3104 2011-11-09  Bruno Haible  <bruno@clisp.org>
3105
3106         Improve MODULES.html output.
3107         * modules/mkfifoat (Description): Use the word "function".
3108         * modules/readlinkat (Description): Likewise.
3109         * modules/symlinkat (Description): Likewise.
3110
3111 2011-11-09  Eric Blake  <eblake@redhat.com>
3112
3113         ptsname_r-tests: new test module
3114         * modules/ptsname_r-tests: New module.
3115         * tests/test-ptsname_r.c: New file.
3116
3117         ptsname_r: new module
3118         * modules/ptsname_r: New module.
3119         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3120         * lib/ptsname.c (__ptsname_r): Split...
3121         * lib/ptsname_r.c: ...into new file.
3122         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3123         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3124         * modules/stdlib (Makefile.am): Substitute witnesses.
3125         * lib/stdlib.in.h (ptsname_r): Declare it.
3126         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3127         * MODULES.html.sh (Misc): Likewise.
3128         * modules/ptsname (Depends-on): Alter dependency.
3129         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3130
3131 2011-11-09  Jim Meyering  <meyering@redhat.com>
3132
3133         announce-gen: be more concise when there's only one URL+tarball
3134         * build-aux/announce-gen (get_tool_versions): When you distribute
3135         only one type of tarball, combine the first two "Here are..."
3136         sections and make the key-checking grammar independent of
3137         how many tarballs there are.
3138
3139 2011-11-09  Eric Blake  <eblake@redhat.com>
3140
3141         openpty: provide a stub on mingw
3142         * lib/pty.in.h (includes): Provide forward declarations.
3143         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3144
3145         raise: fix mingw handling of SIGPIPE
3146         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3147
3148 2011-11-08  Bruno Haible  <bruno@clisp.org>
3149
3150         More conditional dependencies.
3151         * modules/faccessat (Depends-on): Add conditions.
3152         * modules/fchmodat (Depends-on): Likewise.
3153         * modules/fchownat (Depends-on): Likewise.
3154         * modules/fstatat (Depends-on): Likewise.
3155         * modules/mkfifoat (Depends-on): Likewise.
3156         * modules/readlinkat (Depends-on): Likewise.
3157         * modules/symlinkat (Depends-on): Likewise.
3158         * modules/unlinkat (Depends-on): Likewise.
3159         * modules/utimensat (Depends-on): Likewise.
3160         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3161         * modules/linkat (Depends-on): Refine the conditions.
3162         * modules/renameat (Depends-on): Likewise.
3163
3164 2011-11-08  Bruno Haible  <bruno@clisp.org>
3165
3166         faccessat: Move AC_LIBOBJ invocation to module description.
3167         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3168         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3169         invocation from here...
3170         * modules/faccessat (configure.ac): ... to here. Invoke
3171         gl_PREREQ_FACCESSAT.
3172
3173 2011-11-08  Bruno Haible  <bruno@clisp.org>
3174
3175         faccessat: Simplify autoconf macro.
3176         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3177         gl_FUNC_EUIDACCESS.
3178
3179 2011-11-08  Bruno Haible  <bruno@clisp.org>
3180
3181         renameat: Fix dependencies.
3182         * modules/renameat (Depends-on): Add stdbool.
3183
3184 2011-11-08  Bruno Haible  <bruno@clisp.org>
3185
3186         mkfifoat: Fix module description.
3187         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3188         not gl_UNISTD_MODULE_INDICATOR.
3189
3190 2011-11-08  Bruno Haible  <bruno@clisp.org>
3191
3192         fstatat: Remove unused dependency.
3193         * modules/fstatat (Depends-on): Remove fstat.
3194
3195 2011-11-08  Simon Josefsson  <simon@josefsson.org>
3196
3197         GNUmakefile: behave when Makefile is missing.
3198         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
3199
3200 2011-11-08  Bruno Haible  <bruno@clisp.org>
3201
3202         openat: Conditionalize dependencies.
3203         * lib/openat.c: Reduce the scope of some #includes.
3204         * modules/openat (Depends-on): Add conditions.
3205
3206 2011-11-07  Jim Meyering  <meyering@redhat.com>
3207
3208         maint.mk: extract GPG key ID without using a temporary file
3209         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
3210         without using a temporary file.  Based on a suggestion from Werner Koch
3211         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
3212
3213 2011-11-07  Eric Blake  <eblake@redhat.com>
3214
3215         grantpt: fix typo
3216         * lib/stdlib.in.h (grantpt): Check correct function.
3217
3218         maint.mk: silence new syntax check
3219         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
3220
3221 2011-11-06  Bruno Haible  <bruno@clisp.org>
3222
3223         Doc about floating-point and math API.
3224         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
3225         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
3226
3227 2011-11-06  Bruno Haible  <bruno@clisp.org>
3228
3229         stdalign tests: Skip the test when compiled by Sun C.
3230         * tests/test-stdalign.c (main): Skip the test on Sun C.
3231
3232 2011-11-06  Bruno Haible  <bruno@clisp.org>
3233
3234         ansi-c++-opt: Complete the 2011-06-05 change.
3235         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
3236         does not support namespaces, set the variable to "no", not to ":".
3237
3238 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3239
3240         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
3241
3242 2011-11-06  Bruno Haible  <bruno@clisp.org>
3243
3244         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
3245         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
3246         (minus_zerol) [HP-UX]: New macro.
3247         (unary_minus) [HP-UX]: New function.
3248         (copysignl) [HP-UX]: Use unary_minus function.
3249
3250 2011-11-06  Bruno Haible  <bruno@clisp.org>
3251
3252         ldexp, ldexpf, ldexpl: Enhance tests.
3253         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
3254         and tests/test-ldexpl.c.
3255         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
3256         LDEXP, MIN_EXP, MAX_EXP): New macros.
3257         Include test-ldexp.h.
3258         (main): Just call test_function.
3259         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
3260         infinity.h, nan.h.
3261         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3262         MAX_EXP): New macros.
3263         Include test-ldexp.h.
3264         (x, y): Remove variables.
3265         (main): Just call test_function.
3266         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
3267         infinity.h, nan.h.
3268         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3269         MAX_EXP): New macros.
3270         Include test-ldexp.h.
3271         (x, y): Remove variables.
3272         (main): Just call test_function.
3273         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
3274         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
3275         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3276         (Depends-on): Add isnand-nolibm, signbit, float.
3277         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
3278         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3279         (Depends-on): Add isnanf-nolibm, signbit, float.
3280
3281 2011-11-06  Bruno Haible  <bruno@clisp.org>
3282
3283         math tests: Cosmetics.
3284         * tests/test-math-c++.cc: Reorder declarations.
3285
3286 2011-11-05  Bruno Haible  <bruno@clisp.org>
3287
3288         fma*: Simplify test.
3289         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
3290         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
3291
3292         Tests for module 'fmal'.
3293         * modules/fmal-tests: New file.
3294         * tests/test-fmal1.c: New file.
3295         * tests/test-fmal2.c: New file.
3296
3297         New module 'fmal'.
3298         * lib/math.in.h (fmal): New declaration.
3299         * lib/fmal.c: New file.
3300         * m4/fmal.m4: New file.
3301         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
3302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
3303         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
3304         REPLACE_FMAL.
3305         * modules/fmal: New file.
3306         * doc/posix-functions/fmal.texi: Mention the new module and the various
3307         bugs.
3308
3309         Tests for module 'fmaf'.
3310         * modules/fmaf-tests: New file.
3311         * tests/test-fmaf1.c: New file.
3312         * tests/test-fmaf2.c: New file.
3313
3314         New module 'fmaf'.
3315         * lib/math.in.h (fmaf): New declaration.
3316         * lib/fmaf.c: New file.
3317         * m4/fmaf.m4: New file.
3318         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3320         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3321         REPLACE_FMAF.
3322         * modules/fmaf: New file.
3323         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3324         bugs.
3325
3326         Tests for module 'fma'.
3327         * modules/fma-tests: New file.
3328         * tests/test-fma1.c: New file.
3329         * tests/test-fma1.h: New file.
3330         * tests/test-fma2.c: New file.
3331         * tests/test-fma2.h: New file.
3332
3333         New module 'fma'.
3334         * lib/math.in.h (fma): New declaration.
3335         * lib/fma.c: New file.
3336         * m4/fma.m4: New file.
3337         * m4/fegetround.m4: New file.
3338         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3340         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3341         REPLACE_FMA.
3342         * modules/fma: New file.
3343         * doc/posix-functions/fma.texi: Mention the new module and the various
3344         bugs.
3345
3346         Extend gl_MATHFUNC.
3347         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3348         Support 'void' as argument type.
3349         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3350
3351 2011-11-05  Jim Meyering  <meyering@redhat.com>
3352
3353         maint.mk: also prohibit inclusion of dirent.h without use
3354         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3355
3356 2011-11-05  Bruno Haible  <bruno@clisp.org>
3357
3358         ldexpl tests: Avoid test failure on MSVC 9.
3359         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
3360         value. Needed in order to enforce the conversion from a value greater
3361         than LDBL_MAX to Infinity.
3362
3363 2011-11-05  Bruno Haible  <bruno@clisp.org>
3364
3365         New modules 'at-internal', 'openat-h', split off from module 'openat'.
3366         * modules/at-internal: New file, extracted from modules/openat.
3367         * modules/openat-h: New file.
3368         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
3369         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
3370         * modules/openat (Description): Add reference to POSIX function.
3371         (Files): Remove lib/openat.h, lib/openat-proc.c.
3372         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
3373         intprops, unistd.
3374         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
3375         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
3376         gl_FCNTL_MODULE_INDICATOR.
3377         (Include): Remove unistd.h, openat.h.
3378         * modules/areadlinkat (Files): Add lib/at-func.c.
3379         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3380         openat-die, openat-h, save-cwd.
3381         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3382         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3383         openat-die, openat-h, save-cwd, unistd.
3384         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3385         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3386         openat-h, save-cwd. Remove fcntl-h, openat.
3387         * modules/fchmodat (Files): Remove lib/openat.h.
3388         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3389         openat, stdbool, unistd.
3390         * modules/fchownat (Files): Remove lib/openat.h.
3391         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3392         openat, stdbool, sys_stat.
3393         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3394         lib/openat-proc.c.
3395         (Depends-on): Add at-internal.
3396         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3397         * modules/fstatat (Files): Remove lib/openat.h.
3398         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3399         stdbool, unistd.
3400         * modules/fts (Depends-on): Add openat-h.
3401         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3402         openat.
3403         * modules/mkdirat (Files): Remove lib/openat.h.
3404         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3405         openat, stdbool, sys_stat.
3406         * modules/mkfifoat (Files): Add lib/at-func.c.
3407         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3408         openat-h, save-cwd. Remove fcntl-h, openat.
3409         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
3410         * modules/readlinkat (Files): Add lib/at-func.c.
3411         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3412         openat-h, save-cwd. Remove fcntl-h, openat.
3413         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
3414         openat.
3415         * modules/selinux-at (Files): Add lib/at-func.c.
3416         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3417         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
3418         * modules/symlinkat (Files): Add lib/at-func.c.
3419         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3420         openat-h, save-cwd. Remove fcntl-h, openat.
3421         * modules/unlinkat (Files): Remove lib/openat.h.
3422         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3423         stdbool.
3424         * modules/utimensat (Files): Add lib/at-func.c.
3425         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
3426         openat-die, openat-h, save-cwd.
3427         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
3428         * modules/fdutimensat-tests (Depends-on): Add openat.
3429         * modules/fstatat-tests (Depends-on): Add openat-h.
3430         * modules/readlinkat-tests (Depends-on): Add openat.
3431         * modules/symlinkat-tests (Depends-on): Add openat.
3432
3433 2011-11-05  Bruno Haible  <bruno@clisp.org>
3434
3435         openat: Include <stdbool.h>.
3436         * lib/openat.c: Include <stdbool.h>.
3437
3438 2011-11-04  Bruno Haible  <bruno@clisp.org>
3439
3440         fchownat, renameat, unlinkat: Fix dependencies.
3441         * modules/fchownat (Depends-on): Add fstatat.
3442         * modules/renameat (Depends-on): Likewise.
3443         * modules/unlinkat (Depends-on): Likewise.
3444
3445 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3446
3447         openat: remove direct dependency on dirent
3448         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
3449         and hasn't been needed ever since fdopendir was split into its own
3450         module on 2009-08-31.
3451         * modules/openat (Depends-on): Remove dirent.
3452
3453 2011-11-04  Bruno Haible  <bruno@clisp.org>
3454
3455         renameat: Optimize code size.
3456         * modules/renameat (configure.ac): Don't compile at-func2.c if
3457         REPLACE_RENAMEAT is 1.
3458
3459 2011-11-04  Bruno Haible  <bruno@clisp.org>
3460
3461         openat tests: Fix file list.
3462         * modules/openat-tests (Files): Add tests/test-open.h.
3463
3464 2011-11-04  Bruno Haible  <bruno@clisp.org>
3465
3466         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
3467         * modules/fchmodat (Depends-on): Add openat-die.
3468         * modules/fchownat (Depends-on): Likewise.
3469         * modules/linkat (Depends-on): Likewise.
3470         * modules/renameat (Depends-on): Likewise.
3471         * modules/openat (Depends-on): Add dirent.
3472
3473 2011-11-04  Jim Meyering  <meyering@redhat.com>
3474
3475         at-func*.c: fix comments
3476         * lib/at-func2.c: Correct/improve first-line comment.
3477         * lib/at-func.c: Correct grammar in first-line comment.
3478
3479 2011-11-04  Bruno Haible  <bruno@clisp.org>
3480
3481         New module 'mkdirat', split off from module 'openat'.
3482         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3483         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3484         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3485         * modules/mkdirat: New file, extracted from modules/openat.
3486         * modules/openat (Files): Remove lib/mkdirat.c.
3487         (Depends-on): Remove mkdir.
3488         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3489         (Include): Remove <sys/stat.h>.
3490         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3491         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3492         tests/test-mkdir.h.
3493         (Depends-on): Remove ignore-value.
3494         (Makefile.am): Remove rules for test-mkdirat.
3495         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3496         of module 'openat'.
3497         * NEWS: Mention the change.
3498
3499 2011-11-04  Bruno Haible  <bruno@clisp.org>
3500
3501         closedir: Avoid warning on mingw.
3502         * lib/closedir.c: Include <unistd.h>.
3503
3504 2011-11-04  Bruno Haible  <bruno@clisp.org>
3505
3506         New module 'fstatat', split off from module 'openat'.
3507         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3508         defined.
3509         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3510         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3511         gl_FUNC_FSTATAT.
3512         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3513         * modules/fstatat: New file, extracted from modules/openat.
3514         * modules/openat (Files): Remove lib/fstatat.c.
3515         (Depends-on): Remove lstat.
3516         (configure.ac): Remove AC_LIBOBJ of fstatat.
3517         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3518         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3519         tests/test-lstat.h, tests/test-stat.h.
3520         (Depends-on): Remove getcwd-lgpl.
3521         (Makefile.am): Remove rules for test-fstatat.
3522         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3523         of module 'openat'.
3524         * NEWS: Mention the change.
3525         * modules/getcwd (Depends-on): Add fstatat.
3526         * modules/linkat (Depends-on): Likewise.
3527         * modules/mkfifoat-tests (Depends-on): Likewise.
3528         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3529
3530 2011-11-03  Bruno Haible  <bruno@clisp.org>
3531
3532         New module 'unlinkat', split off from module 'openat'.
3533         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3534         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3535         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3536         * modules/unlinkat: New file, extracted from modules/openat. Correct
3537         the dependency conditions.
3538         * modules/openat (Files): Remove lib/unlinkat.c.
3539         (Depends-on): Remove rmdir, unlink.
3540         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3541         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3542         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3543         tests/test-rmdir.h, tests/test-unlink.h.
3544         (Depends-on): Remove unlinkdir.
3545         (Makefile.am): Remove rules for test-unlinkat.
3546         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3547         of module 'openat'.
3548         * NEWS: Mention the change.
3549         * modules/linkat-tests (Depends-on): Add unlinkat.
3550         * modules/mkfifoat-tests (Depends-on): Likewise.
3551         * modules/readlinkat-tests (Depends-on): Likewise.
3552
3553 2011-11-02  Bruno Haible  <bruno@clisp.org>
3554
3555         New module 'fchmodat', split off from module 'openat'.
3556         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3557         defined.
3558         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3559         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3560         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3561         * modules/fchmodat: New file, extracted from modules/openat.
3562         * modules/openat (Files): Remove lib/fchmodat.c.
3563         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3564         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3565         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3566         (Makefile.am): Remove rules for test-fchmodat.
3567         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3568         of module 'openat'.
3569         * NEWS: Mention the change.
3570
3571 2011-11-02  Jim Meyering  <meyering@redhat.com>
3572
3573         putenv: indent #definition of "environ" to placate cppi
3574         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3575
3576         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3577         Git logs are often treated as immutable, because editing them
3578         changes the SHA1 checksums of all descendants.  Thus, errors in
3579         git logs tend to stay there forever.  However, when we generate
3580         a ChangeLog file -- typically for distribution -- from that git log,
3581         we can actually make corrections in the generated file.  The key
3582         lies in recording in machine-readable/applicable form the desired
3583         corrections.  See --help for description and an example.
3584         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3585         (usage): Describe it; alphabetize option descriptions.
3586         (main): Honor the new option, carefully.
3587
3588 2011-11-01  Jim Meyering  <meyering@redhat.com>
3589
3590         gitlog-to-changelog: avoid an infloop
3591         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3592         that ends up being empty.
3593
3594 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3595
3596         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3597         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3598         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3599         contains (possibly-quoted) backslashes.  This should avoid
3600         all-too-common shell bugs if COMPLICATED contains backslashes in
3601         the "wrong" places.  Reported by David Evans in
3602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3603         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3604         because we want ASCII ranges.  Is there some reason we don't use
3605         the C locale everywhere in this script?
3606         (func_module, top level): Avoid unwanted pathname expansion when
3607         $repo_url_prefix or $repo_url_suffix_repl contain shell
3608         metacharacters like '?' and '*'.
3609
3610 2011-11-01  Bruno Haible  <bruno@clisp.org>
3611
3612         fchownat: Improve description.
3613         * modules/fchownat (Description): Add link to function.
3614
3615 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3616
3617         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3618         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3619         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3620         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3621
3622 2011-11-01  Bruno Haible  <bruno@clisp.org>
3623
3624         alignof: Avoid collision with stdalign module.
3625         * lib/alignof.h (alignof): Remove macro.
3626         * NEWS: Mention the change.
3627         Reported by Paul Eggert.
3628
3629 2011-11-01  Bruno Haible  <bruno@clisp.org>
3630
3631         New module 'fchownat', split off from module 'openat'.
3632         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3633         defined.
3634         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3635         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3636         invoke gl_FUNC_FCHOWNAT.
3637         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3638         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3639         * modules/fchownat: New file, extracted from modules/openat.
3640         * modules/openat (Files): Remove lib/fchownat.c.
3641         (Depends-on): Remove lchown.
3642         (configure.ac): Remove AC_LIBOBJ of fchownat.
3643         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3644         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3645         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3646         (Depends-on): Remove mgetgroups, usleep, stat-time.
3647         (configure.ac): Remove test for getegid.
3648         (Makefile.am): Remove rules for test-fchownat.
3649         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3650         of module 'openat'.
3651         * NEWS: Mention the change.
3652
3653 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3654
3655         stdalign: port better to MSVC and to Sun C 5.11
3656         This fixes some of the problems reported by Bruno Haible in
3657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3658         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3659         shortcomings of MSVC and of Sun C 5.11.
3660         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3661         around __declspec arg.
3662         * modules/stdalign-tests (Files): Add tests/macros.h.
3663         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3664         Include macros.h, for ASSERT.
3665         (DECLARE_ALIGNED): Remove.
3666         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3667         to catch bug), and to 1 if not (simplifies the rest of the code).
3668         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3669         (CHECK_AUTO): Remove.
3670         (CHECK_ALIGNED): Check only the alignment of the static vars,
3671         since auto var alignment isn't supported by Sun C 5.11.
3672         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3673         ASSERT failures are easier to diagnose.
3674
3675 2011-10-31  Bruno Haible  <bruno@clisp.org>
3676
3677         doc about some IRIX 5.3 problems.
3678         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3679         on IRIX 5.3.
3680         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3681         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3682         5.3.
3683         * doc/posix-functions/grantpt.texi: Likewise.
3684         * doc/posix-functions/unlockpt.texi: Likewise.
3685         * doc/posix-functions/lgamma.texi: Likewise.
3686         * doc/posix-functions/nextafter.texi: Likewise.
3687         * doc/posix-functions/remainder.texi: Likewise.
3688         * doc/posix-functions/select.texi: Mention misplaced declaration on
3689         IRIX 5.3.
3690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3691
3692 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3693
3694         gitlog-to-changelog: fix git-log invocation.
3695         git-log mishandles date strings before 1970-01-01 UTC, and there is
3696         no use to specify --since=1970-01-01 by default anyway.
3697         * build-aux/gitlog-to-changelog: By default, when no --since option
3698         was given, do not specify explicit --since option to git-log.
3699
3700 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3701
3702         gitlog-to-changelog: new option --append-dot.
3703         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3704         first non-blank line of each commit message terminated with a dot.
3705
3706 2011-10-30  Bruno Haible  <bruno@clisp.org>
3707
3708         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3709         * lib/ffsl.h: Include <config.h>.
3710         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3711
3712 2011-10-30  Jim Meyering  <meyering@redhat.com>
3713
3714         GNUmakefile: reenable "make syntax-check" for most projects
3715         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3716         build-aux variable", "syntax-check" would do nothing but succeed with
3717         the "No version control files detected..." diagnostic (unless you
3718         happened to override _build-aux via cfg.mk).
3719         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3720         to precede inclusion of maint.mk.  Otherwise, these variables would
3721         be used undefined in any project that does not override the default.
3722
3723 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3724
3725         gitlog-to-changelog: treat a message with only blank lines as empty.
3726         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3727         trailing blank lines before the code that issues a warning about an
3728         empty commit message.
3729
3730 2011-10-30  Jim Meyering  <meyering@redhat.com>
3731
3732         test-parse-datetime.c: avoid new DST-related false positive test failure
3733         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3734         based on the time/date we'll convert, not the current time.
3735         Otherwise, the moment we cross a DST boundary like today's in
3736         Europe, (CEST to CET), that offset ends up being one hour off.
3737
3738 2011-10-27  Bruno Haible  <bruno@clisp.org>
3739
3740         fstat: Tweak documentation.
3741         * modules/fstat (Description): More precise description.
3742
3743 2011-10-27  Bruno Haible  <bruno@clisp.org>
3744
3745         Update documentation regarding 'largefile' module.
3746         * doc/posix-functions/fstat.texi: Tweak wording.
3747         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3748         problems with huge directories and/or small ino_t types.
3749         * doc/posix-functions/readdir.texi: Likewise.
3750         * doc/posix-functions/rewinddir.texi: Likewise.
3751
3752 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3753
3754         maint.mk: don't maintain a second build-aux variable.
3755         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3756         depends on GNUmakefile, which already maintains a cfg.mk
3757         overridable $(_build-aux) for projects with a non-standard
3758         build-aux directory location, although without the $(srcdir)
3759         prefix.  Use that variable consistently instead of introducing a
3760         second one.  Adjust all call sites.
3761
3762 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3763
3764         Add stdalign module and use it in other modules.
3765         This is based on a previous proposal by Bruno Haible
3766         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3767
3768         stdalign: new module
3769         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3770         * modules/stdalign: New files.
3771         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3772         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3773
3774         stdalign-tests: new module
3775         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3776
3777         argp: use stdalign
3778         * lib/argp-parse.c: Include <stdalign.h>.
3779         (alignof): Remove.
3780         * modules/argp (Depends-on): Add stdalign.
3781
3782         crypto libraries: use stdalign
3783         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3784         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3785         Do not include <stdlib.h> twice, in md4.c.
3786         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3787         because we are accessing a pointer's bit-pattern, not a size.
3788         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3789         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3790         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3791         * modules/crypto/sha512: Likewise.
3792
3793         sys_socket: use stdalign, not alignof
3794         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3795         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3796
3797 2011-10-27  Bruno Haible  <bruno@clisp.org>
3798
3799         raise test: Avoid a test failure on Linux/MIPS.
3800         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3801         because 99 is a valid signal on Linux/MIPS.
3802
3803 2011-10-27  Bruno Haible  <bruno@clisp.org>
3804
3805         nonblocking tests: Fix test failure on Linux/MIPS.
3806         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3807         Set to 270000.
3808
3809 2011-10-27  Bruno Haible  <bruno@clisp.org>
3810
3811         utimensat: Work around problem on Linux/hppa.
3812         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3813         values.
3814         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3815
3816 2011-10-25  Jim Meyering  <meyering@redhat.com>
3817
3818         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3819         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3820         after symbols like NULL, size_t, etc.
3821         Reported by Alfred M. Szmidt.
3822
3823         maint.mk: exempt ENODATA from a syntax-check rule
3824         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3825         from the sc_prohibit_always-defined_macros syntax-check rule.
3826         Add a comment.  See this for more details:
3827         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3828
3829 2011-10-23  Jim Meyering  <meyering@redhat.com>
3830
3831         fts: close parent dir FD before returning from post-traversal fts_read
3832         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3833         unlink A, even though an FD open on A remained.  This is suboptimal
3834         (holding a file descriptor open longer than needed), but otherwise not
3835         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3836         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3837         that represents a real problem: it causes the removal of A to fail
3838         with e.g., "rm: cannot remove `A': Device or resource busy"
3839
3840         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3841         directory file descriptors.  After completing the final, FTS_DP,
3842         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3843         cache, but then proceeded to add a new FD to it via the subsequent
3844         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3845         final file descriptor would be closed only via fts_close's call to
3846         fd_ring_clear.  Now, it is usually closed earlier, via the final
3847         FTS_DP-returning fts_read call.
3848         * lib/fts.c (restore_initial_cwd): New function, converted from
3849         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3850         Update callers.
3851         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3852         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3853
3854 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3855             Bruno Haible  <bruno@clisp.org>
3856             Jim Meyering  <jim@meyering.net>
3857
3858         readme-release: improve safety of release prep instructions.
3859         * README-release: Don't git pull all branches when only master
3860         is needed for the release process.
3861         Run make maintainer-clean before changing trees and merging.
3862         Don't try to run ./configure right after git pull in case files
3863         that influence the bootstrap process have changed, move the
3864         ./configure step to after running ./bootstrap.
3865         Don't bootstrap "one last time"... it's the first time!
3866
3867 2011-10-22  Bruno Haible  <bruno@clisp.org>
3868
3869         errno, strerror-override: Support for MSVC 10.
3870         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3871         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3872         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3873         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3874         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3875         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3876         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3877         Assign values compatible with MSVC 10.
3878         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3879         New macros.
3880         (GNULIB_defined_EWINSOCK): New macro.
3881         * lib/strerror-override.c (strerror_override): Update accordingly.
3882         * lib/strerror-override.h: Likewise.
3883         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3884         longer equal to the corresponding errno value.
3885         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3886
3887 2011-10-22  Bruno Haible  <bruno@clisp.org>
3888
3889         perror: Recognize when test program crashes.
3890         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3891         strerror, set gl_cv_func_perror_works to no.
3892         Reported by Daniel Richard G. <skunk@iskunk.org>.
3893
3894         perror: Fix indentation.
3895         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3896
3897 2011-10-22  Bruno Haible  <bruno@clisp.org>
3898
3899         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3900         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3901         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3902         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3903         functions, not as a macro.
3904         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3905         macros.
3906         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3907         absence of macro.
3908         Suggested by Eric Blake.
3909         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3910
3911 2011-10-21  Bruno Haible  <bruno@clisp.org>
3912
3913         relocatable-prog-wrapper: Don't leave object files behind.
3914         * build-aux/install-reloc: Re-synchronize list of .o files to be
3915         removed with list of compilation units.
3916
3917 2011-10-20  Bruno Haible  <bruno@clisp.org>
3918
3919         openpty, posix_openpt: Remove code duplication.
3920         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3921         * lib/openpty.c: Include <stdlib.h>.
3922         (openpty): Use posix_openpt on all platforms except IRIX.
3923         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3924
3925 2011-10-20  Bruno Haible  <bruno@clisp.org>
3926
3927         unlockpt: Detect invalid argument.
3928         * lib/unlockpt.c: Include <fcntl.h>.
3929         (unlockpt): Check whether fd is valid, using fcntl().
3930         * modules/unlockpt (Depends-on): Add fcntl-h.
3931
3932 2011-10-20  Bruno Haible  <bruno@clisp.org>
3933
3934         openpty: Avoid compilation error on AIX 6.1.
3935         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3936
3937 2011-10-20  Bruno Haible  <bruno@clisp.org>
3938
3939         posix_openpt: Support for OpenBSD.
3940         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3941         (posix_openpt) [OpenBSD]: New code.
3942         * lib/grantpt.c: Include <fcntl.h>.
3943         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3944         * modules/grantpt (Depends-on): Add fcntl-h.
3945
3946 2011-10-20  Bruno Haible  <bruno@clisp.org>
3947
3948         posix_openpt test: Coding style.
3949         * tests/test-posix_openpt.c: Use GNU coding style.
3950
3951 2011-10-20  Bruno Haible  <bruno@clisp.org>
3952
3953         grantpt: Support --avoid=pt_chown.
3954         * modules/grantpt (Files): Add lib/pty-private.h.
3955
3956 2011-10-20  Bruno Haible  <bruno@clisp.org>
3957
3958         posix_openpt: Fix autoconf macro.
3959         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3960         unneeded check for _getpty.
3961
3962 2011-10-20  Bruno Haible  <bruno@clisp.org>
3963
3964         openpty: Update comments.
3965         * lib/openpty.c: Add comments about Minix.
3966
3967 2011-10-19  Eric Blake  <eblake@redhat.com>
3968
3969         openpty: relax license
3970         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3971
3972         pt_chown: use configmake to simplify build
3973         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3974
3975         ptsname and others: relax license
3976         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3977         * modules/unlockpt (License): Likewise.
3978         * modules/pt_chown (License): Likewise.
3979         * modules/ptsname (License): Likewise.
3980         * modules/ttyname_r (License): Likewise.
3981
3982 2011-10-19  Jim Meyering  <meyering@redhat.com>
3983
3984         posix_openpt: remove spurious #endif
3985         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3986
3987 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3988
3989         maint.mk: Respect $(build_aux) in web-manual rule.
3990         * top/maint.mk (web-manual): Find gen-announce script in user's
3991         $(build_aux) directory instead of hard-coding 'build-aux'.
3992
3993 2011-10-19  Bruno Haible  <bruno@clisp.org>
3994
3995         posix_openpt: Fix compilation error.
3996         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3997         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3998         Mention the openpty module as an alternative.
3999
4000 2011-10-19  Bruno Haible  <bruno@clisp.org>
4001
4002         Support for old NeXTstep 3.3 frexp().
4003         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4004         execution time of the test to 5 seconds.
4005         Reported by Daniel Richard G. <skunk@iskunk.org>.
4006
4007 2011-10-19  Bruno Haible  <bruno@clisp.org>
4008
4009         Support for old NeXTstep 3.3 sed.
4010         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4011         part, use /.../, not \|...|. Escape periods in the header file name.
4012         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4013         Reported by Daniel Richard G. <skunk@iskunk.org>.
4014
4015 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4016
4017         Support for old NeXTstep 3.3 gcc.
4018         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4019         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4020         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4021         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4022         * lib/regex.h (_Restrict_arr_): Likewise.
4023         * lib/regex_internal.h (re_token_t): Likewise.
4024         * lib/regexec.c (check_node_accept_bytes): Likewise.
4025         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4026
4027 2011-10-18  Eric Blake  <eblake@redhat.com>
4028
4029         posix_openpt: new module
4030         * modules/posix_openpt: New module.
4031         * m4/posix_openpt.m4: New file.
4032         * lib/posix_openpt.c: Likewise.
4033         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4034         (gl_STDLIB_H_DEFAULTS): Set defaults.
4035         * modules/stdlib (Makefile.am): Substitute macros.
4036         * lib/stdlib.in.h (posix_openpt): Declare.
4037         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4038         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4039         * modules/posix_openpt-tests: New test module.
4040         * tests/test-posix_openpt.c: New test.
4041
4042 2011-10-15  Bruno Haible  <bruno@clisp.org>
4043
4044         xstrtoll: Fix compilation failure.
4045         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4046         from lib/strtol.c.
4047         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4048         some platforms.
4049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4050
4051 2011-10-15  Bruno Haible  <bruno@clisp.org>
4052
4053         vasnprintf: Optimize bit search operation.
4054         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4056         gl_DOUBLE_EXPONENT_LOCATION.
4057         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4058         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4059         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4060         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4061         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4062         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4063         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4064         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4065         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4066
4067 2011-10-15  Bruno Haible  <bruno@clisp.org>
4068
4069         vasnprintf: Fix comments.
4070         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4071
4072 2011-10-14  Bruno Haible  <bruno@clisp.org>
4073
4074         Tests for module 'integer_length_ll'.
4075         * modules/integer_length_ll-tests: New file.
4076         * tests/test-integer_length_ll.c: New file.
4077
4078         New module 'integer_length_ll'.
4079         * lib/integer_length_ll.c: New file.
4080         * modules/integer_length_ll: New file.
4081
4082 2011-10-14  Bruno Haible  <bruno@clisp.org>
4083
4084         Tests for module 'integer_length_l'.
4085         * modules/integer_length_l-tests: New file.
4086         * tests/test-integer_length_l.c: New file.
4087
4088         New module 'integer_length_l'.
4089         * lib/integer_length_l.c: New file.
4090         * modules/integer_length_l: New file.
4091
4092 2011-10-14  Bruno Haible  <bruno@clisp.org>
4093
4094         Tests for module 'integer_length'.
4095         * modules/integer_length-tests: New file.
4096         * tests/test-integer_length.c: New file.
4097
4098         New module 'integer_length'.
4099         * lib/integer_length.h: New file.
4100         * lib/integer_length.c: New file.
4101         * modules/integer_length: New file.
4102
4103 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4104
4105         popen: Fix dependency conditions.
4106         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4107
4108 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4109
4110         perror: Fix autoconf test.
4111         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4112         <stdlib.h> and <string.h>.
4113
4114 2011-10-14  Bruno Haible  <bruno@clisp.org>
4115
4116         ffsl: Optimize on 64-bit platforms.
4117         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4118         unrolling.
4119
4120 2011-10-13  Bruno Haible  <bruno@clisp.org>
4121
4122         ffsl: Optimize on 32-bit platforms.
4123         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4124         use ffs() without a loop.
4125
4126         ffsl, ffsll: Optimize for GCC.
4127         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4128         * lib/ffsl.c (GCC_BUILTIN): New macro.
4129         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4130
4131 2011-10-13  Bruno Haible  <bruno@clisp.org>
4132
4133         ffs, bcopy, memset: Support symbol renaming via config.h.
4134         * lib/ffs.c: Include <config.h>.
4135         * lib/bcopy.c: Likewise.
4136         * lib/memset.c: Likewise.
4137
4138 2011-10-10  Bruno Haible  <bruno@clisp.org>
4139
4140         atanl: Simplify for platforms where 'long double' == 'double'.
4141         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4142         alternative implementation.
4143         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4144         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4145         * modules/atanl (Depends-on): Add atan. Update conditions.
4146
4147 2011-10-10  Bruno Haible  <bruno@clisp.org>
4148
4149         acosl: Simplify for platforms where 'long double' == 'double'.
4150         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4151         alternative implementation.
4152         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4153         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4154         * modules/acosl (Depends-on): Add acos. Update conditions.
4155
4156 2011-10-10  Bruno Haible  <bruno@clisp.org>
4157
4158         asinl: Simplify for platforms where 'long double' == 'double'.
4159         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4160         alternative implementation.
4161         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4162         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4163         * modules/asinl (Depends-on): Add asin. Update conditions.
4164
4165 2011-10-10  Bruno Haible  <bruno@clisp.org>
4166
4167         tanl: Simplify for platforms where 'long double' == 'double'.
4168         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4169         implementation.
4170         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4171         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4172         * modules/tanl (Depends-on): Add tan. Update conditions.
4173         (configure.ac): Don't compile trigl.c if
4174         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4175
4176 2011-10-10  Bruno Haible  <bruno@clisp.org>
4177
4178         cosl: Simplify for platforms where 'long double' == 'double'.
4179         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4180         implementation.
4181         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4182         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4183         * modules/cosl (Depends-on): Add cos. Update conditions.
4184         (configure.ac): Don't compile sincosl.c and trigl.c if
4185         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4186
4187 2011-10-10  Bruno Haible  <bruno@clisp.org>
4188
4189         sinl: Simplify for platforms where 'long double' == 'double'.
4190         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4191         implementation.
4192         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4193         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4194         * modules/sinl (Depends-on): Add sin. Update conditions.
4195         (configure.ac): Don't compile sincosl.c and trigl.c if
4196         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4197
4198 2011-10-10  Bruno Haible  <bruno@clisp.org>
4199
4200         logl: Simplify for platforms where 'long double' == 'double'.
4201         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4202         implementation.
4203         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4204         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4205         * modules/logl (Depends-on): Add log. Update conditions.
4206
4207 2011-10-10  Bruno Haible  <bruno@clisp.org>
4208
4209         expl: Simplify for platforms where 'long double' == 'double'.
4210         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4211         implementation.
4212         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4213         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4214         * modules/expl (Depends-on): Add exp. Update conditions.
4215
4216 2011-10-10  Bruno Haible  <bruno@clisp.org>
4217
4218         sqrtl: Simplify for platforms where 'long double' == 'double'.
4219         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4220         alternative implementation.
4221         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4222         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4223         * modules/sqrtl (Depends-on): Update conditions.
4224
4225 2011-10-10  Bruno Haible  <bruno@clisp.org>
4226
4227         ldexpl: Simplify for platforms where 'long double' == 'double'.
4228         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4229         alternative implementation.
4230         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4231         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4232         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
4233
4234 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
4235
4236         ffsll: set correct witness
4237         * modules/ffsll (configure.ac): Fix typo.
4238
4239 2011-10-10  Bruno Haible  <bruno@clisp.org>
4240
4241         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
4242         * lib/printf-frexpl.c: Include <config.h>.
4243         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4244         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
4245         second time.
4246         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
4247         gl_LONG_DOUBLE_VS_DOUBLE.
4248         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
4249         conditions.
4250
4251 2011-10-10  Bruno Haible  <bruno@clisp.org>
4252
4253         frexpl: Simplify for platforms where 'long double' == 'double'.
4254         * lib/frexpl.c: Include <config.h>.
4255         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4256         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4257         time.
4258         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4259         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4260         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
4261         * modules/frexpl (Depends-on): Add frexp. Update conditions.
4262         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
4263         conditions.
4264
4265 2011-10-10  Jim Meyering  <meyering@redhat.com>
4266
4267         test-renameat: don't leave behind a temporary file
4268         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
4269           ERROR: files left in build directory after distclean:
4270           ./gltests/test-renameat.too
4271           make[1]: *** [distcleancheck] Error 1
4272         Reported by Tom G. Christensen.
4273
4274 2011-10-09  Bruno Haible  <bruno@clisp.org>
4275
4276         rint: Determine RINT_LIBM correctly on AIX 7.
4277         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
4278         directly, not only through a function pointer. Also accept an optional
4279         4th argument with extra code.
4280         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
4281         rintf() call by gcc when optimizing.
4282
4283         mathfunc.m4: Refactor.
4284         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
4285         m4 variable.
4286
4287 2011-10-09  Bruno Haible  <bruno@clisp.org>
4288
4289         rintl: Simplify for platforms where 'long double' == 'double'.
4290         * lib/rintl.c: Include <config.h>.
4291         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4292         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4293         time.
4294         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4295         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4296         * modules/rintl (Depends-on): Add rint. Update conditions.
4297
4298 2011-10-09  Bruno Haible  <bruno@clisp.org>
4299
4300         roundl: Simplify for platforms where 'long double' == 'double'.
4301         * lib/roundl.c: Include <config.h>.
4302         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4303         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4304         time.
4305         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4306         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4307         * modules/roundl (Depends-on): Add round. Update conditions.
4308
4309 2011-10-09  Bruno Haible  <bruno@clisp.org>
4310
4311         truncl: Simplify for platforms where 'long double' == 'double'.
4312         * lib/truncl.c: Include <config.h>.
4313         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4314         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4315         time.
4316         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4317         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4318         * modules/truncl (Depends-on): Add trunc. Update conditions.
4319
4320 2011-10-09  Bruno Haible  <bruno@clisp.org>
4321
4322         ceill: Simplify for platforms where 'long double' == 'double'.
4323         * lib/ceill.c: Include <config.h>.
4324         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4325         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4326         time.
4327         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4328         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4329         * modules/ceill (Depends-on): Add ceil. Update conditions.
4330
4331 2011-10-09  Bruno Haible  <bruno@clisp.org>
4332
4333         floorl: Simplify for platforms where 'long double' == 'double'.
4334         * lib/floorl.c: Include <config.h>.
4335         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4336         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4337         time.
4338         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4339         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4340         * modules/floorl (Depends-on): Add floor. Update conditions.
4341
4342 2011-10-09  Bruno Haible  <bruno@clisp.org>
4343
4344         rint: Fix ordering constraints.
4345         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4346         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4347         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4348
4349 2011-10-09  Bruno Haible  <bruno@clisp.org>
4350
4351         copysignl: Simplify for platforms where 'long double' == 'double'.
4352         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4353         alternative.
4354         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4355         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4356         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4357
4358 2011-10-09  Bruno Haible  <bruno@clisp.org>
4359
4360         Tests for module 'rintl'.
4361         * modules/rintl-tests: New file.
4362         * tests/test-rintl.c: New file.
4363
4364         New module 'rintl'.
4365         * lib/math.in.h (rintl): New declaration.
4366         * lib/rintl.c: New file.
4367         * m4/rintl.m4: New file.
4368         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
4369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
4370         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
4371         * modules/rintl: New file.
4372         * tests/test-math-c++.cc: Check the declaration of rintl.
4373         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4374         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
4375         * doc/posix-functions/rintl.texi: Mention the new module.
4376
4377 2011-10-09  Bruno Haible  <bruno@clisp.org>
4378
4379         Tests for module 'rintf'.
4380         * modules/rintf-tests: New file.
4381         * tests/test-rintf.c: New file.
4382
4383         New module 'rintf'.
4384         * lib/math.in.h (rintf): New declaration.
4385         * lib/rintf.c: New file.
4386         * m4/rintf.m4: New file.
4387         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4389         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4390         * modules/rintf: New file.
4391         * tests/test-math-c++.cc: Check the declaration of rintf.
4392         * doc/posix-functions/rintf.texi: Mention the new module.
4393
4394 2011-10-09  Bruno Haible  <bruno@clisp.org>
4395
4396         rint: Support for MSVC.
4397         * lib/math.in.h (rint): New declaration.
4398         * lib/rint.c: New file.
4399         * m4/rint.m4: New file.
4400         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4402         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4403         * modules/rint (Description): Fix.
4404         (Files): Add lib/rint.c, m4/rint.m4.
4405         (Depends-on): Add math.
4406         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4407         gl_MATH_MODULE_INDICATOR.
4408         * tests/test-math-c++.cc: Check the declaration of rint.
4409         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4410         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4411         * doc/posix-functions/rint.texi: Mention the replacement provided by
4412         the module.
4413
4414         rint tests: More tests.
4415         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
4416         minus-zero.h, infinity.h, nan.h.
4417         (main): Skip the test if the current rounding mode is not standard. Add
4418         tests for negative numbers, minus zero, infinity, NaN.
4419         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
4420         tests/nan.h.
4421         (Depends-on): Add isnand-nolibm.
4422
4423 2011-10-09  Bruno Haible  <bruno@clisp.org>
4424
4425         Tests for module 'copysignl'.
4426         * modules/copysignl-tests: New file.
4427         * tests/test-copysignl.c: New file.
4428
4429         New module 'copysignl'.
4430         * lib/math.in.h (copysignl): New declaration.
4431         * lib/copysignl.c: New file.
4432         * m4/copysignl.m4: New file.
4433         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
4434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
4435         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
4436         HAVE_COPYSIGNL.
4437         * modules/copysignl: New file.
4438         * tests/test-math-c++.cc: Check the declaration of copysignl.
4439         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4440         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
4441         * doc/posix-functions/copysignl.texi: Mention the new module.
4442
4443 2011-10-09  Bruno Haible  <bruno@clisp.org>
4444
4445         Tests for module 'copysignf'.
4446         * modules/copysignf-tests: New file.
4447         * tests/test-copysignf.c: New file.
4448
4449         New module 'copysignf'.
4450         * lib/math.in.h (copysignf): New declaration.
4451         * lib/copysignf.c: New file.
4452         * m4/copysignf.m4: New file.
4453         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
4454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
4455         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
4456         HAVE_COPYSIGNF.
4457         * modules/copysignf: New file.
4458         * tests/test-math-c++.cc: Check the declaration of copysignf.
4459         * doc/posix-functions/copysignf.texi: Mention the new module.
4460
4461 2011-10-09  Bruno Haible  <bruno@clisp.org>
4462
4463         Ensure that HAVE_* variables are set to 1 before they are set to 0.
4464         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
4465         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
4466         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4467         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
4468         gl_SIGNAL_H_DEFAULTS.
4469
4470 2011-10-09  Bruno Haible  <bruno@clisp.org>
4471
4472         poll: Make macro safer.
4473         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
4474         ac_cv_header_poll_h is not set.
4475
4476 2011-10-09  Bruno Haible  <bruno@clisp.org>
4477
4478         copysign: Provide replacement.
4479         * lib/math.in.h (copysign): New declaration.
4480         * lib/copysign.c: New file.
4481         * m4/copysign.m4: New file.
4482         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4483         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4484         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4485         HAVE_COPYSIGN.
4486         * modules/copysign (Description): Clarify.
4487         (Files): Add lib/copysign.c, m4/copysign.m4.
4488         (Depends-on): Add math, signbit.
4489         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4490         gl_MATH_MODULE_INDICATOR.
4491         * tests/test-math-c++.cc: Check the declaration of copysign.
4492         * doc/posix-functions/copysign.texi: Mention the effects of the module
4493         on Minix and MSVC.
4494
4495 2011-10-09  Bruno Haible  <bruno@clisp.org>
4496
4497         isinf: Ensure macro on AIX 5.1.
4498         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4499         macro.
4500         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4501
4502 2011-10-09  Bruno Haible  <bruno@clisp.org>
4503
4504         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4505         * modules/snprintf-posix-tests (configure.ac): Require
4506         gl_LONG_DOUBLE_VS_DOUBLE.
4507         * modules/sprintf-posix-tests (configure.ac): Likewise.
4508         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4509         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4510         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4511         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4512         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4513         tests on platforms where 'long double' is the same as 'double'.
4514         * tests/test-sprintf-posix.h (test_function): Likewise.
4515         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4516         * tests/test-vasprintf-posix.c (test_function): Likewise.
4517
4518         *printf: Fix for platforms where 'long double' == 'double'.
4519         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4520         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4521         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4522         * modules/fprintf-posix (Files): Likewise.
4523         * modules/obstack-printf-posix (Files): Likewise.
4524         * modules/snprintf-posix (Files): Likewise.
4525         * modules/sprintf-posix (Files): Likewise.
4526         * modules/vasnprintf (Files): Likewise.
4527         * modules/vasnprintf-posix (Files): Likewise.
4528         * modules/vasprintf-posix (Files): Likewise.
4529         * modules/vdprintf-posix (Files): Likewise.
4530         * modules/vfprintf-posix (Files): Likewise.
4531         * modules/vsnprintf-posix (Files): Likewise.
4532         * modules/vsprintf-posix (Files): Likewise.
4533         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4534         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4535         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4536         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4537         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4538         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4539         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4540
4541         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4542         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4543         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4544         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4545         'long double'.
4546         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4547
4548         isinf: Fix for platforms where 'long double' == 'double'.
4549         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4550         Don't blindly assume 80-bit 'long double'.
4551
4552         isfinite: Fix for platforms where 'long double' == 'double'.
4553         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4554         Don't blindly assume 80-bit 'long double'.
4555
4556         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4557         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4558         * modules/isfinite-tests (configure.ac): Require
4559         gl_LONG_DOUBLE_VS_DOUBLE.
4560         * modules/isinf-tests (configure.ac): Likewise.
4561         * modules/isnan-tests (configure.ac): Likewise.
4562         * modules/isnanl-tests (configure.ac): Likewise.
4563         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4564         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4565         tests on platforms where 'long double' is the same as 'double'.
4566         * tests/test-isinf.c (test_isinfl): Likewise.
4567         * tests/test-isnan.c (test_long_double): Likewise.
4568         * tests/test-isnanl.h (main): Likewise.
4569
4570 2011-10-08  Bruno Haible  <bruno@clisp.org>
4571
4572         Tests for module 'tanhf'.
4573         * modules/tanhf-tests: New file.
4574         * tests/test-tanhf.c: New file.
4575
4576         New module 'tanhf'.
4577         * lib/math.in.h (tanhf): New declaration.
4578         * lib/tanhf.c: New file.
4579         * m4/tanhf.m4: New file.
4580         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4582         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4583         * modules/tanhf: New file.
4584         * tests/test-math-c++.cc: Check the declaration of tanhf.
4585         * doc/posix-functions/tanhf.texi: Mention the new module.
4586
4587         tanh: Use a .m4 file.
4588         * m4/tanh.m4: New file.
4589         * modules/tanh (Files): Add it.
4590         (configure.ac): Just invoke gl_FUNC_TANH.
4591
4592 2011-10-08  Bruno Haible  <bruno@clisp.org>
4593
4594         Tests for module 'coshf'.
4595         * modules/coshf-tests: New file.
4596         * tests/test-coshf.c: New file.
4597
4598         New module 'coshf'.
4599         * lib/math.in.h (coshf): New declaration.
4600         * lib/coshf.c: New file.
4601         * m4/coshf.m4: New file.
4602         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4604         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4605         * modules/coshf: New file.
4606         * tests/test-math-c++.cc: Check the declaration of coshf.
4607         * doc/posix-functions/coshf.texi: Mention the new module.
4608
4609         cosh: Use a .m4 file.
4610         * m4/cosh.m4: New file.
4611         * modules/cosh (Files): Add it.
4612         (configure.ac): Just invoke gl_FUNC_COSH.
4613
4614 2011-10-08  Bruno Haible  <bruno@clisp.org>
4615
4616         Tests for module 'sinhf'.
4617         * modules/sinhf-tests: New file.
4618         * tests/test-sinhf.c: New file.
4619
4620         New module 'sinhf'.
4621         * lib/math.in.h (sinhf): New declaration.
4622         * lib/sinhf.c: New file.
4623         * m4/sinhf.m4: New file.
4624         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4625         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4626         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4627         * modules/sinhf: New file.
4628         * tests/test-math-c++.cc: Check the declaration of sinhf.
4629         * doc/posix-functions/sinhf.texi: Mention the new module.
4630
4631         sinh: Use a .m4 file.
4632         * m4/sinh.m4: New file.
4633         * modules/sinh (Files): Add it.
4634         (configure.ac): Just invoke gl_FUNC_SINH.
4635
4636 2011-10-08  Bruno Haible  <bruno@clisp.org>
4637
4638         Tests for module 'atan2f'.
4639         * modules/atan2f-tests: New file.
4640         * tests/test-atan2f.c: New file.
4641
4642         New module 'atan2f'.
4643         * lib/math.in.h (atan2f): New declaration.
4644         * lib/atan2f.c: New file.
4645         * m4/atan2f.m4: New file.
4646         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4647         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4648         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4649         * modules/atan2f: New file.
4650         * tests/test-math-c++.cc: Check the declaration of atan2f.
4651         * doc/posix-functions/atan2f.texi: Mention the new module.
4652
4653         atan2: Use a .m4 file.
4654         * m4/atan2.m4: New file.
4655         * modules/atan2 (Files): Add it.
4656         (configure.ac): Just invoke gl_FUNC_ATAN2.
4657
4658 2011-10-08  Bruno Haible  <bruno@clisp.org>
4659
4660         Tests for module 'atanf'.
4661         * modules/atanf-tests: New file.
4662         * tests/test-atanf.c: New file.
4663
4664         New module 'atanf'.
4665         * lib/math.in.h (atanf): New declaration.
4666         * lib/atanf.c: New file.
4667         * m4/atanf.m4: New file.
4668         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4670         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4671         * modules/atanf: New file.
4672         * tests/test-math-c++.cc: Check the declaration of atanf.
4673         * doc/posix-functions/atanf.texi: Mention the new module.
4674
4675         atan: Use a .m4 file.
4676         * m4/atan.m4: New file.
4677         * modules/atan (Files): Add it.
4678         (configure.ac): Just invoke gl_FUNC_ATAN.
4679
4680 2011-10-08  Bruno Haible  <bruno@clisp.org>
4681
4682         Tests for module 'acosf'.
4683         * modules/acosf-tests: New file.
4684         * tests/test-acosf.c: New file.
4685
4686         New module 'acosf'.
4687         * lib/math.in.h (acosf): New declaration.
4688         * lib/acosf.c: New file.
4689         * m4/acosf.m4: New file.
4690         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4692         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4693         * modules/acosf: New file.
4694         * tests/test-math-c++.cc: Check the declaration of acosf.
4695         * doc/posix-functions/acosf.texi: Mention the new module.
4696
4697         acos: Use a .m4 file.
4698         * m4/acos.m4: New file.
4699         * modules/acos (Files): Add it.
4700         (configure.ac): Just invoke gl_FUNC_ACOS.
4701
4702 2011-10-08  Bruno Haible  <bruno@clisp.org>
4703
4704         Tests for module 'asinf'.
4705         * modules/asinf-tests: New file.
4706         * tests/test-asinf.c: New file.
4707
4708         New module 'asinf'.
4709         * lib/math.in.h (asinf): New declaration.
4710         * lib/asinf.c: New file.
4711         * m4/asinf.m4: New file.
4712         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4714         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4715         * modules/asinf: New file.
4716         * tests/test-math-c++.cc: Check the declaration of asinf.
4717         * doc/posix-functions/asinf.texi: Mention the new module.
4718
4719         asin: Use a .m4 file.
4720         * m4/asin.m4: New file.
4721         * modules/asin (Files): Add it.
4722         (configure.ac): Just invoke gl_FUNC_ASIN.
4723
4724 2011-10-08  Bruno Haible  <bruno@clisp.org>
4725
4726         Tests for module 'tanf'.
4727         * modules/tanf-tests: New file.
4728         * tests/test-tanf.c: New file.
4729
4730         New module 'tanf'.
4731         * lib/math.in.h (tanf): New declaration.
4732         * lib/tanf.c: New file.
4733         * m4/tanf.m4: New file.
4734         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4736         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4737         * modules/tanf: New file.
4738         * tests/test-math-c++.cc: Check the declaration of tanf.
4739         * doc/posix-functions/tanf.texi: Mention the new module.
4740
4741         tan: Use a .m4 file.
4742         * m4/tan.m4: New file.
4743         * modules/tan (Files): Add it.
4744         (configure.ac): Just invoke gl_FUNC_TAN.
4745
4746 2011-10-08  Bruno Haible  <bruno@clisp.org>
4747
4748         Tests for module 'cosf'.
4749         * modules/cosf-tests: New file.
4750         * tests/test-cosf.c: New file.
4751
4752         New module 'cosf'.
4753         * lib/math.in.h (cosf): New declaration.
4754         * lib/cosf.c: New file.
4755         * m4/cosf.m4: New file.
4756         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4758         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4759         * modules/cosf: New file.
4760         * tests/test-math-c++.cc: Check the declaration of cosf.
4761         * doc/posix-functions/cosf.texi: Mention the new module.
4762
4763         cos: Use a .m4 file.
4764         * m4/cos.m4: New file.
4765         * modules/cos (Files): Add it.
4766         (configure.ac): Just invoke gl_FUNC_COS.
4767
4768 2011-10-08  Bruno Haible  <bruno@clisp.org>
4769
4770         Tests for module 'sinf'.
4771         * modules/sinf-tests: New file.
4772         * tests/test-sinf.c: New file.
4773
4774         New module 'sinf'.
4775         * lib/math.in.h (sinf): New declaration.
4776         * lib/sinf.c: New file.
4777         * m4/sinf.m4: New file.
4778         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4780         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4781         * modules/sinf: New file.
4782         * tests/test-math-c++.cc: Check the declaration of sinf.
4783         * doc/posix-functions/sinf.texi: Mention the new module.
4784
4785         sin: Use a .m4 file.
4786         * m4/sin.m4: New file.
4787         * modules/sin (Files): Add it.
4788         (configure.ac): Just invoke gl_FUNC_SIN.
4789
4790 2011-10-08  Bruno Haible  <bruno@clisp.org>
4791
4792         Tests for module 'powf'.
4793         * modules/powf-tests: New file.
4794         * tests/test-powf.c: New file.
4795
4796         New module 'powf'.
4797         * lib/math.in.h (powf): New declaration.
4798         * lib/powf.c: New file.
4799         * m4/powf.m4: New file.
4800         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4802         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4803         * modules/powf: New file.
4804         * tests/test-math-c++.cc: Check the declaration of powf.
4805         * doc/posix-functions/powf.texi: Mention the new module.
4806
4807         pow: Use a .m4 file.
4808         * m4/pow.m4: New file.
4809         * modules/pow (Files): Add it.
4810         (configure.ac): Just invoke gl_FUNC_POW.
4811
4812 2011-10-08  Bruno Haible  <bruno@clisp.org>
4813
4814         Tests for module 'log10f'.
4815         * modules/log10f-tests: New file.
4816         * tests/test-log10f.c: New file.
4817
4818         New module 'log10f'.
4819         * lib/math.in.h (log10f): New declaration.
4820         * lib/log10f.c: New file.
4821         * m4/log10f.m4: New file.
4822         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4823         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4824         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4825         * modules/log10f: New file.
4826         * tests/test-math-c++.cc: Check the declaration of log10f.
4827         * doc/posix-functions/log10f.texi: Mention the new module.
4828
4829         log10: Use a .m4 file.
4830         * m4/log10.m4: New file.
4831         * modules/log10 (Files): Add it.
4832         (configure.ac): Just invoke gl_FUNC_LOG10.
4833
4834 2011-10-08  Bruno Haible  <bruno@clisp.org>
4835
4836         Tests for module 'logf'.
4837         * modules/logf-tests: New file.
4838         * tests/test-logf.c: New file.
4839
4840         New module 'logf'.
4841         * lib/math.in.h (logf): New declaration.
4842         * lib/logf.c: New file.
4843         * m4/logf.m4: New file.
4844         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4846         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4847         * modules/logf: New file.
4848         * tests/test-math-c++.cc: Check the declaration of logf.
4849         * doc/posix-functions/logf.texi: Mention the new module.
4850
4851         log: Use a .m4 file.
4852         * m4/log.m4: New file.
4853         * modules/log (Files): Add it.
4854         (configure.ac): Just invoke gl_FUNC_LOG.
4855
4856 2011-10-08  Bruno Haible  <bruno@clisp.org>
4857
4858         Tests for module 'expf'.
4859         * modules/expf-tests: New file.
4860         * tests/test-expf.c: New file.
4861
4862         New module 'expf'.
4863         * lib/math.in.h (expf): New declaration.
4864         * lib/expf.c: New file.
4865         * m4/expf.m4: New file.
4866         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4867         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4868         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4869         * modules/expf: New file.
4870         * tests/test-math-c++.cc: Check the declaration of expf.
4871         * doc/posix-functions/expf.texi: Mention the new module.
4872
4873         exp: Use a .m4 file.
4874         * m4/exp.m4: New file.
4875         * modules/exp (Files): Add it.
4876         (configure.ac): Just invoke gl_FUNC_EXP.
4877
4878 2011-10-08  Bruno Haible  <bruno@clisp.org>
4879
4880         Tests for module 'sqrtf'.
4881         * modules/sqrtf-tests: New file.
4882         * tests/test-sqrtf.c: New file.
4883
4884         New module 'sqrtf'.
4885         * lib/math.in.h (sqrtf): New declaration.
4886         * lib/sqrtf.c: New file.
4887         * m4/sqrtf.m4: New file.
4888         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4890         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4891         * modules/sqrtf: New file.
4892         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4893         * doc/posix-functions/sqrtf.texi: Mention the new module.
4894
4895 2011-10-08  Bruno Haible  <bruno@clisp.org>
4896
4897         Tests: Avoid link failures w.r.t. libintl.
4898         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4899         $(LIBINTL).
4900         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4901         $(LIBINTL).
4902         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4903         against $(LIBINTL).
4904         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4905         $(LIBINTL).
4906         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4907         $(LIBINTL).
4908         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4909
4910 2011-10-08  Bruno Haible  <bruno@clisp.org>
4911
4912         pow tests: Defeat compiler optimizations.
4913         * tests/test-pow.c (main): Assign arguments to x and y before use.
4914
4915 2011-10-08  Bruno Haible  <bruno@clisp.org>
4916
4917         gnulib-tool: Improve last commit.
4918         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4919         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4920         ignore dependencies that are not among the modules list.
4921
4922 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4923
4924         gnulib-tool: don't follow dependencies to avoided modules
4925         This fixes a bug that is related to the previous one.
4926         * gnulib-tool (func_modules_transitive_closure)
4927         (func_emit_autoconf_snippets):
4928         Check whether a dependency is acceptable before using it.
4929         (--extract-dependencies): Report an error if --avoid is also used,
4930         since this combination of options is not yet supported.
4931
4932         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4933         Problem reported by Peter Dyballa in
4934         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4935         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4936         when echoing "$condition".
4937
4938 2011-10-07  Bruno Haible  <bruno@clisp.org>
4939
4940         Fix documentation about math functions on MacOS X.
4941         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4942         MacOS X 10.5.
4943         * doc/posix-functions/fdim.texi: Likewise.
4944         * doc/posix-functions/feclearexcept.texi: Likewise.
4945         * doc/posix-functions/fegetenv.texi: Likewise.
4946         * doc/posix-functions/fegetround.texi: Likewise.
4947         * doc/posix-functions/feholdexcept.texi: Likewise.
4948         * doc/posix-functions/feraiseexcept.texi: Likewise.
4949         * doc/posix-functions/fesetenv.texi: Likewise.
4950         * doc/posix-functions/fesetround.texi: Likewise.
4951         * doc/posix-functions/fetestexcept.texi: Likewise.
4952         * doc/posix-functions/feupdateenv.texi: Likewise.
4953         * doc/posix-functions/fmax.texi: Likewise.
4954         * doc/posix-functions/fmin.texi: Likewise.
4955         * doc/posix-functions/log2.texi: Likewise.
4956         * doc/posix-functions/modff.texi: Likewise.
4957         * doc/posix-functions/nan.texi: Likewise.
4958         * doc/posix-functions/nanf.texi: Likewise.
4959         * doc/posix-functions/nextafterf.texi: Likewise.
4960         * doc/posix-functions/remquo.texi: Likewise.
4961
4962 2011-10-07  Bruno Haible  <bruno@clisp.org>
4963
4964         modff: Drop assumption about library that defines modff.
4965         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4966         AC_CHECK_FUNCS.
4967         * modules/modff (Files): Add m4/mathfunc.m4.
4968
4969 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4970
4971         raise tests: Avoid a GCC warning.
4972         * tests/test-raise.c (handler): Use _Noreturn.
4973
4974 2011-10-07  Bruno Haible  <bruno@clisp.org>
4975
4976         Tests for module 'ldexpf'.
4977         * modules/ldexpf-tests: New file.
4978         * tests/test-ldexpf.c: New file.
4979
4980         New module 'ldexpf'.
4981         * lib/math.in.h (ldexpf): New declaration.
4982         * lib/ldexpf.c: New file.
4983         * m4/ldexpf.m4: New file.
4984         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4986         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4987         * modules/ldexpf: New file.
4988         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4989         * doc/posix-functions/ldexpf.texi: Mention the new module.
4990
4991 2011-10-06  Bruno Haible  <bruno@clisp.org>
4992
4993         frexpf: Work around problems on IRIX and mingw.
4994         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4996         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4997         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4998         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4999         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5000         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5001
5002 2011-10-06  Bruno Haible  <bruno@clisp.org>
5003
5004         fabsf: Drop assumption about library that defines fabsf.
5005         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5006         AC_CHECK_FUNCS.
5007         * modules/fabsf (Files): Add m4/mathfunc.m4.
5008
5009 2011-10-06  Bruno Haible  <bruno@clisp.org>
5010
5011         frexpf: Drop assumption about library that defines frexpf.
5012         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5013         'int *', 'float *', 'long double *', 'float', 'long double'.
5014         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5015         AC_CHECK_FUNCS.
5016         * modules/frexpf (Files): Add m4/mathfunc.m4.
5017
5018         Tests for module 'frexpf'.
5019         * modules/frexpf-tests: New file.
5020         * tests/test-frexpf.c: New file.
5021
5022         New module 'frexpf'.
5023         * lib/math.in.h (frexpf): New declaration.
5024         * lib/frexpf.c: New file.
5025         * m4/frexpf.m4: New file.
5026         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5028         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5029         * modules/frexpf: New file.
5030         * tests/test-math-c++.cc: Check the declaration of frexpf.
5031         * doc/posix-functions/frexpf.texi: Mention the new module.
5032
5033 2011-10-06  Bruno Haible  <bruno@clisp.org>
5034
5035         math: Sort function declarations of math.in.h.
5036         * lib/math.in.h (frexp, logb): Move declarations.
5037
5038 2011-10-05  Bruno Haible  <bruno@clisp.org>
5039
5040         Tests for module 'modff'.
5041         * modules/modff-tests: New file.
5042         * tests/test-modff.c: New file.
5043
5044         New module 'modff'.
5045         * lib/math.in.h (modff): New declaration.
5046         * lib/modff.c: New file.
5047         * m4/modff.m4: New file.
5048         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5050         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5051         * modules/modff: New file.
5052         * tests/test-math-c++.cc: Check the declaration of modff.
5053         * doc/posix-functions/modff.texi: Mention the new module.
5054
5055         modf tests: Make test sharper.
5056         * tests/test-modf.c (main): Strengthen upper bound.
5057
5058         modf: Use a .m4 file.
5059         * m4/modf.m4: New file.
5060         * modules/modf (Files): Add it.
5061         (configure.ac): Just invoke gl_FUNC_MODF.
5062
5063 2011-10-05  Bruno Haible  <bruno@clisp.org>
5064
5065         Tests for module 'fmodf'.
5066         * modules/fmodf-tests: New file.
5067         * tests/test-fmodf.c: New file.
5068
5069         New module 'fmodf'.
5070         * lib/math.in.h (fmodf): New declaration.
5071         * lib/fmodf.c: New file.
5072         * m4/fmodf.m4: New file.
5073         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5075         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5076         * modules/fmodf: New file.
5077         * tests/test-math-c++.cc: Check the declaration of fmodf.
5078         * doc/posix-functions/fmodf.texi: Mention the new module.
5079
5080         fmod: Use a .m4 file.
5081         * m4/fmod.m4: New file.
5082         * modules/fmod (Files): Add it.
5083         (configure.ac): Just invoke gl_FUNC_FMOD.
5084
5085 2011-10-05  Bruno Haible  <bruno@clisp.org>
5086
5087         Tests for module 'fabsf'.
5088         * modules/fabsf-tests: New file.
5089         * tests/test-fabsf.c: New file.
5090
5091         New module 'fabsf'.
5092         * lib/math.in.h (fabsf): New declaration.
5093         * lib/fabsf.c: New file.
5094         * m4/fabsf.m4: New file.
5095         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5097         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5098         * modules/fabsf: New file.
5099         * tests/test-math-c++.cc: Check the declaration of fabsf.
5100         * doc/posix-functions/fabsf.texi: Mention the new module.
5101
5102         fabs: Use a .m4 file.
5103         * m4/fabs.m4: New file.
5104         * modules/fabs (Files): Add it.
5105         (configure.ac): Just invoke gl_FUNC_FABS.
5106
5107 2011-10-05  Jim Meyering  <meyering@redhat.com>
5108
5109         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5110         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5111         ls -lL regression introduced in coreutils-8.12, it does so at the
5112         cost of an additional stat call in the common case.  Besides, now
5113         that the kernel change that prompted commit 95f7c57f has been reverted
5114         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5115         we have no use for commit 95f7c57f, "file-has-acl: use
5116         acl_extended_file_nofollow if available".
5117
5118 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5119
5120         file-has-acl: revert unintended change in behavior of ls -L
5121         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5122         derived from...
5123         (file_has_acl): ...code here.  Call it.
5124         This problem was introduced with 2011-07-22 commit 95f7c57f,
5125         "file-has-acl: use acl_extended_file_nofollow if available".
5126         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5127
5128 2011-10-03  Bruno Haible  <bruno@clisp.org>
5129
5130         poll: Avoid link errors on MSVC.
5131         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5132         * modules/poll (Depends-on): Add sockets.
5133         (Link): New section.
5134         * NEWS: Mention the change.
5135         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5136         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5137         $(LIB_POLL) instead of $(LIBSOCKET).
5138
5139 2011-10-03  Bruno Haible  <bruno@clisp.org>
5140
5141         sys_select tests: Fix link error on MSVC 9.
5142         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5143         with $(LIB_SELECT) instead of $(LIBSOCKET).
5144
5145 2011-10-03  Bruno Haible  <bruno@clisp.org>
5146
5147         sys_select: Fix compilation error on mingw.
5148         * lib/sys_select.in.h: On native Windows, include <io.h>.
5149
5150 2011-10-03  Bruno Haible  <bruno@clisp.org>
5151
5152         wmemset: Support for MSVC.
5153         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5154         whether wmemset() exists.
5155
5156 2011-10-03  Bruno Haible  <bruno@clisp.org>
5157
5158         wmemmove: Support for MSVC.
5159         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5160         whether wmemmove() exists.
5161
5162 2011-10-03  Bruno Haible  <bruno@clisp.org>
5163
5164         wmemcpy: Support for MSVC.
5165         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5166         whether wmemcpy() exists.
5167
5168 2011-10-03  Bruno Haible  <bruno@clisp.org>
5169
5170         wmemcmp: Support for MSVC.
5171         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5172         whether wmemcmp() exists.
5173
5174 2011-10-03  Bruno Haible  <bruno@clisp.org>
5175
5176         wmemchr: Support for MSVC.
5177         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5178         whether wmemchr() exists.
5179
5180 2011-10-03  Bruno Haible  <bruno@clisp.org>
5181
5182         glthread/*, strsignal: Support for MSVC.
5183         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5184         including <winsock.h> on MSVC 9.
5185         * lib/glthread/lock.h: Likewise.
5186         * lib/glthread/thread.h: Likewise.
5187         * lib/glthread/tls.h: Likewise.
5188         * lib/glthread/yield.h: Likewise.
5189         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
5190         if HAVE_UNISTD_H is false.
5191         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
5192
5193 2011-10-03  Bruno Haible  <bruno@clisp.org>
5194
5195         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
5196         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
5197         Set to 100000.
5198
5199 2011-10-03  Bruno Haible  <bruno@clisp.org>
5200
5201         acl: Fix specification.
5202         * lib/file-has-acl.c (file_has_acl): Fix specification.
5203
5204 2011-10-03  Bruno Haible  <bruno@clisp.org>
5205
5206         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
5207         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
5208         (compute_curr_prefix, shared_library_fullname,
5209         find_shared_library_fullname, get_shared_library_fullname, relocate):
5210         Use it together with PIC && INSTALLDIR.
5211         Reported by <jojelino@gmail.com>
5212         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
5213
5214 2011-10-01  Jim Meyering  <meyering@redhat.com>
5215
5216         maint.mk: adjust a release-related rule not to require use of gzip
5217         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
5218         Instead, check each file in $(DIST_ARCHIVES).  This is better for
5219         projects that build only .tar.xz files.  Also fix an erroneous test.
5220
5221         test-linkat: don't leave behind a temporary file
5222         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
5223         Otherwise, coreutils' "make distcheck" would fail with this:
5224           Only in /c/cu/tests/torture/coreutils/test/\
5225             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
5226           make[2]: *** [my-distcheck] Error 1
5227
5228         float, math: add omitted file
5229         * lib/itold.c: Add file, required for yesterday's float change.
5230
5231 2011-10-01  Bruno Haible  <bruno@clisp.org>
5232
5233         isinf: Fix for OpenBSD/x86.
5234         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
5235         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
5236         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
5237
5238 2011-10-01  Bruno Haible  <bruno@clisp.org>
5239
5240         isfinite: Fix syntax error in configure test.
5241         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
5242
5243         isfinite: Fix typo.
5244         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
5245         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
5246
5247 2011-10-01  Bruno Haible  <bruno@clisp.org>
5248
5249         nonblocking tests: Fix test failure on Linux/IA-64.
5250         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
5251         Set to 270000.
5252
5253 2011-10-01  Bruno Haible  <bruno@clisp.org>
5254
5255         mkfifoat tests: Fix a test failure on mingw.
5256         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
5257         with error ENOSYS.
5258
5259 2011-09-30  Bruno Haible  <bruno@clisp.org>
5260
5261         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
5262         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
5263         'long double'. Set REPLACE_ITOLD.
5264         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
5265         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
5266         * lib/itold.c: New file.
5267         * modules/float (Files): Add lib/itold.c.
5268         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
5269         (Makefile.am): Substitute REPLACE_ITOLD.
5270         * modules/math (Depends-on): Add float.
5271         (Makefile.am): Substitute REPLACE_ITOLD.
5272         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
5273         * doc/posix-headers/math.texi: Likewise.
5274         * doc/posix-functions/logl.texi: Likewise.
5275
5276 2011-09-30  Bruno Haible  <bruno@clisp.org>
5277
5278         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
5279         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
5280         Set to 140000.
5281
5282 2011-09-30  Bruno Haible  <bruno@clisp.org>
5283
5284         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
5285         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
5286         invocation, say "right after AC_PROG_CC_STDC", not "right after
5287         AC_PROG_CC".
5288         Reported by Gary V. Vaughan <gary@gnu.org>.
5289
5290 2011-09-30  Bruno Haible  <bruno@clisp.org>
5291
5292         Centralize C99 requirement.
5293         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
5294         * modules/stdarg (configure.ac-early): Invoke it instead of
5295         AC_PROG_CC_STDC.
5296         Reported by Gary V. Vaughan and Paul Eggert.
5297
5298 2011-09-29  Bruno Haible  <bruno@clisp.org>
5299
5300         float: Fix LDBL_MAX value on Linux/PowerPC.
5301         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
5302         on Linux/PowerPC.
5303         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
5304         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
5305         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
5306         platform.
5307         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5308
5309 2011-09-29  Bruno Haible  <bruno@clisp.org>
5310
5311         doc: Improve doc about gl_EARLY.
5312         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5313         AC_PROG_CC_STDC invocation.
5314         Reported by Gary V. Vaughan <gary@gnu.org>.
5315
5316 2011-09-28  Bruno Haible  <bruno@clisp.org>
5317
5318         fgetc, fputc, fread, fwrite tests: Fix link error.
5319         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5320         on non-MSVC platforms.
5321         * tests/test-fputc.c (main): Likewise.
5322         * tests/test-fread.c (main): Likewise.
5323         * tests/test-fwrite.c (main): Likewise.
5324         Reported by Jim Meyering.
5325
5326 2011-09-27  Bruno Haible  <bruno@clisp.org>
5327
5328         fputc, fwrite tests: Avoid test failure on MSVC.
5329         * tests/test-fgetc.c: Include msvc-inval.h.
5330         (main): Invoke gl_msvc_inval_ensure_handler.
5331         * tests/test-fputc.c: Include msvc-inval.h.
5332         (main): Invoke gl_msvc_inval_ensure_handler.
5333         * tests/test-fread.c: Include msvc-inval.h.
5334         (main): Invoke gl_msvc_inval_ensure_handler.
5335         * tests/test-fwrite.c: Include msvc-inval.h.
5336         (main): Invoke gl_msvc_inval_ensure_handler.
5337         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5338         * modules/fputc-tests (Depends-on): Likewise.
5339         * modules/fread-tests (Depends-on): Likewise.
5340         * modules/fwrite-tests (Depends-on): Likewise.
5341
5342 2011-09-27  Bruno Haible  <bruno@clisp.org>
5343
5344         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5345         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5346         (raise): Remove older, duplicated declaration.
5347         (_gl_raise_SIGPIPE): New declaration.
5348         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5349         (rpl_raise): Remove function.
5350         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5351         a gnulib-defined SIGPIPE here.
5352         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5353         'sigprocmask' has detected missing signal-blocking and the module
5354         'sigpipe' is enabled.
5355         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5356
5357 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
5358
5359         base64-tests: avoid memory leak
5360         * tests/test-base64.c (main): Plug memory leak.
5361
5362         base32: new module
5363         * modules/base32: New module.
5364         * lib/base32.c: New file.
5365         * lib/base32.h: Likewise.
5366         * m4/base32.m4: Likewise.
5367         * modules/base32-tests: New test.
5368         * tests/test-base32.c: Likewise.
5369         * MODULES.html.sh (Misc): Mention it.
5370
5371 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5372
5373         gnulib: use more-standard license notice wording
5374         * gnulib-tool (func_emit_copyright_notice): When emitting a
5375         license notice into a file, use the standard wording as suggested
5376         by the current information for GNU maintainers, except say "file"
5377         rather than "program".  The new wording gives a license version
5378         number, which addresses an issue raised by Glenn Morris in
5379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5380         * m4/onceonly.m4: Use that same wording here, too.
5381
5382         dup2: minor simplification
5383         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5384         as lib/dup2.c no longer uses 'inline'.
5385
5386 2011-09-25  Bruno Haible  <bruno@clisp.org>
5387
5388         strings: Fix compilation error on MSVC.
5389         * lib/strings.in.h: Include <stddef.h> for size_t.
5390
5391 2011-09-25  Bruno Haible  <bruno@clisp.org>
5392
5393         fflush et al.: Document limitation on MSVC.
5394         * doc/posix-functions/fflush.texi: Document possible crash in handling
5395         mode other than DEFAULT_HANDLING.
5396         * doc/posix-functions/fgetc.texi: Likewise.
5397         * doc/posix-functions/fputc.texi: Likewise.
5398         * doc/posix-functions/fread.texi: Likewise.
5399         * doc/posix-functions/fwrite.texi: Likewise.
5400
5401 2011-09-25  Bruno Haible  <bruno@clisp.org>
5402
5403         msvc-inval: Allow three invalid parameter handling modes.
5404         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5405         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5406         macros.
5407         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5408         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5409         SANE_LIBRARY_HANDLING as a no-op.
5410         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5411         <stdlib.h>.
5412         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
5413
5414 2011-09-25  Bruno Haible  <bruno@clisp.org>
5415
5416         msvc-inval: Make handler multithread-safe.
5417         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
5418         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
5419         declarations.
5420         (gl_msvc_inval_current): New declaration.
5421         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5422         Operate on the structure returned by gl_msvc_inval_current().
5423         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
5424         Remove varaiables.
5425         (tls_index, tls_initialized): New variables.
5426         (not_per_thread): New variable.
5427         (gl_msvc_inval_current): New function.
5428         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
5429         returned by gl_msvc_inval_current().
5430
5431 2011-09-25  Bruno Haible  <bruno@clisp.org>
5432
5433         msvc-inval: Install handler globally.
5434         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
5435         !_MSC_VER.
5436         (gl_msvc_invalid_parameter_handler): Remove declaration.
5437         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
5438         declarations.
5439         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5440         Install the handler globally, don't uninstall it.
5441         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
5442         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
5443         currently valid, call RaiseException instead.
5444         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
5445         for !_MSC_VER.
5446
5447 2011-09-25  Bruno Haible  <bruno@clisp.org>
5448
5449         strerror_r-posix: Fix for MSVC 9.
5450         * lib/strerror_r.c (local_snprintf): New function.
5451         (snprintf): Define to local_snprintf, not to _snprintf.
5452
5453 2011-09-25  Bruno Haible  <bruno@clisp.org>
5454
5455         ftruncate: Support for MSVC 9.
5456         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
5457         (chsize_nothrow): New function.
5458         (chsize): Redefine as a macro.
5459         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
5460         * modules/ftruncate (Depends-on): Add msvc-inval.
5461
5462 2011-09-25  Bruno Haible  <bruno@clisp.org>
5463
5464         New module 'fstat'.
5465         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
5466         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
5467         * lib/fchdir.c (rpl_fstat): Remove function.
5468         * m4/fstat.m4: New file.
5469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
5470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
5471         declared.
5472         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
5473         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
5474         * modules/fstat: New file.
5475         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
5476         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
5477         is set.
5478         * doc/posix-functions/fstat.texi: Mention the new module and the
5479         problem on MSVC.
5480         * NEWS: Mention the change.
5481         * modules/acl (Depends-on): Add fstat.
5482         * modules/chdir-safer (Depends-on): Likewise.
5483         * modules/chown (Depends-on): Likewise.
5484         * modules/copy-file (Depends-on): Likewise.
5485         * modules/fchdir (Depends-on): Likewise.
5486         * modules/fdopendir (Depends-on): Likewise.
5487         * modules/fopen (Depends-on): Likewise.
5488         * modules/fts (Depends-on): Likewise.
5489         * modules/getcwd (Depends-on): Likewise.
5490         * modules/isapipe (Depends-on): Likewise.
5491         * modules/linkat (Depends-on): Likewise.
5492         * modules/lseek (Depends-on): Likewise.
5493         * modules/mkdir-p (Depends-on): Likewise.
5494         * modules/open (Depends-on): Likewise.
5495         * modules/openat (Depends-on): Likewise.
5496         * modules/read-file (Depends-on): Likewise.
5497         * modules/renameat (Depends-on): Likewise.
5498         * modules/utimens (Depends-on): Likewise.
5499
5500 2011-09-25  Bruno Haible  <bruno@clisp.org>
5501
5502         linkat: Fix compilation on MSVC 9.
5503         * lib/linkat.c: Don't include <stdint.h>.
5504
5505 2011-09-25  Bruno Haible  <bruno@clisp.org>
5506
5507         fclose: Support for MSVC 9.
5508         * lib/fclose.c: Include msvc-inval.h.
5509         (fclose_nothrow): New function.
5510         (rpl_fclose): Use it.
5511         * modules/fclose (Depends-on): Add msvc-inval.
5512         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5513
5514 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5515
5516         dup2: minor simplifications
5517         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5518         that it's a performance win.
5519         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5520         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5521
5522 2011-09-24  Jim Meyering  <meyering@redhat.com>
5523
5524         test-futimens: avoid a warning from gcc -Wshadow
5525         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5526         to avoid a shadowing warning.
5527
5528 2011-09-24  Bruno Haible  <bruno@clisp.org>
5529
5530         fdopen: Support for MSVC 9.
5531         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5532         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5533         * lib/fdopen.c: Include msvc-inval.h.
5534         (fdopen_nothrow): New function.
5535         (rpl_fdopen): Use it.
5536         * modules/fdopen (Depends-on): Add msvc-inval.
5537         * modules/fclose-tests (Depends-on): Add fdopen.
5538         * modules/fflush-tests (Depends-on): Likewise.
5539         * modules/fgetc-tests (Depends-on): Likewise.
5540         * modules/fputc-tests (Depends-on): Likewise.
5541         * modules/fread-tests (Depends-on): Likewise.
5542         * modules/freopen-tests (Depends-on): Likewise.
5543         * modules/fseeko-tests (Depends-on): Likewise.
5544         * modules/ftello-tests (Depends-on): Likewise.
5545         * modules/fwrite-tests  (Depends-on): Likewise.
5546         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5547
5548 2011-09-24  Bruno Haible  <bruno@clisp.org>
5549
5550         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5551         * modules/fgetc-tests (Depends-on): Add unistd.
5552         * modules/fputc-tests (Depends-on): Likewise.
5553         * modules/fread-tests (Depends-on): Likewise.
5554         * modules/fwrite-tests (Depends-on): Likewise.
5555
5556 2011-09-24  Bruno Haible  <bruno@clisp.org>
5557
5558         dup: Simplify autoconf test.
5559         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5560         on gl_MSVC_INVAL's result.
5561
5562 2011-09-24  Bruno Haible  <bruno@clisp.org>
5563
5564         Tests for function fwrite().
5565         * modules/fwrite-tests: New file.
5566         * tests/test-fwrite.c: New file.
5567         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5568
5569         Tests for function fread().
5570         * modules/fread-tests: New file.
5571         * tests/test-fread.c: New file.
5572         * modules/stdio-tests (Depends-on): Add fread-tests.
5573
5574         Activate fputc tests.
5575         * modules/stdio-tests (Depends-on): Add fputc-tests.
5576
5577         Enhance fgetc, fputc tests.
5578         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5579         * tests/test-fputc.c (main): Likewise.
5580
5581 2011-09-24  Bruno Haible  <bruno@clisp.org>
5582
5583         write: Support for MSVC 9.
5584         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5585         is not 1.
5586         * lib/write.c (write_nothrow): New function.
5587         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5588         not 1. Use write_nothrow.
5589         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5590         invalid parameter handler.
5591         (gl_PREREQ_WRITE): New macro.
5592         * modules/write (Depends-on): Add msvc-inval.
5593         (configure.ac): Invoke gl_PREREQ_WRITE.
5594         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5595
5596 2011-09-24  Bruno Haible  <bruno@clisp.org>
5597
5598         read: Fix last commit.
5599         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5600
5601 2011-09-24  Bruno Haible  <bruno@clisp.org>
5602
5603         dup2: Fix last commit.
5604         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5605         (rpl_dup2): Disable fcntl workaround on native Windows.
5606
5607         sigprocmask: Make code safer.
5608         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5609         section that changes macro definitions for this compilation unit.
5610
5611 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5612
5613         dup2: clarify by coalescing Windows-specific material
5614         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5615         "msvc-nothrow.h"' to the Windows-specific section, so that the
5616         Emacs source need not contain these include files.
5617         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5618         Windows-specific fixes into this function rather than just the
5619         nothrow fix, as this shortens and clarifies the code.  Always
5620         define as a function, as that's a bit cleaner than having it be
5621         sometimes a function and sometimes a macro.
5622         (rpl_dup2): Move the Windows-specific stuff out of here and into
5623         ms_windows_dup2.  Don't protect the Haiku-related fix with
5624         "#if !defined __linux__", as the same code also works around
5625         a Linux kernel bug, and it doesn't add any system calls on any
5626         platform.  Add comment about FreeBSD 6.1.
5627
5628         sigprocmask: move #include directive
5629         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5630         Windows-specific section, so that the Emacs source need not
5631         contain msvc-inval.h.
5632
5633 2011-09-23  Bruno Haible  <bruno@clisp.org>
5634
5635         read: Support for MSVC 9.
5636         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5637         is not 1.
5638         * lib/read.c (read_nothrow): New function.
5639         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5640         read_nothrow.
5641         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5642         invalid parameter handler.
5643         (gl_PREREQ_READ): New macro.
5644         * modules/read (Depends-on): Add msvc-inval.
5645         (configure.ac): Invoke gl_PREREQ_READ.
5646         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5647
5648 2011-09-23  Bruno Haible  <bruno@clisp.org>
5649
5650         close: Support for MSVC 9.
5651         * lib/close.c: Include <errno.h>, msvc-inval.h.
5652         (close_nothrow): New function.
5653         (rpl_close): Use it.
5654         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5655         invalid parameter handler.
5656         * modules/close (Depends-on): Add msvc-inval.
5657         * modules/dup2-tests (Depends-on): Add close.
5658         * modules/dup3-tests (Depends-on): Likewise.
5659         * modules/fcntl-tests (Depends-on): Likewise.
5660         * modules/spawn-pipe-tests (Depends-on): Likewise.
5661         * modules/unistd-safer-tests (Depends-on): Likewise.
5662         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5663
5664 2011-09-23  Bruno Haible  <bruno@clisp.org>
5665
5666         New module 'dup'.
5667         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5668         Allow replacement.
5669         * lib/dup.c: New file.
5670         * lib/fchdir.c (rpl_dup): Remove function.
5671         * m4/dup.m4: New file.
5672         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5673         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5674         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5675         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5676         * modules/dup: New file.
5677         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5678         'dup' module is in use.
5679         * modules/fdopendir (Depends-on): Add dup.
5680         * modules/fdutimensat-tests (Depends-on): Likewise.
5681         * modules/fts (Depends-on): Likewise.
5682         * modules/futimens-tests (Depends-on): Likewise.
5683         * modules/posix_spawnp-tests (Depends-on): Likewise.
5684         * modules/unistd-safer-tests (Depends-on): Likewise.
5685         * modules/utimens-tests (Depends-on): Likewise.
5686         * doc/posix-functions/dup.texi: Mention the new module and the problem
5687         on MSVC.
5688
5689 2011-09-23  Bruno Haible  <bruno@clisp.org>
5690
5691         getdtablesize: Support for MSVC 9.
5692         * lib/getdtablesize.c: Include msvc-inval.h.
5693         (_setmaxstdio_nothrow): New function.
5694         (_setmaxstdio): Redefine it.
5695         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5696         * modules/getdtablesize (Depends-on): Add msvc-inval.
5697         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5698
5699 2011-09-23  Bruno Haible  <bruno@clisp.org>
5700
5701         signal-h: Rename from signal.
5702         * modules/signal-h: Renamed from modules/signal.
5703         * modules/pthread_sigmask (Depends-on): Update.
5704         * modules/raise (Depends-on): Likewise.
5705         * modules/sigaction (Depends-on): Likewise.
5706         * modules/sigpipe (Depends-on): Likewise.
5707         * modules/sigprocmask (Depends-on): Likewise.
5708         * modules/sys_select (Depends-on): Likewise.
5709         * modules/signal-h-tests: Renamed from modules/signal-tests.
5710         (Files, Depends-on, Makefile.am): Update.
5711         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5712         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5713         (Files, Makefile.am): Update.
5714         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5715         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5716         * modules/signal: New placeholder file.
5717         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5718         * doc/posix-headers/signal.texi: Update.
5719         * NEWS: Mention the change.
5720
5721 2011-09-23  Bruno Haible  <bruno@clisp.org>
5722
5723         sigprocmask: Avoid crashes through signal() on MSVC 9.
5724         * lib/sigprocmask.c: Include msvc-inval.h.
5725         (signal_nothrow): New function.
5726         (signal): Redefine it.
5727         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5728         * modules/sigprocmask (Depends-on): Add msvc-inval.
5729         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5730
5731 2011-09-23  Bruno Haible  <bruno@clisp.org>
5732
5733         Tests for module 'raise'.
5734         * modules/raise-tests: New file.
5735         * tests/test-raise.c: New file.
5736
5737         raise: Support for MSVC.
5738         * lib/signal.in.h (raise): New declaration.
5739         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5740         for native Windows platforms.
5741         * m4/raise.m4: New file.
5742         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5743         HAVE_RAISE, REPLACE_RAISE.
5744         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5745         REPLACE_RAISE.
5746         * modules/raise (Status, Notice): Remove fields.
5747         (Files): Add m4/raise.m4.
5748         (Depends-on): Add signal, msvc-inval.
5749         (configure.ac): Use the common idioms.
5750         (Maintainer): Add me.
5751         * tests/test-signal-c++.cc: Check the signature of raise.
5752         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5753
5754 2011-09-23  Bruno Haible  <bruno@clisp.org>
5755
5756         pipe2: Fix compilation on pre-C99 compilers.
5757         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5758
5759 2011-09-23  Bruno Haible  <bruno@clisp.org>
5760
5761         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5762         * lib/msvc-nothrow.h: New file.
5763         * lib/msvc-nothrow.c: New file.
5764         * m4/msvc-nothrow.m4: New file.
5765         * modules/msvc-nothrow: New file.
5766         * lib/dup2.c: Include msvc-nothrow.h.
5767         (rpl_dup2): No need to protect _get_osfhandle call here.
5768         * lib/accept4.c: Include msvc-nothrow.h.
5769         * lib/error.c: Likewise.
5770         * lib/fcntl.c: Likewise.
5771         * lib/lseek.c: Likewise.
5772         * lib/nonblocking.c: Likewise.
5773         * lib/poll.c: Likewise.
5774         * lib/read.c: Likewise.
5775         * lib/select.c: Likewise.
5776         * lib/sockets.h: Likewise.
5777         * lib/sockets.c: Likewise.
5778         * lib/stdio-read.c: Likewise.
5779         * lib/stdio-write.c: Likewise.
5780         * lib/write.c: Likewise.
5781         * lib/w32sock.h: Likewise.
5782         * lib/w32spawn.h: Likewise.
5783         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5784         * lib/fsync.c: Likewise.
5785         * lib/isapipe.c: Likewise.
5786         * modules/dup2 (Depends-on): Add msvc-nothrow.
5787         * modules/accept4 (Depends-on): Likewise.
5788         * modules/error (Depends-on): Likewise.
5789         * modules/fcntl (Depends-on): Likewise.
5790         * modules/lseek (Depends-on): Likewise.
5791         * modules/nonblocking (Depends-on): Likewise.
5792         * modules/poll (Depends-on): Likewise.
5793         * modules/read (Depends-on): Likewise.
5794         * modules/select (Depends-on): Likewise.
5795         * modules/sockets (Depends-on): Likewise.
5796         * modules/sigpipe (Depends-on): Likewise.
5797         * modules/write (Depends-on): Likewise.
5798         * modules/accept (Depends-on): Likewise.
5799         * modules/bind (Depends-on): Likewise.
5800         * modules/connect (Depends-on): Likewise.
5801         * modules/gethostname (Depends-on): Likewise.
5802         * modules/getpeername (Depends-on): Likewise.
5803         * modules/getsockname (Depends-on): Likewise.
5804         * modules/getsockopt (Depends-on): Likewise.
5805         * modules/ioctl (Depends-on): Likewise.
5806         * modules/listen (Depends-on): Likewise.
5807         * modules/recv (Depends-on): Likewise.
5808         * modules/recvfrom (Depends-on): Likewise.
5809         * modules/send (Depends-on): Likewise.
5810         * modules/sendto (Depends-on): Likewise.
5811         * modules/setsockopt (Depends-on): Likewise.
5812         * modules/shutdown (Depends-on): Likewise.
5813         * modules/socket (Depends-on): Likewise.
5814         * modules/execute (Depends-on): Likewise.
5815         * modules/spawn-pipe (Depends-on): Likewise.
5816         * modules/flock (Depends-on): Likewise.
5817         * modules/fsync (Depends-on): Likewise.
5818         * modules/isapipe (Depends-on): Likewise.
5819         * tests/test-cloexec.c: Include msvc-nothrow.h.
5820         * tests/test-dup-safer.c: Likewise.
5821         * tests/test-dup2.c: Likewise.
5822         * tests/test-dup3.c: Likewise.
5823         * tests/test-fcntl.c: Likewise.
5824         * tests/test-pipe.c: Likewise.
5825         * tests/test-pipe2.c: Likewise.
5826         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5827         * modules/unistd-safer-tests (Depends-on): Likewise.
5828         * modules/dup2-tests (Depends-on): Likewise.
5829         * modules/dup3-tests (Depends-on): Likewise.
5830         * modules/fcntl-tests (Depends-on): Likewise.
5831         * modules/pipe-posix-tests (Depends-on): Likewise.
5832         * modules/pipe2-tests (Depends-on): Likewise.
5833
5834 2011-09-23  Bruno Haible  <bruno@clisp.org>
5835
5836         dup2: Make code more maintainable.
5837         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5838         (rpl_dup2): Use it.
5839         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5840         * modules/dup2 (configure.ac): Invoke it.
5841         Reported by Paul Eggert.
5842
5843 2011-09-23  Bruno Haible  <bruno@clisp.org>
5844
5845         msvc-inval: Fix compilation error.
5846         * lib/msvc-inval.h: Include <excpt.h>.
5847
5848 2011-09-23  Bruno Haible  <bruno@clisp.org>
5849
5850         mkdir: Tweak for MSVC 9.
5851         * lib/sys_stat.in.h: Update comments.
5852         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5853
5854         Tests for module 'chdir'.
5855         * modules/chdir-tests: New file.
5856         * tests/test-chdir.c: New file.
5857
5858         New module 'chdir'.
5859         * modules/chdir: New file.
5860         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5861         (chdir): New declaration.
5862         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5863         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5864         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5865         * tests/test-unistd-c++.cc: Check signature of chdir.
5866         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5867         * modules/chdir-long (Depends-on): Add chdir.
5868         * modules/fchdir (Depends-on): Likewise.
5869         * modules/rename (Depends-on): Likewise.
5870         * modules/savewd (Depends-on): Likewise.
5871
5872         rmdir: Support for mingw, MSVC 9.
5873         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5874         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5875
5876         getcwd: Tweak for MSVC 9.
5877         * lib/unistd.in.h: Update comments.
5878         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5879
5880 2011-09-22  Bruno Haible  <bruno@clisp.org>
5881
5882         strerror_r-posix: Avoid a link error on MSVC.
5883         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5884         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5885
5886 2011-09-22  Bruno Haible  <bruno@clisp.org>
5887
5888         select: Avoid link errors on MSVC.
5889         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5890         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5891         * modules/pselect (Link): Likewise.
5892         * NEWS: Mention the change.
5893         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5894         test-select-stdin against $(LIB_SELECT).
5895         * modules/pselect-tests (Makefile.am): Link test-pselect against
5896         $(LIB_SELECT).
5897
5898 2011-09-22  Bruno Haible  <bruno@clisp.org>
5899
5900         select: Avoid compilation error on MSVC.
5901         * lib/select.c: Don't include <stdbool.h>.
5902
5903 2011-09-21  Bruno Haible  <bruno@clisp.org>
5904
5905         Consolidate all uses of PATH_MAX in *.m4 files.
5906         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5907         macros.
5908         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5909         and gl_PATHMAX_SNIPPET.
5910         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5912         * modules/chdir-long (Files): Add m4/pathmax.m4.
5913         * modules/getcwd (Files): Likewise.
5914
5915 2011-09-21  Bruno Haible  <bruno@clisp.org>
5916
5917         ftruncate: Un-deprecate, concentrate on Win32 support.
5918         * modules/ftruncate (Status, Notice): Remove sections.
5919         (Depends-on): Add largefile.
5920         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5921         non-mingw platforms.
5922         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5923         include <io.h>.
5924         * modules/perror-tests (Depends-on): Add ftruncate.
5925         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5926         'ftruncate' module.
5927
5928 2011-09-21  Bruno Haible  <bruno@clisp.org>
5929
5930         Add dependencies to new dirent related modules.
5931         * modules/opendir (Depends-on): Add closedir.
5932         * modules/getcwd (Depends-on): Add opendir, closedir.
5933         * modules/dirent-safer-tests (Depends-on): Likewise.
5934         * modules/fdopendir-tests (Depends-on): Likewise.
5935         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5936         * modules/renameat-tests (Depends-on): Likewise.
5937
5938 2011-09-21  Bruno Haible  <bruno@clisp.org>
5939
5940         opendir: Avoid compilation error on mingw.
5941         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5942         * modules/opendir (Depends-on): Add unistd.
5943
5944 2011-09-21  Bruno Haible  <bruno@clisp.org>
5945
5946         ftruncate tests: Avoid a test failure on mingw.
5947         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5948
5949 2011-09-21  Bruno Haible  <bruno@clisp.org>
5950
5951         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5952         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5953         native Windows.
5954
5955 2011-09-21  Bruno Haible  <bruno@clisp.org>
5956
5957         New module 'fdopen'.
5958         * lib/stdio.in.h (fdopen): New declaration.
5959         * lib/fdopen.c: New file.
5960         * m4/fdopen.m4: New file.
5961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5962         REPLACE_FDOPEN.
5963         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5964         REPLACE_FDOPEN.
5965         * modules/fdopen: New file.
5966         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5967         * tests/test-stdio-c++.cc: Check signature of fdopen.
5968         * doc/posix-functions/fdopen.texi: Mention the new module.
5969
5970 2011-09-21  Bruno Haible  <bruno@clisp.org>
5971
5972         unlockpt tests: Avoid test failure on NetBSD 5.1.
5973         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5974         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5975
5976 2011-09-21  Bruno Haible  <bruno@clisp.org>
5977
5978         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5979         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5980         * tests/test-getlogin_r.c (main): Likewise.
5981
5982 2011-09-20  Bruno Haible  <bruno@clisp.org>
5983
5984         time tests: Don't require pid_t.
5985         * doc/posix-headers/time.texi: Revert last change.
5986         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5987         * tests/test-time.c: Comment out the check for pid_t.
5988
5989 2011-09-20  Bruno Haible  <bruno@clisp.org>
5990
5991         fsync tests: Avoid a test failure on mingw.
5992         * tests/test-fsync.c (main): Allow a failure with EIO.
5993
5994 2011-09-20  Bruno Haible  <bruno@clisp.org>
5995
5996         euidaccess: Update comments.
5997         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5998
5999 2011-09-20  Bruno Haible  <bruno@clisp.org>
6000
6001         Ensure EBADF returns for socket functions on mingw.
6002         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6003         descriptor is invalid.
6004         * lib/bind.c (rpl_bind): Likewise.
6005         * lib/connect.c (rpl_connect): Likewise.
6006         * lib/getpeername.c (rpl_getpeername): Likewise.
6007         * lib/getsockname.c (rpl_getsockname): Likewise.
6008         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6009         * lib/listen.c (rpl_listen): Likewise.
6010         * lib/recv.c (rpl_recv): Likewise.
6011         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6012         * lib/send.c (rpl_send): Likewise.
6013         * lib/sendto.c (rpl_sendto): Likewise.
6014         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6015         * lib/shutdown.c (rpl_shutdown): Likewise.
6016
6017 2011-09-20  Bruno Haible  <bruno@clisp.org>
6018
6019         select tests: EBADF tests.
6020         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6021         test_bad_fd): New functions.
6022         (test_function): Invoke also test_bad_fd.
6023
6024 2011-09-20  Bruno Haible  <bruno@clisp.org>
6025
6026         Tests for module 'posix_spawn_file_actions_addopen.
6027         * modules/posix_spawn_file_actions_addopen-tests: New file.
6028         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6029
6030         Tests for module 'posix_spawn_file_actions_adddup2'.
6031         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6032         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6033
6034         Tests for module 'posix_spawn_file_actions_addclose'.
6035         * modules/posix_spawn_file_actions_addclose-tests: New file.
6036         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6037
6038 2011-09-20  Bruno Haible  <bruno@clisp.org>
6039
6040         Tests for module 'unlockpt'.
6041         * modules/unlockpt-tests: New file.
6042         * tests/test-unlockpt.c: New file.
6043         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6044
6045         Tests for module 'grantpt'.
6046         * modules/grantpt-tests: New file.
6047         * tests/test-grantpt.c: New file.
6048         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6049
6050 2011-09-20  Bruno Haible  <bruno@clisp.org>
6051
6052         freopen tests: EBADF tests.
6053         * tests/test-freopen.c: Include errno.h, unistd.h.
6054         (main): Add tests for EBADF, commented out for the moment.
6055
6056         fclose tests: EBADF tests.
6057         * tests/test-fclose.c (main): Add tests for EBADF.
6058
6059         fflush tests: EBADF tests.
6060         * tests/test-fflush.c: Include errno.h, macros.h.
6061         (main): Add tests for EBADF.
6062
6063         ftello tests: EBADF tests.
6064         * tests/test-ftello4.sh: New file.
6065         * tests/test-ftello4.c: New file.
6066         * modules/ftello-tests (Files): Add them.
6067         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6068
6069         fseeko tests: EBADF tests.
6070         * tests/test-fseeko4.sh: New file.
6071         * tests/test-fseeko4.c: New file.
6072         * modules/fseeko-tests (Files): Add them.
6073         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6074
6075         Tests for function fputc().
6076         * modules/fputc-tests: New file.
6077         * tests/test-fputc.c: New file.
6078         * modules/stdio-tests (Depends-on): Add fputc-tests.
6079
6080         Tests for function fgetc().
6081         * modules/fgetc-tests: New file.
6082         * tests/test-fgetc.c: New file.
6083         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6084
6085         Tests for function fdopen().
6086         * modules/fdopen-tests: New file.
6087         * tests/test-fdopen.c: New file.
6088         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6089
6090         Tests for module 'vdprintf'.
6091         * modules/vdprintf-tests: New file.
6092         * tests/test-vdprintf.c: New file.
6093
6094         Tests for module 'dprintf'.
6095         * modules/dprintf-tests: New file.
6096         * tests/test-dprintf.c: New file.
6097
6098 2011-09-20  Bruno Haible  <bruno@clisp.org>
6099
6100         Tests for module 'ioctl'.
6101         * modules/ioctl-tests: New file.
6102         * tests/test-ioctl.c: New file.
6103
6104 2011-09-20  Bruno Haible  <bruno@clisp.org>
6105
6106         fcntl tests: EBADF tests.
6107         * tests/test-fcntl.c (main): Add more tests for EBADF.
6108
6109 2011-09-20  Bruno Haible  <bruno@clisp.org>
6110
6111         utimensat tests: EBADF tests.
6112         * tests/test-utimensat.c (main): Add tests for EBADF.
6113
6114         renameat tests: EBADF tests.
6115         * tests/test-renameat.c (main): Add tests for EBADF.
6116
6117         mkfifoat tests: EBADF tests.
6118         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6119
6120         readlinkat tests: EBADF tests.
6121         * tests/test-readlinkat.c (main): Add tests for EBADF.
6122
6123         symlinkat tests: EBADF tests.
6124         * tests/test-symlinkat.c (main): Add tests for EBADF.
6125
6126         linkat tests: EBADF tests.
6127         * tests/test-linkat.c (main): Add tests for EBADF.
6128
6129         Tests for module 'faccessat'.
6130         * modules/faccessat-tests: New file.
6131         * tests/test-faccessat.c: New file.
6132
6133         fdopendir tests: EBADF tests.
6134         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6135
6136         openat tests: EBADF tests.
6137         * tests/test-fchownat.c (main): Add tests for EBADF.
6138         * tests/test-fstatat.c (main): Likewise.
6139         * tests/test-mkdirat.c (main): Likewise.
6140         * tests/test-openat.c (main): Likewise.
6141         * tests/test-unlinkat.c (main): Likewise.
6142         * tests/test-fchmodat.c: New file.
6143         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6144         (Makefile.am): Also run 'test-fchmodat'.
6145
6146 2011-09-20  Bruno Haible  <bruno@clisp.org>
6147
6148         utimens, futimens, fdutimensat tests: EBADF tests.
6149         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6150
6151         Tests for function fstat().
6152         * modules/fstat-tests: New file.
6153         * tests/test-fstat.c: New file.
6154         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6155
6156 2011-09-20  Bruno Haible  <bruno@clisp.org>
6157
6158         test-ttyname_r tests: EBADF tests.
6159         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6160
6161         Tests for module 'isatty'.
6162         * modules/isatty-tests: New file.
6163         * tests/test-isatty.c: New file.
6164
6165         Tests for module 'write'.
6166         * modules/write-tests: New file.
6167         * tests/test-write.c: New file.
6168
6169         Tests for module 'read'.
6170         * modules/read-tests: New file.
6171         * tests/test-read.c: New file.
6172
6173         pwrite tests: EBADF tests.
6174         * tests/test-pwrite.c (main): Add tests for EBADF.
6175
6176         pread tests: EBADF tests.
6177         * tests/test-pread.c (main): Add tests for EBADF.
6178
6179         lseek tests: EBADF tests.
6180         * tests/test-lseek.c (main): Add more tests for EBADF.
6181
6182         Tests for module 'ftruncate'.
6183         * modules/ftruncate-tests: New file.
6184         * tests/test-ftruncate.sh: New file.
6185         * tests/test-ftruncate.c: New file.
6186
6187         fsync tests: EBADF tests.
6188         * tests/test-fsync.c (main): Add more tests for EBADF.
6189
6190         fdatasync tests: EBADF tests.
6191         * tests/test-fdatasync.c (main): Add more tests for EBADF.
6192
6193         Tests for module 'fchown'.
6194         * modules/fchown-tests: New file.
6195         * tests/test-fchown.c: New file.
6196
6197         Tests for module 'fchmod'.
6198         * modules/fchmod-tests: New file.
6199         * tests/test-fchmod.c: New file.
6200
6201         fchdir tests: EBADF tests.
6202         * tests/test-fchdir.c (main): Add more tests for EBADF.
6203
6204         dup2 tests: EBADF tests.
6205         * tests/test-dup2.c (main): Add more tests for EBADF.
6206
6207         Tests for module 'dup'.
6208         * modules/dup-tests: New file.
6209         * tests/test-dup.c: New file.
6210
6211         Tests for module 'close'.
6212         * modules/close-tests: New file.
6213         * tests/test-close.c: New file.
6214
6215 2011-09-20  Bruno Haible  <bruno@clisp.org>
6216
6217         Tests for module 'shutdown'.
6218         * modules/shutdown-tests: New file.
6219         * tests/test-shutdown.c: New file.
6220
6221         Tests for module 'setsockopt'.
6222         * modules/setsockopt-tests: New file.
6223         * tests/test-setsockopt.c: New file.
6224
6225         Tests for module 'sendto'.
6226         * modules/sendto-tests: New file.
6227         * tests/test-sendto.c: New file.
6228
6229         Tests for module 'send'.
6230         * modules/send-tests: New file.
6231         * tests/test-send.c: New file.
6232
6233         Tests for module 'recvfrom'.
6234         * modules/recvfrom-tests: New file.
6235         * tests/test-recvfrom.c: New file.
6236
6237         Tests for module 'recv'.
6238         * modules/recv-tests: New file.
6239         * tests/test-recv.c: New file.
6240
6241         Tests for module 'listen'.
6242         * modules/listen-tests: New file.
6243         * tests/test-listen.c: New file.
6244
6245         Tests for module 'getsockopt'.
6246         * modules/getsockopt-tests: New file.
6247         * tests/test-getsockopt.c: New file.
6248
6249         Tests for module 'getsockname'.
6250         * modules/getsockname-tests: New file.
6251         * tests/test-getsockname.c: New file.
6252
6253         Tests for module 'getpeername'.
6254         * modules/getpeername-tests: New file.
6255         * tests/test-getpeername.c: New file.
6256
6257         Tests for module 'connect'.
6258         * modules/connect-tests: New file.
6259         * tests/test-connect.c: New file.
6260
6261         Tests for module 'bind'.
6262         * modules/bind-tests: New file.
6263         * tests/test-bind.c: New file.
6264
6265         accept4 tests: Fix for native Windows.
6266         * tests/test-accept4.c: Include sockets.h.
6267         (main): Invoke gl_sockets_startup.
6268         * modules/accept4-tests (Depends-on): Add sockets.
6269
6270         accept tests: Fix for native Windows.
6271         * tests/test-accept.c: Include sockets.h.
6272         (main): Invoke gl_sockets_startup.
6273         * modules/accept-tests (Depends-on): Add sockets.
6274
6275 2011-09-19  Bruno Haible  <bruno@clisp.org>
6276
6277         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
6278         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
6279         do...while(0).
6280         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
6281         Suggested by Paul Eggert.
6282
6283 2011-09-19  Bruno Haible  <bruno@clisp.org>
6284
6285         sched: Ensure pid_t is defined.
6286         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
6287         not define pid_t.
6288         * lib/sched.in.h: Include <sys/types.h>.
6289         * doc/posix-headers/sched.texi: Mention the pid_t problem.
6290         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6291
6292 2011-09-19  Bruno Haible  <bruno@clisp.org>
6293
6294         msvc-inval: Ensure the entire expansion is a single statement.
6295         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
6296         of braces.
6297
6298 2011-09-19  Jim Meyering  <meyering@redhat.com>
6299
6300         tests: use printf, not echo in init.sh's warn_ function
6301         * tests/init.sh (warn_): Use printf, not echo.  The latter would
6302         misbehave when given strings containing a backslash or starting
6303         with e.g., -n.  James Youngman suggested setting IFS.
6304
6305 2011-09-19  Eric Blake  <eblake@redhat.com>
6306
6307         futimens: enhance test
6308         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6309         closed non-negative fd.
6310
6311         date: accept 'hence' as opposite of 'ago'
6312         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6313         * tests/test-parse-datetime.c (main): Enhance test.
6314         Suggested by Jesse Wilson.
6315
6316 2011-09-19  Jim Meyering  <meyering@redhat.com>
6317
6318         getcwd: don't fail in a deep directory on a system without openat
6319         Before this change, getcwd would fail when called from a directory
6320         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6321         the non-openat implementation used "..", "../..", "../../..", etc.
6322         to access ancestor directories.  With too many, that string would
6323         be longer than PATH_MAX.
6324         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6325         using gnulib's openat replacement.
6326         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6327         we're using the replacement function.
6328
6329 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6330
6331         maint.mk: avoid warnings from perl about missing files
6332         * top/maint.mk (def_sym_regex): Ignore files listed in
6333         $(gl_other_headers_) that do not exist, say because a project
6334         does not use a corresponding module.
6335
6336 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6337
6338         stat: use pathmax.h only if needed
6339         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6340         This is better for Emacs, which does not have a mingw port and
6341         therefore can avoid the pathmax module.
6342
6343         utimens: remove dependency on dup2
6344         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6345         to work around the Linux kernel bug.
6346         * modules/utimens (Depends-on): Remove dup2.
6347
6348 2011-09-18  Bruno Haible  <bruno@clisp.org>
6349
6350         inet_ntop, inet_pton: Look for it also in libresolv.
6351         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6352         libnsl, search for it in libresolv.
6353         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6354         Needed on Solaris 7.
6355
6356 2011-09-18  Bruno Haible  <bruno@clisp.org>
6357
6358         accept, accept4 tests: Avoid link error on Solaris.
6359         * modules/accept-tests (Makefile.am): Link test-accept against
6360         $(LIBSOCKET).
6361         * modules/accept4-tests (Makefile.am): Link test-accept4 against
6362         $(LIBSOCKET).
6363
6364         accept4: Avoid link error on Solaris.
6365         * modules/accept4 (Link): New section.
6366
6367         socket functions: Avoid link errors on Solaris.
6368         * modules/accept (Depends-on): Add socketlib.
6369         (Link): New section.
6370         * modules/bind (Depends-on): Add socketlib.
6371         (Link): New section.
6372         * modules/connect (Depends-on): Add socketlib.
6373         (Link): New section.
6374         * modules/getpeername (Depends-on): Add socketlib.
6375         (Link): New section.
6376         * modules/getsockname (Depends-on): Add socketlib.
6377         (Link): New section.
6378         * modules/getsockopt (Depends-on): Add socketlib.
6379         (Link): New section.
6380         * modules/listen (Depends-on): Add socketlib.
6381         (Link): New section.
6382         * modules/recv (Depends-on): Add socketlib.
6383         (Link): New section.
6384         * modules/recvfrom (Depends-on): Add socketlib.
6385         (Link): New section.
6386         * modules/send (Depends-on): Add socketlib.
6387         (Link): New section.
6388         * modules/sendto (Depends-on): Add socketlib.
6389         (Link): New section.
6390         * modules/setsockopt (Depends-on): Add socketlib.
6391         (Link): New section.
6392         * modules/shutdown (Depends-on): Add socketlib.
6393         (Link): New section.
6394         * modules/socket (Depends-on): Add socketlib.
6395         (Link): New section.
6396
6397 2011-09-18  Bruno Haible  <bruno@clisp.org>
6398
6399         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6400         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6401         than 5 seconds.
6402         * modules/ptsname-tests (configure.ac): Test for alarm.
6403
6404 2011-09-18  Bruno Haible  <bruno@clisp.org>
6405
6406         posix_spawn_file_actions_add*: Fix module dependencies.
6407         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6408         posix_spawn_file_actions_init.
6409         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6410         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6411
6412 2011-09-18  Bruno Haible  <bruno@clisp.org>
6413
6414         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
6415         * tests/test-rename.h (test_rename): Allow error code EEXIST.
6416         * tests/test-renameat.c (main): Likewise.
6417
6418 2011-09-18  Bruno Haible  <bruno@clisp.org>
6419
6420         Tests for module 'accept4'.
6421         * modules/accept4-tests: New file.
6422         * tests/test-accept4.c: New file.
6423
6424 2011-09-18  Bruno Haible  <bruno@clisp.org>
6425
6426         Tests for module 'accept'.
6427         * modules/accept-tests: New file.
6428         * tests/test-accept.c: New file.
6429
6430 2011-09-18  Bruno Haible  <bruno@clisp.org>
6431
6432         dup2: Support for MSVC.
6433         * lib/dup2.c: Include msvc-inval.h.
6434         (rpl_dup2): Handle invalid parameter notifications during dup2 and
6435         _get_osfhandle calls.
6436         * modules/dup2 (Depends-on): Add msvc-inval.
6437         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
6438
6439         New module 'msvc-inval'.
6440         * lib/msvc-inval.h: New file.
6441         * lib/msvc-inval.c: New file.
6442         * m4/msvc-inval.m4: New file.
6443         * modules/msvc-inval: New file.
6444
6445 2011-09-17  Bruno Haible  <bruno@clisp.org>
6446
6447         Tests for module 'pclose'.
6448         * modules/pclose-tests: New file.
6449
6450         New module 'pclose'.
6451         * lib/stdio.in.h (pclose): New declaration.
6452         * lib/pclose.c: New file.
6453         * m4/pclose.m4: New file.
6454         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
6455         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
6456         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
6457         * modules/pclose: New file.
6458         * modules/popen-tests (Depends-on): Add pclose.
6459         * modules/popen-safer-tests (Depends-on): Likewise.
6460         * doc/posix-functions/pclose.texi: Mention the new module.
6461
6462 2011-09-17  Bruno Haible  <bruno@clisp.org>
6463
6464         popen: Support for MSVC.
6465         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
6466         * lib/popen.c (popen): Provide alternate definition for native Windows.
6467         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
6468         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
6469         * modules/popen (Depends-on, configure.ac): Update condition.
6470         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
6471         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
6472         fixed.
6473
6474 2011-09-17  Bruno Haible  <bruno@clisp.org>
6475
6476         isnanl, isnand, isnanf: Work around MSVC bug.
6477         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
6478
6479 2011-09-17  Bruno Haible  <bruno@clisp.org>
6480
6481         sys_socket tests: Fix recent mistake.
6482         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6483
6484 2011-09-17  Bruno Haible  <bruno@clisp.org>
6485
6486         putenv: Support for MSVC.
6487         * modules/putenv (Depends-on): Add environ.
6488         * lib/putenv.c (environ): Disable declaration.
6489         * lib/unistd.in.h: Update comment.
6490
6491 2011-09-17  Bruno Haible  <bruno@clisp.org>
6492
6493         math: Avoid macro redefinition warnings on MSVC.
6494         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6495         Undefine before redefining.
6496
6497 2011-09-17  Bruno Haible  <bruno@clisp.org>
6498
6499         doc: Mention functions which are declared as macros.
6500         * doc/posix-functions/*[fl].texi: Mention that some functions are
6501         defined as macros with arguments only.
6502
6503 2011-09-17  Bruno Haible  <bruno@clisp.org>
6504
6505         Add dependencies to new dirent related modules.
6506         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6507         * modules/fts (Depends-on): Likewise.
6508         * modules/glob (Depends-on): Likewise.
6509         * modules/savedir (Depends-on): Likewise.
6510         * modules/scandir (Depends-on): Likewise.
6511         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6512         * modules/fdopendir (Depends-on): Add opendir.
6513
6514 2011-09-17  Bruno Haible  <bruno@clisp.org>
6515
6516         inet_pton: Support for MSVC on Windows Vista or newer.
6517         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6518         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6519         HAVE_DECL_INET_PTON is defined.
6520         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6521         On platforms with <winsock2.h>, test whether inet_pton is declared in
6522         <ws2tcpip.h>. If so, arrange to replace it.
6523         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6524         REPLACE_INET_PTON.
6525         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6526         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6527         (Depends-on, configure.ac): Update condition.
6528         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6529
6530 2011-09-17  Bruno Haible  <bruno@clisp.org>
6531
6532         inet_ntop: Support for MSVC on Windows Vista or newer.
6533         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6534         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6535         HAVE_DECL_INET_NTOP is defined.
6536         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6537         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6538         <ws2tcpip.h>. If so, arrange to replace it.
6539         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6540         REPLACE_INET_NTOP.
6541         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6542         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6543         (Depends-on, configure.ac): Update condition.
6544         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6545
6546 2011-09-16  Eric Blake  <eblake@redhat.com>
6547
6548         test-fsync: yet another enhancement
6549         * tests/test-fsync.c (main): Also test behavior on read-only text
6550         file.
6551
6552 2011-09-16  Bruno Haible  <bruno@clisp.org>
6553
6554         Enhance fsync, fdatasync tests.
6555         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6556         * tests/test-fdatasync.c (main): Likewise.
6557
6558 2011-09-16  Bruno Haible  <bruno@clisp.org>
6559
6560         Support for MSVC compiler: Ensure mode_t gets defined.
6561         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6562         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6563         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6564         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6565         * tests/test-fcntl-h.c: Check that mode_t is defined.
6566         * tests/test-sys_stat.c: Likewise.
6567         * tests/test-sys_types.c: Likewise.
6568         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6569         * doc/posix-headers/sys_stat.texi: Likewise.
6570         * doc/posix-headers/sys_types.texi: Likewise.
6571
6572 2011-09-16  Bruno Haible  <bruno@clisp.org>
6573
6574         sys_stat: Support for MSVC.
6575         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6576         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6577         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6578         MSVC.
6579
6580 2011-09-16  Bruno Haible  <bruno@clisp.org>
6581
6582         Support for MSVC compiler: Ensure off_t gets defined.
6583         * lib/unistd.in.h: Include <sys/types.h>.
6584         * tests/test-fcntl-h.c: Check that off_t is defined.
6585         * tests/test-sys_stat.c: Likewise.
6586         * tests/test-sys_types.c: Likewise.
6587
6588 2011-09-16  Eric Blake  <eblake@redhat.com>
6589
6590         fdatasync: port to Solaris
6591         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6592         * modules/fdatasync (Link): Document it.
6593         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6594
6595         fdatasync: port to MacOS X 10.7
6596         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6597         declared.
6598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6599         * modules/unistd (Makefile.am): Substitute it.
6600         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6601         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6602
6603         fdatasync: minor improvements
6604         * modules/fdatasync (Depends-on): Add condition for fsync.
6605         * lib/fdatasync.c (fdatasync): Add comment.
6606         * tests/test-unistd-c++.cc: Test fdatasync.
6607
6608         unistd: update refs to newer POSIX
6609         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6610         Suggested by Bruno Haible.
6611
6612         fdatasync: new module
6613         * modules/fsync (Description): Document difference to fdatasync.
6614         * modules/fdatasync: New module.
6615         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6616         * lib/fdatasync.c (fdatasync): Likewise.
6617         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6618         defaults.
6619         * modules/unistd (Makefile.am): Set witnesses.
6620         * lib/unistd.in.h (fdatasync): Declare.
6621         * MODULES.html.sh: Document it.
6622         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6623         * modules/fdatasync-tests: New test.
6624         * tests/test-fdatasync.c: Likewise.
6625
6626 2011-09-16  Eric Blake  <eblake@redhat.com>
6627
6628         test-fsync: enhance tests
6629         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6630         * tests/test-fsync.c (main): Enhance test.
6631
6632 2011-09-15  Bruno Haible  <bruno@clisp.org>
6633
6634         Support for MSVC compiler: Ensure ssize_t gets defined.
6635         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6636         * doc/posix-headers/stdio.texi: Likewise.
6637         * modules/stdio (Depends-on): Add ssize_t.
6638         * modules/sys_socket (Depends-on): Likewise.
6639         * modules/sys_types (Depends-on): Likewise.
6640         * modules/sys_uio (Depends-on): Likewise.
6641         * modules/unistd (Depends-on): Likewise.
6642         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6643         * tests/test-sys_types.c: Check that ssize_t is defined.
6644
6645 2011-09-14  Bruno Haible  <bruno@clisp.org>
6646
6647         Avoid using #, the m4 comment starter character, near brackets.
6648         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6649         delimiter character in sed expressions.
6650         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6651         Suggested by Eric Blake.
6652
6653         Properly quote AC_CHECK_DECLS' 4th argument.
6654         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6655         argument.
6656         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6657         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6658         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6659         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6660         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6661         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6662         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6663         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6664         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6665         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6666         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6667         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6668         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6669         * m4/isinf.m4 (gl_ISINF): Likewise.
6670         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6671         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6672         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6673         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6674         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6675         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6676         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6677         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6678         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6679         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6680         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6681         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6683         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6684         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6685         Reported by Eric Blake.
6686
6687         Properly quote AC_CHECK_DECL's 4th argument.
6688         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6689         argument.
6690         * m4/argp.m4 (gl_ARGP): Likewise.
6691         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6692         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6693         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6694         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6695         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6696         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6697         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6698         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6700         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6701         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6702         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6703         Reported by Eric Blake.
6704
6705 2011-09-14  Eric Blake  <eblake@redhat.com>
6706
6707         opendir: avoid compile warning
6708         * lib/opendir.c (includes): Always include errno.h.
6709         Reported by Tatsuro MATSUOKA.
6710
6711 2011-09-14  Jim Meyering  <meyering@redhat.com>
6712
6713         maint.mk: sc_tight_scope: propagate failure from sub-make
6714         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6715         Reported by Martin von Gagern.
6716
6717 2011-09-13  Bruno Haible  <bruno@clisp.org>
6718
6719         tempname: Support for MSVC.
6720         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6721         MSVC.
6722         * modules/tempname (Depends-on): Add fcntl-h.
6723
6724 2011-09-13  Bruno Haible  <bruno@clisp.org>
6725
6726         sys_time: Support for MSVC.
6727         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6728         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6729         include <winsock2.h>.
6730         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6731         function declarations that collide with POSIX.
6732         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6733         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6734
6735 2011-09-13  Bruno Haible  <bruno@clisp.org>
6736
6737         stat: Support for MSVC.
6738         * lib/stat.c: Include pathmax.h.
6739         * modules/stat (Depends-on): Add pathmax.
6740
6741         pathmax: Support for native Windows.
6742         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6743
6744 2011-09-12  Bruno Haible  <bruno@clisp.org>
6745
6746         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6747         * lib/dirent.in.h (struct dirent): New type.
6748         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6749         DT_WHT): New macros.
6750         (DIR): New type.
6751         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6752         (readdir, rewinddir): New declarations.
6753         * lib/dirent-private.h: New file.
6754         * lib/opendir.c: New file.
6755         * lib/readdir.c: New file.
6756         * lib/rewinddir.c: New file.
6757         * lib/closedir.c: New file.
6758         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6759         * m4/opendir.m4: New file.
6760         * m4/readdir.m4: New file.
6761         * m4/rewinddir.m4: New file.
6762         * m4/closedir.m4: New file.
6763         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6764         REPLACE_CLOSEDIR here.
6765         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6766         readdir, rewinddir are declared.
6767         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6768         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6769         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6770         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6771         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6772         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6773         * modules/opendir: New file.
6774         * modules/readdir: New file.
6775         * modules/rewinddir: New file.
6776         * modules/closedir: New file.
6777         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6778         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6779         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6780         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6781         * NEWS: Mention the 'fchdir' change.
6782
6783 2011-09-11  Bruno Haible  <bruno@clisp.org>
6784
6785         asm-underscore.m4: Support for MSVC.
6786         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6787         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6788
6789 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6790
6791         Doc about crypt functions.
6792         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6793         needing for _GNU_SOURCE to get crypt.
6794         * doc/posix-functions/encrypt.texi: Likewise.
6795         * doc/posix-functions/setkey.texi: Likewise.
6796
6797 2011-09-11  Bruno Haible  <bruno@clisp.org>
6798
6799         doc: Update regarding MSVC 9.
6800         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6801         tested".
6802         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6803         * doc/posix-headers/*.texi: Likewise.
6804         * doc/pastposix-functions/*.texi: Likewise.
6805         * doc/glibc-functions/*.texi: Likewise.
6806         * doc/glibc-headers/*.texi: Likewise.
6807
6808 2011-09-11  Bruno Haible  <bruno@clisp.org>
6809
6810         unistd et al.: Don't assume <unistd.h> exists.
6811         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6812         does not exist.
6813         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6814         exist. But include <stdlib.h>.
6815         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6816         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6817         symlink() does not exist.
6818         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6819         include <io.h> instead.
6820         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6821         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6822         include <direct.h> instead.
6823         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6824         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6825         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6826         <io.h> instead.
6827         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6828         correctly if the system does not have hard links.
6829         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6830         <direct.h> instead.
6831         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6832         it when looking for function declarations.
6833         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6834         <direct.h> and <io.h> instead.
6835         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6836
6837 2011-09-11  Bruno Haible  <bruno@clisp.org>
6838
6839         strcase: Support for MSVC.
6840         * modules/strcase (Status, Notice): Remove obsoletion mark.
6841         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6842         * doc/posix-functions/strncasecmp.texi: Likewise.
6843
6844         strings: Don't assume <strings.h> exists.
6845         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6846         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6847         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6848         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6849
6850 2011-09-11  Bruno Haible  <bruno@clisp.org>
6851
6852         dirent: Don't assume <dirent.h> exists.
6853         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6854         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6855         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6856         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6857
6858 2011-09-11  Bruno Haible  <bruno@clisp.org>
6859
6860         Fix wint_t on MSVC.
6861         * lib/wchar.in.h (wint_t): On MSVC, override it.
6862         * lib/wctype.in.h (wint_t): Likewise.
6863         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6864         MSVC.
6865         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6866         * doc/posix-headers/wctype.texi: Likewise.
6867
6868 2011-09-11  Bruno Haible  <bruno@clisp.org>
6869
6870         sys_types: Fix typo.
6871         * lib/sys_types.in.h: Fix typo in comment.
6872         Reported by Paul Eggert.
6873
6874         Support for MSVC compiler: Ensure size_t gets defined.
6875         * modules/strings (Depends-on): Add 'sys_types'.
6876         * modules/sys_uio (Depends-on): Likewise.
6877         * lib/sys_uio.in.h: Update comment.
6878
6879         C++ tests for module 'sys_types'.
6880         * modules/sys_types-c++-tests: New file.
6881         * tests/test-sys_types-c++.cc: New file.
6882
6883         Tests for module 'sys_types'.
6884         * modules/sys_types-tests: New file.
6885         * tests/test-sys_types.c: New file.
6886
6887         New module 'sys_types'.
6888         * lib/sys_types.in.h: New file.
6889         * m4/sys_types_h.m4: New file.
6890         * modules/sys_types: New file.
6891         * doc/posix-headers/sys_types.texi: Mention the new module and the
6892         size_t problem on MSVC 9.
6893
6894 2011-09-11  Bruno Haible  <bruno@clisp.org>
6895
6896         Support for MSVC compiler: Avoid division by a literal 0.
6897         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6899         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6900         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6901         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6902         * tests/infinity.h: New file.
6903         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6904         on MSVC.
6905         * tests/test-ceilf1.c: Include infinity.h.
6906         (main): Use Infinityf.
6907         * tests/test-ceil1.c: Include infinity.h.
6908         (main): Use Infinityd.
6909         * tests/test-ceill.c: Include infinity.h.
6910         (main): Use Infinityl.
6911         * tests/test-dprintf-posix.c: Include infinity.h.
6912         (test_function): Use Infinityd.
6913         * tests/test-floorf1.c: Include infinity.h.
6914         (main): Use Infinityf.
6915         * tests/test-floor1.c: Include infinity.h.
6916         (main): Use Infinityd.
6917         * tests/test-floorl.c: Include infinity.h.
6918         (main): Use Infinityl.
6919         * tests/test-fprintf-posix.c: Include infinity.h.
6920         (test_function): Use Infinityd.
6921         * tests/test-frexp.c: Include infinity.h.
6922         (main): Use Infinityd.
6923         * tests/test-frexpl.c: Include infinity.h.
6924         (main): Use Infinityl.
6925         * tests/test-isfinite.c: Include infinity.h.
6926         (test_isfinitef): Use Infinityf.
6927         (test_isfinited): Use Infinityd.
6928         (test_isfinitel): Use Infinityl.
6929         * tests/test-isinf.c: Include infinity.h.
6930         (test_isinff): Use Infinityf.
6931         (test_isinfd): Use Infinityd.
6932         (test_isinfl): Use Infinityl.
6933         * tests/test-isnan.c: Include infinity.h.
6934         (test_float): Use Infinityf.
6935         (test_double): Use Infinityd.
6936         (test_long_double): Use Infinityl.
6937         * tests/test-isnanf.h: Include infinity.h.
6938         (main): Use Infinityf.
6939         * tests/test-isnand.h: Include infinity.h.
6940         (main): Use Infinityd.
6941         * tests/test-isnanl.h: Include infinity.h.
6942         (main): Use Infinityl.
6943         * tests/test-ldexpl.c: Include infinity.h.
6944         (main): Use Infinityl.
6945         * tests/test-printf-posix.h: Include infinity.h.
6946         (test_function): Use Infinityd.
6947         * tests/test-roundf1.c: Include infinity.h.
6948         (main): Use Infinityf.
6949         * tests/test-round1.c: Include infinity.h.
6950         (main): Use Infinityd.
6951         * tests/test-roundl.c: Include infinity.h.
6952         (main): Use Infinityl.
6953         * tests/test-signbit.c: Include infinity.h.
6954         (test_signbitf): Use Infinityf.
6955         (test_signbitd): Use Infinityd.
6956         (test_signbitl): Use Infinityl.
6957         * tests/test-snprintf-posix.h: Include infinity.h.
6958         (test_function): Use Infinityd, Infinityl.
6959         * tests/test-sprintf-posix.h: Include infinity.h.
6960         (test_function): Use Infinityd, Infinityl.
6961         * tests/test-truncf1.c: Include infinity.h.
6962         (main): Use Infinityf.
6963         * tests/test-trunc1.c: Include infinity.h.
6964         (main): Use Infinityd.
6965         * tests/test-truncl.c: Include infinity.h.
6966         (main): Use Infinityl.
6967         * tests/test-vasnprintf-posix.c: Include infinity.h.
6968         (test_function): Use Infinityd, Infinityl.
6969         * tests/test-vasprintf-posix.c: Include infinity.h.
6970         (test_function): Use Infinityd, Infinityl.
6971         * modules/ceilf-tests (Files): Add tests/infinity.h.
6972         * modules/ceil-tests (Files): Likewise.
6973         * modules/ceill-tests (Files): Likewise.
6974         * modules/dprintf-posix-tests (Files): Likewise.
6975         * modules/floorf-tests (Files): Likewise.
6976         * modules/floor-tests (Files): Likewise.
6977         * modules/floorl-tests (Files): Likewise.
6978         * modules/fprintf-posix-tests (Files): Likewise.
6979         * modules/frexp-tests (Files): Likewise.
6980         * modules/frexp-nolibm-tests (Files): Likewise.
6981         * modules/frexpl-tests (Files): Likewise.
6982         * modules/frexpl-nolibm-tests (Files): Likewise.
6983         * modules/isfinite-tests (Files): Likewise.
6984         * modules/isinf-tests (Files): Likewise.
6985         * modules/isnan-tests (Files): Likewise.
6986         * modules/isnanf-tests (Files): Likewise.
6987         * modules/isnanf-nolibm-tests (Files): Likewise.
6988         * modules/isnand-tests (Files): Likewise.
6989         * modules/isnand-nolibm-tests (Files): Likewise.
6990         * modules/isnanl-tests (Files): Likewise.
6991         * modules/isnanl-nolibm-tests (Files): Likewise.
6992         * modules/ldexpl-tests (Files): Likewise.
6993         * modules/printf-posix-tests (Files): Likewise.
6994         * modules/roundf-tests (Files): Likewise.
6995         * modules/round-tests (Files): Likewise.
6996         * modules/roundl-tests (Files): Likewise.
6997         * modules/signbit-tests (Files): Likewise.
6998         * modules/snprintf-posix-tests (Files): Likewise.
6999         * modules/sprintf-posix-tests (Files): Likewise.
7000         * modules/truncf-tests (Files): Likewise.
7001         * modules/trunc-tests (Files): Likewise.
7002         * modules/truncl-tests (Files): Likewise.
7003         * modules/vasnprintf-posix-tests (Files): Likewise.
7004         * modules/vasprintf-posix-tests (Files): Likewise.
7005         * modules/vdprintf-posix-tests (Files): Likewise.
7006         * modules/vfprintf-posix-tests (Files): Likewise.
7007         * modules/vprintf-posix-tests (Files): Likewise.
7008         * modules/vsnprintf-posix-tests (Files): Likewise.
7009         * modules/vsprintf-posix-tests (Files): Likewise.
7010         * modules/xprintf-posix-tests (Files): Likewise.
7011
7012 2011-09-11  Bruno Haible  <bruno@clisp.org>
7013
7014         Ensure pid_t gets defined.
7015         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7016         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7017         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7018         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7019         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7020         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7021         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7022         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7023         * tests/test-fcntl-h.c: Check that pid_t is defined.
7024         * tests/test-sched.c: Likewise.
7025         * tests/test-termios.c: Likewise.
7026         * tests/test-time.c: Likewise.
7027         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7028         * doc/posix-headers/signal.texi: Likewise.
7029         * doc/posix-headers/sys_types.texi: Likewise.
7030         * doc/posix-headers/time.texi: Likewise.
7031
7032 2011-09-11  Bruno Haible  <bruno@clisp.org>
7033
7034         acl: Fix compilation on Solaris 10 (older version).
7035         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7036         of ACE_EVERYONE.
7037         * lib/set-mode-acl.c (qset_acl): Likewise.
7038         Reported by Christian Jullien <eligis@orange.fr>.
7039
7040 2011-09-10  Bruno Haible  <bruno@clisp.org>
7041
7042         iconv, unsetenv: Add support for MSVC compiler.
7043         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7044         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7045
7046 2011-09-10  Bruno Haible  <bruno@clisp.org>
7047
7048         *printf: Add support for MSVC compiler.
7049         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7050         handles the exception caused by the %n directive. When cross-compiling,
7051         guess no on native Windows.
7052         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7053         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7054         emulate it through vsnprintf.
7055         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7056         * doc/posix-functions/dprintf.texi: Update documentation regarding
7057         MSVC 9.
7058         * doc/posix-functions/fprintf.texi: Likewise.
7059         * doc/posix-functions/printf.texi: Likewise.
7060         * doc/posix-functions/snprintf.texi: Likewise.
7061         * doc/posix-functions/sprintf.texi: Likewise.
7062         * doc/posix-functions/swprintf.texi: Likewise.
7063         * doc/posix-functions/vdprintf.texi: Likewise.
7064         * doc/posix-functions/vfprintf.texi: Likewise.
7065         * doc/posix-functions/vprintf.texi: Likewise.
7066         * doc/posix-functions/vsnprintf.texi: Likewise.
7067         * doc/posix-functions/vsprintf.texi: Likewise.
7068         * doc/glibc-functions/asprintf.texi: Likewise.
7069         * doc/glibc-functions/obstack_printf.texi: Likewise.
7070         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7071         * doc/glibc-functions/vasprintf.texi: Likewise.
7072
7073 2011-09-10  Bruno Haible  <bruno@clisp.org>
7074
7075         nocrash: Add support for native Windows.
7076         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7077
7078 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7079             Bruno Haible  <bruno@clisp.org>
7080
7081         absolute-header, include-next: Add support for MSVC compiler.
7082         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7083         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7084         directory separator in #line directives.
7085         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7086         recognize also backslash as directory separator in #line directives.
7087
7088 2011-09-08  Jim Meyering  <meyering@redhat.com>
7089
7090         maint.mk: mark the post-release commit log with "maint: " prefix
7091         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7092         one-line commit-log summary.
7093
7094 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7095             Bruno Haible  <bruno@clisp.org>
7096
7097         Doc about crypt functions.
7098         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7099         systems.
7100         * doc/posix-functions/encrypt.texi: Likewise.
7101         * doc/posix-functions/setkey.texi: Likewise.
7102
7103 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7104
7105         * lib/gc.h: Fix copyright header.
7106
7107 2011-09-07  Bruno Haible  <bruno@clisp.org>
7108
7109         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7110         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7111         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7112
7113 2011-09-07  Bruno Haible  <bruno@clisp.org>
7114
7115         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7116         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7117         * lib/freopen.c: Likewise.
7118         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7119         * lib/lstat.c: Likewise.
7120         * lib/stat.c: Likewise.
7121         * lib/open.c: Use different syntax for include of <fcntl.h>.
7122         * lib/openat.c: Include fcntl.h again, explicitly.
7123
7124 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7125
7126         parse-datetime: document the newly accepted format
7127         * doc/parse-datetime.texi (Combined date and time of day items):
7128         New section.
7129
7130 2011-09-06  Bruno Haible  <bruno@clisp.org>
7131
7132         acl: Fix a test failure on newer Solaris 10 with ZFS.
7133         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7134         ENOSYS as no ACL.
7135         Reported by Jim Meyering.
7136
7137 2011-09-06  Bruno Haible  <bruno@clisp.org>
7138
7139         acl: Update for AIX >= 5.3 with NFS.
7140         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7141         ENOSYS as no ACL.
7142
7143         acl: Fix a test failure on AIX >= 5.3 with NFS.
7144         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7145         as no ACL.
7146
7147 2011-09-06  Bruno Haible  <bruno@clisp.org>
7148
7149         acl: Fix a test failure on IRIX 6.5 with NFS.
7150         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7151         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7152         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7153         * lib/copy-acl.c (qcopy_acl): Likewise.
7154
7155 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7156
7157         openat: port to AIX 7.1 with large files
7158         AIX 7.1 does a "#define openat open64at" if large files are in use,
7159         so we can't simply #undef openat.  Use the orig_openat trick (similar
7160         to orig_open in lib/open.c) to work around the problem.  Problem
7161         reported by Kevin Brott for GNU tar, in the thread containing
7162         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7163         * lib/openat.c (__need_system_fcntl_h): Define first.
7164         Include <fcntl.h> and <sys/types.h> before undefining.
7165         (orig_openat) [HAVE_OPENAT]: New inline function.
7166         (openat) [HAVE_OPENAT]: Do not undef.
7167         (rpl_openat): Use orig_openat, not openat.
7168
7169 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7170             Bruno Haible  <bruno@clisp.org>
7171
7172         acl: Avoid errors on NonStop Kernel.
7173         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7174         ENOTSUP errors.
7175
7176 2011-09-05  Bruno Haible  <bruno@clisp.org>
7177
7178         acl: Clean up Solaris code.
7179         * lib/acl-internal.h: Remove no-op #if.
7180         * lib/file-has-acl.c: Likewise.
7181         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7182         * lib/copy-acl.c (qcopy_acl): Likewise.
7183
7184 2011-09-05  Bruno Haible  <bruno@clisp.org>
7185
7186         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7187         binaries built on the original Solaris 10.
7188         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
7189         trivial.
7190
7191 2011-09-05  Bruno Haible  <bruno@clisp.org>
7192
7193         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7194         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
7195         10.
7196         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
7197         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
7198         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
7199         instead of acl_get, facl_get, acl_set, facl_set.
7200
7201 2011-09-05  Bruno Haible  <bruno@clisp.org>
7202
7203         copy-file: Try unit tests on more file systems.
7204         * tests/test-copy-file-1.sh: New file.
7205         * tests/test-copy-file-2.sh: New file.
7206         * modules/copy-file-tests (Files): Add them.
7207         (Makefile.am): Add them to TESTS.
7208
7209         acl: Try unit tests on more file systems.
7210         * tests/test-file-has-acl-1.sh: New file.
7211         * tests/test-file-has-acl-2.sh: New file.
7212         * tests/test-set-mode-acl-1.sh: New file.
7213         * tests/test-set-mode-acl-2.sh: New file.
7214         * tests/test-copy-acl-1.sh: New file.
7215         * tests/test-copy-acl-2.sh: New file.
7216         * modules/acl-tests (Files): Add them.
7217         (Makefile.am): Add them to TESTS.
7218
7219 2011-09-04  Bruno Haible  <bruno@clisp.org>
7220
7221         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7222         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
7223         10.
7224         (OLD_ALLOW, OLD_DENY): New macros.
7225         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
7226         ACE_ACCESS_ALLOWED_ACE_TYPE.
7227         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
7228         ACE_ACCESS_DENIED_ACE_TYPE.
7229         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
7230         (NEW_ACE_EXECUTE): Fix value.
7231         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
7232         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
7233         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
7234         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
7235         NEW_ACE_SYNCHRONIZE): New macros.
7236         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
7237         instead of acl_fromtext, acl_set, facl_set.
7238         Fixes a coreutils/tests/cp/perm failure.
7239
7240 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
7241
7242         openat: test for fstatat (..., 0) bug
7243         Further testing with tar suggests that fstatat (..., 0)
7244         does not work in general, on AIX 7.1; see
7245         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
7246         So, give up entirely on AIX 7.1's fstatat, and fall back on our
7247         replacement fstatat (which is what older AIX releases were using
7248         anyway).
7249         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
7250         use is now changed to orig_fstatat.  This was probably the right
7251         thing to do anyway.
7252         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
7253         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
7254         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
7255         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
7256         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
7257         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
7258         if the bug is found.
7259
7260         openat: test for fstatat (AT_FDCWD, ..., 0) bug
7261         This tests for another fstatat bug on AIX 7.1:
7262         fstatat (AT_FDCWD, ..., 0) does not work.  See
7263         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
7264         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
7265         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
7266         (rpl_fstatat): Adjust so that it works around either (or both)
7267         bugs if present.
7268         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
7269
7270 2011-09-03  Karl Berry  <karl@gnu.org>
7271
7272         * doc/regex.texi (Character Class Operators): Avoid literal ":"
7273         in index entries.
7274
7275 2011-09-02  Bruno Haible  <bruno@clisp.org>
7276
7277         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
7278         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
7279         values of AR, ARFLAGS, RANLIB.
7280         Reported by John W. Eaton <jwe@gnu.org> for Octave.
7281
7282 2011-09-02  Bruno Haible  <bruno@clisp.org>
7283
7284         Find 'ar' program that fits with --host argument.
7285         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
7286
7287 2011-09-02  Bruno Haible  <bruno@clisp.org>
7288
7289         tests: init.sh: Support any non-GNU diff.
7290         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
7291         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
7292         Solaris 8.
7293
7294 2011-09-02  Bruno Haible  <bruno@clisp.org>
7295
7296         tests: init.sh: work also with any non-GNU diff that supports -u
7297         * tests/init.sh: Relax check for diff -u support.
7298         Rather than checking for GNU diff via --version, simply check
7299         for support for -u itself.  Useful at least on OpenBSD 4.9,
7300         AIX 7.1, IRIX 6.5, and Solaris 10.
7301
7302 2011-09-01  Bruno Haible  <bruno@clisp.org>
7303
7304         strtoimax, strtoumax: Document problem on HP-UX 11.
7305         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
7306         * doc/posix-functions/strtoumax.texi: Likewise.
7307
7308 2011-09-01  Bruno Haible  <bruno@clisp.org>
7309
7310         strtoumax: Avoid link error on OSF/1 with DTK cc.
7311         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7312         defined as a function.
7313         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7314         strtoumax is defined, not whether it is declared.
7315
7316 2011-09-01  Bruno Haible  <bruno@clisp.org>
7317
7318         strtoimax: Avoid link error on OSF/1 with DTK cc.
7319         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7320         defined as a function.
7321         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7322         strtoimax is defined, not whether it is declared.
7323
7324 2011-09-01  Bruno Haible  <bruno@clisp.org>
7325
7326         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7327         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7328         as a function.
7329         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7330         whether it is declared.
7331
7332 2011-09-01  Bruno Haible  <bruno@clisp.org>
7333
7334         imaxabs: Avoid link error on OSF/1 with DTK cc.
7335         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7336         as a function.
7337         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7338         whether it is declared.
7339
7340 2011-09-01  Bruno Haible  <bruno@clisp.org>
7341
7342         Tests for module 'strtoumax'.
7343         * modules/strtoumax-tests: New file.
7344         * tests/test-strtoumax.c: New file.
7345
7346         Tests for module 'strtoimax'.
7347         * modules/strtoimax-tests: New file.
7348         * tests/test-strtoimax.c: New file.
7349
7350         Tests for module 'imaxdiv'.
7351         * modules/imaxdiv-tests: New file.
7352         * tests/test-imaxdiv.c: New file.
7353
7354         Tests for module 'imaxabs'.
7355         * modules/imaxabs-tests: New file.
7356         * tests/test-imaxabs.c: New file.
7357
7358 2011-09-01  Bruno Haible  <bruno@clisp.org>
7359
7360         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
7361         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
7362         pthread_create.
7363
7364 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7365
7366         openat: work around AIX 7.1 fstatat issue
7367         This should fix the problem that was not properly fixed
7368         in the previous change, dated 2011-08-30.
7369         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
7370         __need_system_stat_h defined.
7371         (orig_fstatat) [HAVE_FSTATAT]: New function.
7372         (rpl_fstatat): Go back to the old way of doing things,
7373         except call orig_fstatat instead of fstatat.
7374         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
7375         Remove unnecessary check whether fstatat fills in st_size etc.
7376
7377 2011-09-01  Bruno Haible  <bruno@clisp.org>
7378
7379         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7380         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7381         just include the system's header.
7382
7383 2011-08-31  Jim Meyering  <meyering@redhat.com>
7384
7385         tests: avoid spurious assertion failure in test-float.c on ppc64
7386         * tests/test-float.c (test_long_double): Comment out an assertion,
7387         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7388         with gcc-4.4.4.
7389
7390         maint: indent with spaces, not TABs
7391         I need to get in the habit of running gnulib's "make check".
7392         Both of these would have been caught.
7393         * m4/largefile.m4: Indent with spaces, not TABs.
7394         * lib/parse-datetime.y (iso_8601_time): Likewise.
7395         Spotted by Pádraig Brady.
7396
7397         test-parse-datetime.c: accommodate a relatively strict gcc warning
7398         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7399         to avoid a warning from gcc's -Werror=missing-declarations.
7400         Insert a few spaces-before-funcall-parenthesis.
7401
7402 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7403
7404         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7405         The parser now accepts ISO 8601 date-time strings with "T" as the
7406         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7407         with a space between the date and time strings.  Now it also parses
7408         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7409         variants like "2004-02-29T16:21:42.333-07:00"
7410         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7411         of day representation using the 'T' separator character.
7412         * doc/parse-datetime.texi (General date syntax): replace use of
7413         deprecated --iso-8601 option with --rfc-3339 in example of date
7414         command output formats that can be parsed.
7415         * tests/test-parse-datetime.c (tm_diff): New function, taken from
7416         lib/parse-datetime.y.
7417         (gmt_offset): New function.
7418         (main): Add additional test cases to validate ISO8601 extended
7419         date and time of day parsing.
7420
7421 2011-08-31  Bruno Haible  <bruno@clisp.org>
7422
7423         freopen: Documentation.
7424         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
7425         name.
7426         Reported by Claudio Bley <claudio.bley@gmail.com>.
7427
7428 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
7429
7430         freopen: Don't crash if the filename argument is NULL.
7431         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
7432         NULL.
7433
7434 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
7435
7436         openat: work around AIX 7.1 fstatat bug
7437         Problem reported by Kevin Brott for GNU tar, in the thread containing
7438         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
7439         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
7440         FSTATAT_ST_SIZE_ETC_BROKEN.
7441         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
7442         rpl_fstatat.
7443         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
7444         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
7445         AC_CHECK_FUNCS_ONCE for fstatat.
7446         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
7447         fchmodat, mkdirat, openat and unlinkat.
7448
7449 2011-08-30  Bruno Haible  <bruno@clisp.org>
7450
7451         Avoid endless recursions if config.h includes some header files.
7452         * lib/fopen.c (__need_FILE): Define already before including config.h.
7453         * lib/freopen.c (__need_FILE): Likewise.
7454         * lib/open.c (__need_system_fcntl_h): Likewise.
7455         * lib/stat.c (__need_system_sys_stat_h): Likewise.
7456         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
7457         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7458
7459 2011-08-25  Karl Berry  <karl@gnu.org>
7460
7461         * config/srclist.txt (ylwrap): new try.
7462         * build-aux/ylwrap: new file.
7463
7464 2011-08-23  Bruno Haible  <bruno@clisp.org>
7465
7466         tmpdir: Use a good default directory on native Windows.
7467         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
7468         (P_tmpdir): Default to _P_tmpdir on native Windows.
7469         (path_search): On native Windows, try the value returned by GetTempPath
7470         before trying P_tmpdir.
7471         * modules/tmpdir (Depends-on): Add pathmax.
7472         Suggested by John Darrington <john@darrington.wattle.id.au>.
7473
7474 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
7475
7476         doc: fix typo in README-release
7477         * top/README-release: Capitalize first word of a sentence.
7478
7479 2011-08-19  Jim Meyering  <meyering@redhat.com>
7480
7481         fts: do not exhaust memory when processing million-entry directories
7482         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7483         directory would require about 256*N bytes of memory.  Thus, it was
7484         easy to construct a directory too large to be processed by any of
7485         those tools.  With this change, fts' maximum memory utilization is
7486         now limited to around 30MB.
7487         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7488         (fts_read): When we've processed the final entry (i.e., when
7489         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7490         using the parent entry to read any remaining entries.  Dispatch
7491         depending on what fts_build returns:
7492         - NULL+stop, aka failure: stop
7493         - NULL otherwise: move up in the dir hierarchy
7494         - non-NULL: handle this new entry
7495         (fts_build): Declare and use new local, continue_readdir.
7496         Prepare to be called from fts_read, when the entries
7497         from a partially-read directory have just been exhausted.
7498         In that case, we'll skip the opendir and instead use the parent's
7499         fts_dirp and derive dir_fd from that.
7500         Finally, in the readdir loop, if we read max_entries entries,
7501         exit the loop ensuring *not* to call closedir.  This is required
7502         so that fts_dirp can be reused on a subsequent call.
7503         Prompted by Ben England's report of memory exhaustion in find
7504         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7505
7506         maint: fts: move decl of `dp' down into while loop; split a long line
7507         * lib/fts.c (fts_build): No semantic change.
7508
7509         fts: add/use new struct member, fts_dirp
7510         We are about to use this to manage any directory with
7511         too many entries to read all of them into memory at once.
7512         To do that, we'll need to save the DIR* pointer in each
7513         affected FTSENT struct.
7514         * lib/fts_.h: Include <dirent.h>.
7515         (struct FTSENT) [fts_dirp]: New member.
7516         * lib/fts.c (closedir_and_clear): Define.
7517         Use it in place of closedir so that we are sure to
7518         clear the new fts_dirp member when done with it.
7519         (fts_alloc): Initialize the new member.
7520         (fts_lfree): Free, if needed.
7521
7522         maint: fts: give __opendir2 a new parameter and rename
7523         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7524         than surreptitiously using sole caller's "dir_fd".
7525         (fts_opendir): Rename from __opendir2.
7526
7527         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7528         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7529
7530         maint: fts.c: correct off-by-one indentation
7531         * lib/fts.c (fts_build): Correct indentation, change style
7532         of a couple of block comments, and bracing style.
7533
7534         maint: fts.c: move __opendir2 #define "up" out of function body
7535         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7536
7537         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7538         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7539         out for a long time and besides was useful only on BSD systems.
7540
7541 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7542
7543         regex: port to Stratus OpenVOS
7544         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7545         define to empty, rather than attempting nonportable optimizations.
7546         Problem reported by Paul Green in:
7547         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7548         and fix suggested by Eric Blake in:
7549         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7550
7551 2011-08-17  Eric Blake  <eblake@redhat.com>
7552
7553         getcwd: fix test failures on mingw
7554         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7555         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7556         test if long directory cannot be created, and allow mingw errno.
7557
7558         getcwd-lgpl: fix m4 to match relaxed test for BSD
7559         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7560         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7561         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7562         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7563         signature problem.
7564
7565         getcwd: fix compilation on mingw64
7566         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7567         getcwd.
7568         Reported by Marc-André Lureau.
7569
7570         pipe2: silence compiler warning
7571         * lib/pipe2.c (pipe2): Hide label if it is not used.
7572
7573 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7574
7575         relocatable-prog: fix link error
7576         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7577         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7578         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7579         into modules/relocatable-lib without noticing that
7580         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7581         also needs to build relocatable.c.
7582
7583 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7584
7585         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7587         shell code: it contained a 'break' that was not in a loop.
7588         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7589         via a shell-language loop; this may have been true in old Autoconf
7590         versions, but it's not true in Autoconf 2.68.  I found this bug
7591         when testing coreutils git on Solaris 8, whose shell complains
7592         about the syntax error.
7593
7594 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7595
7596         * lib/base64.c: Fix comment to reference RFC 4648.
7597         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7598         <gvtulder@gmail.com>.
7599
7600 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7601
7602         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7603
7604         po/Makefile.in.in: fix make -q problem
7605         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7606         rule, since there's no file named 'check-macro-version' and its
7607         use as a file breaks make -q.
7608         (all): Don't depend on check-macro-version.
7609         (CHECK_MACRO_VERSION): New macro.
7610         (stamp-po): Use it.
7611
7612         configmake: fix make -q problem
7613         * modules/configmake (configmake.h): Update configmake.h's time stamp
7614         even if the file does not change.  Otherwise, 'make -q' fails.
7615         Problem reported by Simon Josefsson in
7616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7617
7618 2011-08-11  Jim Meyering  <meyering@redhat.com>
7619
7620         git-version-gen: correct the advice in a comment
7621         * build-aux/git-version-gen: Correct comment.
7622         Don't recommend to list .tarball-version in .gitignore.
7623
7624 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7625
7626         base64: fix off-by-one buffer size bug
7627         Problem and (trivial) fix reported by Gijs van Tulder in
7628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7629         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7630         * tests/test-base64.c (main): Catch the bug.
7631
7632 2011-08-10  Eric Blake  <eblake@redhat.com>
7633
7634         closein: correct comments
7635         * lib/closein.c (close_stdin): Improve comments.
7636
7637 2011-08-09  Bruno Haible  <bruno@clisp.org>
7638
7639         More tests for 'fseeko'.
7640         * tests/test-fseeko3.c: New file, from Eric Blake.
7641         * tests/test-fseeko3.sh: New file.
7642         * modules/fseeko-tests (Files): Add them.
7643         (TESTS): Add test-fseeko3.sh.
7644         (check_PROGRAMS): Add test-fseeko3.
7645
7646 2011-08-09  Eric Blake  <eblake@redhat.com>
7647
7648         fseeko: remove unneeded hack
7649         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7650
7651         fseeko: fix bug on glibc
7652         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7653         Reported by John W. Eaton.
7654
7655 2011-08-08  Bruno Haible  <bruno@clisp.org>
7656
7657         unictype/base: Fix interoperability with preinstalled libunistring.
7658         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7659         Reported by Simon Josefsson.
7660
7661 2011-08-08  Bruno Haible  <bruno@clisp.org>
7662
7663         iswblank: Detect declaration correctly.
7664         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7665         AC_CHECK_DECLS invocation.
7666
7667 2011-08-08  Bruno Haible  <bruno@clisp.org>
7668
7669         tcgetsid: Detect declaration correctly.
7670         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7671         AC_CHECK_DECLS invocation.
7672         Reported by Simon Josefsson.
7673
7674 2011-08-08  Eric Blake  <eblake@redhat.com>
7675
7676         largefile: fix typo that regressed large file support
7677         * modules/largefile (configure.ac-early): Fix section name.
7678
7679 2011-08-06  Karl Berry  <karl@gnu.org>
7680
7681         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7682         a separate module.
7683
7684 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7685
7686         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7687         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7688         get prototype for free.
7689
7690 2011-08-04  Bruno Haible  <bruno@clisp.org>
7691
7692         Tests for module 'pathmax'.
7693         * modules/pathmax-tests: New file.
7694         * tests/test-pathmax.c: New file.
7695
7696         canonicalize-lgpl: Support larger filenames on the Hurd.
7697         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7698         Reported by Paul Eggert.
7699
7700         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7701         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7702         * lib/chdir-long.h: Include pathmax.h.
7703         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7704         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7705         (PATH_MAX): Remove code that is done by pathmax.h.
7706         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7707         * lib/tmpfile.c: Add a comment.
7708         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7709         * modules/chdir-long (Depends-on): Add pathmax.
7710         * modules/getcwd (Depends-on): Add pathmax.
7711         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7712         is not defined.
7713         * doc/posix-headers/limits.texi: Mention the pathmax module.
7714         * NEWS: Mention the change.
7715
7716 2011-08-02  Bruno Haible  <bruno@clisp.org>
7717
7718         pthread_sigmask: Actually use results of gl_THREADLIB.
7719         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7720         gl_THREADLIB, not gl_[]THREADLIB.
7721         Reported by Eric Blake.
7722
7723 2011-08-02  Jim Meyering  <meyering@redhat.com>
7724
7725         maint.mk: relax the default _gl_TS_function_match regexp
7726         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7727         space between function name and "(" in an "extern" declaration.
7728         That would fail to match a decl with no space there: extern void foo();
7729
7730 2011-07-31  Iain Nicol  <iain@thenicols.net>
7731
7732         git-version-gen: document that EXTRA_DIST must include .version
7733         * build-aux/git-version-gen: In the how-to-use comment, document
7734         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7735         will fail when run from an unpacked distribution tarball.
7736
7737 2011-08-01  Bruno Haible  <bruno@clisp.org>
7738
7739         wctype-h: Fix last change.
7740         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7741         REPLACE_TOWLOWER to 0.
7742         Reported by Sam Steingold <sds@gnu.org>.
7743
7744 2011-07-31  Bruno Haible  <bruno@clisp.org>
7745
7746         frexpl: Update autoconf test.
7747         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7748         according to changes of 2011-06-20.
7749
7750 2011-07-31  Bruno Haible  <bruno@clisp.org>
7751
7752         sys_utsname: Add support for Minix.
7753         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7754         <sys/utsname.h>.
7755         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7756         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7757
7758 2011-07-31  Bruno Haible  <bruno@clisp.org>
7759
7760         strings: Add support for Minix.
7761         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7762         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7763         * doc/posix-headers/strings.texi: Document the Minix problem.
7764
7765 2011-07-31  Bruno Haible  <bruno@clisp.org>
7766
7767         wctype-h: Add support for Minix.
7768         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7769         REPLACE_TOWLOWER.
7770         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7771         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7772         REPLACE_ISWCNTRL.
7773
7774 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7775
7776         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7777         This is a performance improvement for 64-bit hosts: it causes the
7778         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7779
7780 2011-07-31  Bruno Haible  <bruno@clisp.org>
7781
7782         stdioext: Add support for Minix.
7783         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7784         * lib/fpurge.c (fpurge): Likewise.
7785         * lib/freadahead.c (freadahead): Likewise.
7786         * lib/freadable.c (freadable): Likewise.
7787         * lib/freading.c (freading): Likewise.
7788         * lib/freadptr.c (freadptr): Likewise.
7789         * lib/freadseek.c (freadptrinc): Likewise.
7790         * lib/fseeko.c (rpl_fseeko): Likewise.
7791         * lib/fseterr.c (fseterr): Likewise.
7792         * lib/fwritable.c (fwritable): Likewise.
7793         * lib/fwriting.c (fwriting): Likewise.
7794         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7795         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7796
7797 2011-07-31  Bruno Haible  <bruno@clisp.org>
7798
7799         errno: Port to Minix.
7800         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7801         ECONNABORTED are defined.
7802         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7803         GNULIB_defined_ECONNABORTED): New macros.
7804         * lib/strerror-override.h (strerror_override): Test also
7805         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7806         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7807         ECONNABORTED.
7808         * doc/posix-headers/errno.texi: Mention the Minix problem.
7809
7810 2011-07-31  Bruno Haible  <bruno@clisp.org>
7811
7812         Work around declaration collisions on Minix.
7813         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7814         defined, set REPLACE_MBSINIT.
7815         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7816         defined, set REPLACE_MBRTOWC.
7817         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7818         set REPLACE_MBRLEN.
7819         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7820         defined, set REPLACE_MBSRTOWCS.
7821         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7822         defined, set REPLACE_WCRTOMB.
7823         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7824         defined, set REPLACE_WCSRTOMBS.
7825
7826 2011-07-31  Bruno Haible  <bruno@clisp.org>
7827
7828         Add support for Minix with ACK compiler.
7829         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7830         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7831         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7832
7833 2011-07-31  Bruno Haible  <bruno@clisp.org>
7834
7835         Documentation about Minix.
7836         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7837         * doc/glibc-headers/*.texi: Likewise.
7838         * doc/posix-functions/*.texi: Likewise.
7839         * doc/glibc-functions/*.texi: Likewise.
7840
7841 2011-07-31  Bruno Haible  <bruno@clisp.org>
7842
7843         snippet/warn-on-use: Fix indentation.
7844         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7845
7846 2011-07-25  Jim Meyering  <meyering@redhat.com>
7847
7848         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7849         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7850         commands.
7851
7852 2011-07-27  Jim Meyering  <meyering@redhat.com>
7853
7854         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7855         * top/maint.mk (gl_extract_significant_defines_): Now that
7856         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7857         gnulib/lib/signal.in.h, and now that we recommend to
7858         define-if-undefined those two symbols in application code,
7859         we must filter them out of the "significant" list.
7860         This avoids a "make syntax-check" failure in coreutils.
7861
7862 2011-07-26  Eric Blake  <eblake@redhat.com>
7863
7864         warnings: add comments about previous patch
7865         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7866         * m4/include_next.m4: Likewise.
7867         * m4/warn-on-use.m4: Likewise.
7868         * m4/warnings.m4: Likewise, and simplify use.
7869         Suggested by Stefano Lattarini.
7870
7871         include-next, warnings: support older autoconf
7872         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7873         AS_VAR_PUSHDEF in a way that works with older autoconf.
7874         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7875         Reported by Daniel P. Berrange.
7876
7877 2011-07-25  Bruno Haible  <bruno@clisp.org>
7878
7879         fseek, ftell: Fix doc.
7880         * doc/posix-functions/fseek.texi: Reword statement about
7881         AC_SYS_LARGEFILE.
7882         * doc/posix-functions/ftell.texi: Likewise.
7883
7884 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7885             Bruno Haible  <bruno@clisp.org>
7886
7887         Add dependencies to the 'largefile' module.
7888         * modules/fopen (Depends-on): Add 'largefile'.
7889         * modules/freopen (Depends-on): Likewise.
7890         * modules/fseeko (Depends-on): Likewise.
7891         * modules/ftello (Depends-on): Likewise.
7892         * modules/glob (Depends-on): Likewise.
7893         * modules/lseek (Depends-on): Likewise.
7894         * modules/lstat (Depends-on): Likewise.
7895         * modules/mkostemp (Depends-on): Likewise.
7896         * modules/mkostemps (Depends-on): Likewise.
7897         * modules/mkstemp (Depends-on): Likewise.
7898         * modules/mkstemps (Depends-on): Likewise.
7899         * modules/open (Depends-on): Likewise.
7900         * modules/openat (Depends-on): Likewise.
7901         * modules/pread (Depends-on): Likewise.
7902         * modules/pwrite (Depends-on): Likewise.
7903         * modules/scandir (Depends-on): Likewise.
7904         * modules/stat (Depends-on): Likewise.
7905         * modules/tmpfile (Depends-on): Likewise.
7906         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7907         since the containing module now depends on the largefile module.
7908         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7909         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7910         off_t is fixed by gnulib.
7911         * doc/posix-functions/freopen.texi: Likewise.
7912         * doc/posix-functions/fseeko.texi: Likewise.
7913         * doc/posix-functions/fstatat.texi: Likewise.
7914         * doc/posix-functions/ftello.texi: Likewise.
7915         * doc/posix-functions/glob.texi: Likewise.
7916         * doc/posix-functions/lseek.texi: Likewise.
7917         * doc/posix-functions/lstat.texi: Likewise.
7918         * doc/posix-functions/mkstemp.texi: Likewise.
7919         * doc/posix-functions/open.texi: Likewise.
7920         * doc/posix-functions/openat.texi: Likewise.
7921         * doc/posix-functions/pread.texi: Likewise.
7922         * doc/posix-functions/pwrite.texi: Likewise.
7923         * doc/posix-functions/scandir.texi: Likewise.
7924         * doc/posix-functions/stat.texi: Likewise.
7925         * doc/posix-functions/tmpfile.texi: Likewise.
7926         * doc/glibc-functions/mkostemp.texi: Likewise.
7927         * doc/glibc-functions/mkostemps.texi: Likewise.
7928         * doc/glibc-functions/mkstemps.texi: Likewise.
7929
7930 2011-07-25  Bruno Haible  <bruno@clisp.org>
7931
7932         fcntl: Move AC_LIBOBJ invocation to module description.
7933         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7934         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7935
7936         fcntl: Remove call-in from fchdir.m4.
7937         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7938         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7939
7940         dup3: Remove potential call-in from fchdir.m4.
7941         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7942         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7943
7944         dup2: Move AC_LIBOBJ invocation to module description.
7945         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7946         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7947         Don't invoke AC_LIBOBJ.
7948         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7949
7950         dup2: Remove call-in from fchdir.m4.
7951         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7952         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7953
7954         fclose: Move AC_LIBOBJ invocation to module description.
7955         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7956         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7957         to 1.
7958         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7959
7960         fclose: Remove call-in from close.m4.
7961         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7962         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7963
7964         close: Move AC_LIBOBJ invocation to module description.
7965         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7966         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7967         1.
7968         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7969
7970         close: Remove call-in from fchdir.m4.
7971         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7972         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7973
7974         open: Move AC_LIBOBJ invocation to module description.
7975         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7976         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7977         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7978
7979         open: Remove call-in from fchdir.m4.
7980         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7981         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7982
7983         fchdir: Start to remove gl_REPLACE_* idiom.
7984         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7985         (gl_FUNC_FCHDIR): Invoke it.
7986
7987 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7988
7989         * lib/ftell.c (ftell): Comment out cast.
7990
7991         close: use gl_REPLACE_FCLOSE only if defined
7992         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7993         is defined.  The close module doesn't depend on the fclose module
7994         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7995         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7996         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7997
7998 2011-07-24  Jim Meyering  <meyering@redhat.com>
7999
8000         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8001         * tests/test-select.h (test_function): Declare as "static".
8002
8003 2011-07-24  Bruno Haible  <bruno@clisp.org>
8004
8005         doc: Mention the effects of AC_SYS_LARGEFILE.
8006         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8007         on this function.
8008         * doc/posix-functions/aio_error.texi: Likewise.
8009         * doc/posix-functions/aio_fsync.texi: Likewise.
8010         * doc/posix-functions/aio_read.texi: Likewise.
8011         * doc/posix-functions/aio_return.texi: Likewise.
8012         * doc/posix-functions/aio_suspend.texi: Likewise.
8013         * doc/posix-functions/aio_write.texi: Likewise.
8014         * doc/posix-functions/fgetpos.texi: Likewise.
8015         * doc/posix-functions/fopen.texi: Likewise.
8016         * doc/posix-functions/freopen.texi: Likewise.
8017         * doc/posix-functions/fsetpos.texi: Likewise.
8018         * doc/posix-functions/fstatvfs.texi: Likewise.
8019         * doc/posix-functions/ftruncate.texi: Likewise.
8020         * doc/posix-functions/ftw.texi: Likewise.
8021         * doc/posix-functions/getrlimit.texi: Likewise.
8022         * doc/posix-functions/glob.texi: Likewise.
8023         * doc/posix-functions/lio_listio.texi: Likewise.
8024         * doc/posix-functions/lockf.texi: Likewise.
8025         * doc/posix-functions/mkstemp.texi: Likewise.
8026         * doc/posix-functions/mmap.texi: Likewise.
8027         * doc/posix-functions/nftw.texi: Likewise.
8028         * doc/posix-functions/openat.texi: Likewise.
8029         * doc/posix-functions/opendir.texi: Likewise.
8030         * doc/posix-functions/posix_fadvise.texi: Likewise.
8031         * doc/posix-functions/posix_fallocate.texi: Likewise.
8032         * doc/posix-functions/pread.texi: Likewise.
8033         * doc/posix-functions/pwrite.texi: Likewise.
8034         * doc/posix-functions/readdir.texi: Likewise.
8035         * doc/posix-functions/readdir_r.texi: Likewise.
8036         * doc/posix-functions/rewinddir.texi: Likewise.
8037         * doc/posix-functions/scandir.texi: Likewise.
8038         * doc/posix-functions/seekdir.texi: Likewise.
8039         * doc/posix-functions/setrlimit.texi: Likewise.
8040         * doc/posix-functions/statvfs.texi: Likewise.
8041         * doc/posix-functions/telldir.texi: Likewise.
8042         * doc/posix-functions/tmpfile.texi: Likewise.
8043         * doc/posix-functions/truncate.texi: Likewise.
8044         * doc/glibc-functions/fallocate.texi: Likewise.
8045         * doc/glibc-functions/fstatfs.texi: Likewise.
8046         * doc/glibc-functions/fts_children.texi: Likewise.
8047         * doc/glibc-functions/fts_read.texi: Likewise.
8048         * doc/glibc-functions/getdirentries.texi: Likewise.
8049         * doc/glibc-functions/mkostemp.texi: Likewise.
8050         * doc/glibc-functions/mkostemps.texi: Likewise.
8051         * doc/glibc-functions/mkstemps.texi: Likewise.
8052         * doc/glibc-functions/preadv.texi: Likewise.
8053         * doc/glibc-functions/pwritev.texi: Likewise.
8054         * doc/glibc-functions/sendfile.texi: Likewise.
8055         * doc/glibc-functions/statfs.texi: Likewise.
8056
8057 2011-07-24  Bruno Haible  <bruno@clisp.org>
8058
8059         doc: Fix typo.
8060         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8061
8062 2011-07-24  Bruno Haible  <bruno@clisp.org>
8063
8064         doc: Mention fsusage.
8065         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8066
8067 2011-07-24  Bruno Haible  <bruno@clisp.org>
8068
8069         doc: Mention new glibc headers and functions.
8070         * doc/glibc-headers/gshadow.texi: New file.
8071         * doc/glibc-functions/endsgent.texi: New file.
8072         * doc/glibc-functions/fgetsgent.texi: New file.
8073         * doc/glibc-functions/fgetsgent_r.texi: New file.
8074         * doc/glibc-functions/getsgent.texi: New file.
8075         * doc/glibc-functions/getsgent_r.texi: New file.
8076         * doc/glibc-functions/getsgnam.texi: New file.
8077         * doc/glibc-functions/getsgnam_r.texi: New file.
8078         * doc/glibc-functions/putsgent.texi: New file.
8079         * doc/glibc-functions/setsgent.texi: New file.
8080         * doc/glibc-functions/sgetsgent.texi: New file.
8081         * doc/glibc-functions/sgetsgent_r.texi: New file.
8082         * doc/glibc-functions/malloc_info.texi: New file.
8083         * doc/glibc-functions/preadv.texi: New file.
8084         * doc/glibc-functions/pwritev.texi: New file.
8085         * doc/glibc-functions/register_printf_modifier.texi: New file.
8086         * doc/glibc-functions/register_printf_specifier.texi: New file.
8087         * doc/glibc-functions/register_printf_type.texi: New file.
8088         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8089         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8090         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8091         * doc/glibc-functions/pthread_getname_np.texi: New file.
8092         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8093         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8094         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8095         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8096         * doc/glibc-functions/pthread_setname_np.texi: New file.
8097         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8098         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8099         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8100         * doc/glibc-functions/qsort_r.texi: New file.
8101         * doc/glibc-functions/quick_exit.texi: New file.
8102         * doc/glibc-functions/syncfs.texi: New file.
8103         * doc/gnulib.texi: Include them.
8104         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8105         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8106         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8107         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8108         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8109         * doc/glibc-functions/execvpe.texi: Likewise.
8110
8111 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8112
8113         ftell: don't include <unistd.h>
8114         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8115         guaranteed to define off_t, and the ftell module depends on the
8116         stdio module.
8117
8118         ftell: do not assume wraparound signed arithmetic
8119         * lib/ftell.c: Include <limits.h>.
8120         (ftell): Don't assume wraparound signed arithmetic.
8121
8122 2011-07-24  Bruno Haible  <bruno@clisp.org>
8123
8124         close: No longer depend on module 'fclose'.
8125         * modules/close (Depends-on): Remove fclose.
8126         * NEWS: Mention the change.
8127         Suggested by Sam Steingold <sds@gnu.org>.
8128
8129 2011-07-24  Bruno Haible  <bruno@clisp.org>
8130
8131         fsusage: Enable large volume support on AIX >= 5.2.
8132         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8133         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8134         instead of STAT_STATVFS.
8135         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8136
8137         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8138         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8139         f_blocks field only on MacOS X.
8140
8141         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8143         * modules/fsusage (Depends-on): Add largefile.
8144
8145 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8146
8147         * README: Modernize discussion of signed integers.
8148         Assuming overflow wraparound is no longer safe.
8149         Mention ones' complement and signed magnitude.
8150
8151 2011-07-22  Bruno Haible  <bruno@clisp.org>
8152
8153         select tests, pselect tests: Refactor.
8154         * tests/test-select.h: New file, extracted from tests/test-select.c.
8155         (select_fn): New type.
8156         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8157         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8158         test_pipe): Add my_select argument.
8159         (test_function): Renamed from main. Add my_select argument.
8160         * tests/test-select.c: Move most code to tests/test-select.h. Include
8161         test-select.h.
8162         * modules/select-tests (Files): Add tests/test-select.h.
8163         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8164         (my_select, main): New functions.
8165         * modules/pselect-tests (Files): Add tests/test-select.h,
8166         tests/macros.h, tests/signature.h.
8167         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8168         (configure.ac): Check for <sys/wait.h>.
8169
8170 2011-07-22  Bruno Haible  <bruno@clisp.org>
8171
8172         sys_select tests: Check the signature of FD_*.
8173         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8174         signature tests from here...
8175         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8176         here.
8177         * modules/sys_select-tests (Files): Add tests/signature.h.
8178
8179 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8180
8181         largefile: new module, replacing large-inode
8182         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8183         * MODULES.html.sh: Add largefile, remove large-inode.
8184         * modules/largefile, m4/largefile.m4: New files.
8185         * modules/large-inode, m4/large-inode.m4: Remove.
8186
8187         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8188         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
8189         implementations that use only 32 bits to count blocks.
8190         On typical hosts with 1024-byte blocks, this fails with file
8191         systems as small as 4 TiB.  Problem reported by Herb Wartens
8192         <http://debbugs.gnu.org/9140> and this should also fix a similar
8193         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
8194
8195         large-inode: New module
8196         * MODULES.html.sh: Add it.
8197         * modules/large-inode, m4/large-inode.m4: New files.
8198
8199         extensions: Enable extensions on MacOS X 10.5 and later.
8200         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
8201
8202 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
8203
8204         file-has-acl: use acl_extended_file_nofollow if available
8205         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
8206         (acl_extended_file): New macro.
8207         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
8208         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
8209
8210 2011-07-21  Bruno Haible  <bruno@clisp.org>
8211
8212         Declare system functions in a way that works with C++.
8213         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
8214         declare fdopendir as extern "C".
8215         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
8216         declare frexpl as extern "C".
8217         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
8218         declare gai_strerror as extern "C".
8219         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
8220         programs, declare gai_strerror as extern "C".
8221         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
8222         declare getlogin_r as extern "C".
8223         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
8224         as extern "C".
8225         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
8226         declare ldexpl as extern "C".
8227         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
8228         as extern "C".
8229         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
8230         program, declare getmntinfo as extern "C".
8231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
8232         stpncpy as extern "C".
8233         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
8234         program, declare __xpg_strerror_r as extern "C".
8235         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
8236         strndup as extern "C".
8237         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
8238         declare memset and bzero as extern "C".
8239         Reported by Sam Steingold <sds@gnu.org>.
8240
8241 2011-07-12  Jim Meyering  <meyering@redhat.com>
8242
8243         maint.mk: prohibit inclusion of "verify.h" without use
8244         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
8245
8246 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8247
8248         timer-time: A new module to check for timer_settime()
8249         * m4/timer_time.m4: Check for the posix function.
8250         * modules/timer-time: Add the new module.
8251         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
8252         Mention it.
8253
8254 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
8255             Bruno Haible  <bruno@clisp.org>
8256
8257         pthread_sigmask: assume POSIX threads if --avoid=threadlib
8258         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
8259         not defined, assume POSIX threads and look for pthread_sigmask in
8260         $LIBS, without changing $CPPFLAGS.
8261
8262 2011-07-19  Bruno Haible  <bruno@clisp.org>
8263
8264         strstr: Update cross-compilation guess.
8265         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
8266         CPUs, guess no, in view of glibc
8267         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
8268         Suggested by Eric Blake. Reported by Reuben Thomas.
8269
8270 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8271
8272         getopt-gnu: suppress core dumps from detection code
8273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
8274         to suppress core dumps that may well occur on glibc systems.
8275         * modules/getopt-gnu: Depend on nocrash.
8276
8277 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8278
8279         pthread_sigmask: ensure usleep is declared
8280         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
8281         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
8282
8283 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8284
8285         doc: Document NonStop portability issues.
8286         * doc/posix-functions/sigaction.texi (sigaction):
8287         * doc/posix-headers/signal.texi (signal.h):
8288         Document NonStop.  See Joachim Schmitz in
8289         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
8290
8291 2011-07-15  Bruno Haible  <bruno@clisp.org>
8292
8293         ffsl, ffsll: Avoid unportable behaviour.
8294         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
8295
8296 2011-07-15  Bruno Haible  <bruno@clisp.org>
8297
8298         ffs: More tests.
8299         * tests/test-ffs.c (NBITS): New macro.
8300         (main): Add more tests.
8301         * tests/test-ffsl.c (NBITS): New macro.
8302         (main): Add more tests.
8303         * tests/test-ffsll.c (NBITS): New macro.
8304         (main): Add more tests.
8305
8306 2011-07-15  Eric Blake  <eblake@redhat.com>
8307
8308         ffsl, ffsll: new modules
8309         * modules/ffsl: New file.
8310         * modules/ffsll: Likewise.
8311         * m4/ffsl.m4: Likewise.
8312         * m4/ffsll.m4: Likewise.
8313         * lib/ffsl.c: Likewise.
8314         * lib/ffsl.h: Likewise.
8315         * lib/ffsll.c: Likewise.
8316         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8317         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8318         * modules/string (Makefile.am): Substitute witnesses.
8319         * lib/strings.in.h (ffsl, ffsll): Declare.
8320         * modules/ffsl-tests: New test file.
8321         * modules/ffsll-tests: Likewise.
8322         * tests/test-ffsl.c: Likewise.
8323         * tests/test-ffsll.c: Likewise.
8324         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8325         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8326         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8327
8328         ffs: fix m4 prerequisite
8329         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8330
8331         ffs: avoid undefined behavior
8332         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8333         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8334         Reported by Bruno Haible.
8335
8336 2011-07-12  Bruno Haible  <bruno@clisp.org>
8337
8338         pthread_sigmask: Rely on module 'threadlib'.
8339         * modules/pthread_sigmask (Depends-on): Add threadlib.
8340         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8341         is defined.
8342
8343 2011-07-12  Bruno Haible  <bruno@clisp.org>
8344
8345         regex: Depend on module 'strcase'.
8346         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8347
8348 2011-07-12  Jim Meyering  <meyering@redhat.com>
8349
8350         warn-on-use: fix typo in file name
8351         * modules/snippet/warn-on-use (Files): Correct file name:
8352         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8353
8354 2011-07-12  Bruno Haible  <bruno@clisp.org>
8355
8356         strings: Document module.
8357         * doc/posix-headers/strings.texi: Mention module 'strings'.
8358
8359 2011-07-12  Bruno Haible  <bruno@clisp.org>
8360
8361         Rename module '_Noreturn' to 'snippet/_Noreturn'.
8362         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
8363         (Files, Makefile.am): Update.
8364         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
8365         * modules/stdlib (Depends-on): Update.
8366
8367 2011-07-12  Bruno Haible  <bruno@clisp.org>
8368
8369         * NEWS: Mention the changes.
8370
8371         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
8372         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
8373         (Files, Makefile.am): Update.
8374         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
8375         * modules/arpa_inet (Depends-on): Update.
8376         * modules/ctype (Depends-on): Update.
8377         * modules/dirent (Depends-on): Update.
8378         * modules/fcntl-h (Depends-on): Update.
8379         * modules/glob (Depends-on): Update.
8380         * modules/iconv-h (Depends-on): Update.
8381         * modules/inttypes-incomplete (Depends-on): Update.
8382         * modules/langinfo (Depends-on): Update.
8383         * modules/locale (Depends-on): Update.
8384         * modules/math (Depends-on): Update.
8385         * modules/netdb (Depends-on): Update.
8386         * modules/poll-h (Depends-on): Update.
8387         * modules/pty (Depends-on): Update.
8388         * modules/search (Depends-on): Update.
8389         * modules/signal (Depends-on): Update.
8390         * modules/spawn (Depends-on): Update.
8391         * modules/stdio (Depends-on): Update.
8392         * modules/stdlib (Depends-on): Update.
8393         * modules/string (Depends-on): Update.
8394         * modules/strings (Depends-on): Update.
8395         * modules/sys_file (Depends-on): Update.
8396         * modules/sys_ioctl (Depends-on): Update.
8397         * modules/sys_select (Depends-on): Update.
8398         * modules/sys_socket (Depends-on): Update.
8399         * modules/sys_stat (Depends-on): Update.
8400         * modules/sys_time (Depends-on): Update.
8401         * modules/sys_times (Depends-on): Update.
8402         * modules/sys_utsname (Depends-on): Update.
8403         * modules/sys_wait (Depends-on): Update.
8404         * modules/termios (Depends-on): Update.
8405         * modules/time (Depends-on): Update.
8406         * modules/unistd (Depends-on): Update.
8407         * modules/wchar (Depends-on): Update.
8408         * modules/wctype-h (Depends-on): Update.
8409         * MODULES.html.sh (Support for building libraries and executables):
8410         Update.
8411
8412         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
8413         * modules/snippet/unused-parameter: Renamed from
8414         modules/unused-parameter.
8415         (Files, Makefile.am): Update.
8416         * build-aux/snippet/unused-parameter.h: Renamed from
8417         build-aux/unused-parameter.h.
8418         * modules/selinux-h (Depends-on): Update.
8419         * modules/unistr/base (Depends-on): Update.
8420         * MODULES.html.sh (Core language properties): Update.
8421
8422         Rename module 'link-warning' to 'snippet/link-warning'.
8423         * modules/snippet/link-warning: Renamed from modules/link-warning.
8424         (Files, Makefile.am): Update.
8425         * build-aux/snippet/link-warning.h: Renamed from
8426         build-aux/link-warning.h.
8427         * MODULES.html.sh (Support for building libraries and executables):
8428         Update.
8429
8430         Rename module 'c++defs' to 'snippet/c++defs'.
8431         * modules/snippet/c++defs: Renamed from modules/c++defs.
8432         (Files, Makefile.am): Update.
8433         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
8434         * modules/arpa_inet (Depends-on): Update.
8435         * modules/ctype (Depends-on): Update.
8436         * modules/dirent (Depends-on): Update.
8437         * modules/fcntl-h (Depends-on): Update.
8438         * modules/glob (Depends-on): Update.
8439         * modules/iconv-h (Depends-on): Update.
8440         * modules/langinfo (Depends-on): Update.
8441         * modules/locale (Depends-on): Update.
8442         * modules/math (Depends-on): Update.
8443         * modules/netdb (Depends-on): Update.
8444         * modules/poll-h (Depends-on): Update.
8445         * modules/pty (Depends-on): Update.
8446         * modules/search (Depends-on): Update.
8447         * modules/signal (Depends-on): Update.
8448         * modules/spawn (Depends-on): Update.
8449         * modules/stdio (Depends-on): Update.
8450         * modules/stdlib (Depends-on): Update.
8451         * modules/string (Depends-on): Update.
8452         * modules/strings (Depends-on): Update.
8453         * modules/sys_ioctl (Depends-on): Update.
8454         * modules/sys_select (Depends-on): Update.
8455         * modules/sys_socket (Depends-on): Update.
8456         * modules/sys_stat (Depends-on): Update.
8457         * modules/sys_time (Depends-on): Update.
8458         * modules/sys_wait (Depends-on): Update.
8459         * modules/termios (Depends-on): Update.
8460         * modules/time (Depends-on): Update.
8461         * modules/unistd (Depends-on): Update.
8462         * modules/wchar (Depends-on): Update.
8463         * modules/wctype-h (Depends-on): Update.
8464
8465         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
8466         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
8467         (Files, Makefile.am): Update.
8468         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
8469         * modules/argv-iter (Depends-on): Update.
8470         * modules/arpa_inet (Depends-on): Update.
8471         * modules/dirent (Depends-on): Update.
8472         * modules/fcntl-h (Depends-on): Update.
8473         * modules/fnmatch (Depends-on): Update.
8474         * modules/getopt-posix (Depends-on): Update.
8475         * modules/glob (Depends-on): Update.
8476         * modules/iconv-h (Depends-on): Update.
8477         * modules/inttypes-incomplete (Depends-on): Update.
8478         * modules/locale (Depends-on): Update.
8479         * modules/math (Depends-on): Update.
8480         * modules/netdb (Depends-on): Update.
8481         * modules/search (Depends-on): Update.
8482         * modules/signal (Depends-on): Update.
8483         * modules/spawn (Depends-on): Update.
8484         * modules/stdio (Depends-on): Update.
8485         * modules/stdlib (Depends-on): Update.
8486         * modules/string (Depends-on): Update.
8487         * modules/strings (Depends-on): Update.
8488         * modules/sys_socket (Depends-on): Update.
8489         * modules/sys_stat (Depends-on): Update.
8490         * modules/sys_time (Depends-on): Update.
8491         * modules/sys_times (Depends-on): Update.
8492         * modules/sys_utsname (Depends-on): Update.
8493         * modules/time (Depends-on): Update.
8494         * modules/unistd (Depends-on): Update.
8495         * modules/wchar (Depends-on): Update.
8496         * MODULES.html.sh (Support for building libraries and executables):
8497         Update.
8498
8499 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8500
8501         Improvements on _Noreturn and related modules.
8502
8503         modules/_Exit-tests: test _Noreturn too
8504         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8505         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8506         (main): Use them.
8507
8508         stdnoreturn, stdnoreturn-tests: remove modules
8509         They're not needed here and a bit premature for use elsewhere.  See
8510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8511         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8512         * tests/test-stdnoreturn.c: Remove files.
8513         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8514         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8515         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8516         and using noreturn.
8517         * modules/openat, modules/sigpipe-die, modules/xalloc:
8518         * modules/xmemdup0, modules/xstrtol:
8519         Remove dependency on stdnoreturn.
8520
8521         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8522         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8523         Reparenthesize to avoid GCC warning.
8524         Support Microsoft's syntax.
8525         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8526
8527         _Noreturn-tests: remove module
8528         * modules/_Noreturn-tests: Remove.
8529         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8530         * tests/test-_Noreturn.c: Remove.
8531         * tests/test-stdnoreturn.c: Merge from the old
8532         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8533
8534 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8535
8536         _Noreturn, stdnoreturn, and related modules.
8537
8538         * top/maint.mk: Adjust to new noreturn support.
8539         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8540         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8541
8542         xalloc: use stdnoreturn.h
8543         * lib/xalloc.h: Include <stdnoreturn.h>.
8544         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8545         * modules/xalloc (Depends-on): Add stdnoreturn.
8546
8547         xstrtol: use stdnoreturn.h
8548         * lib/xstrtol.h: Include <stdnoreturn.h>.
8549         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8550         * modules/xstrtol (Depends-on): Add stdnoreturn.
8551
8552         xmemdup0: use stdnoreturn.h
8553         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8554         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8555         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8556
8557         sigpipe-die: use stdnoreturn.h
8558         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8559         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8560         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8561
8562         openat: use stdnoreturn.h
8563         * lib/openat.h: Include <stdnoreturn.h>.
8564         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8565         * modules/openat (Depends-on): Add stdnoreturn.
8566
8567         * lib/openat-die.c (openat_save_fail): Modernize comment.
8568
8569         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8570
8571         * lib/glthread/thread.h: Modernize comment.
8572
8573         obstack: use _Noreturn
8574         * lib/obstack.c (__attribute__): Remove macro.
8575         (print_and_abort): Use _Noreturn.
8576
8577         c-stack: use _Noreturn
8578         * lib/c-stack.c (die, overflow_handler, segv_handler):
8579         Use _Noreturn rather than __attribute__((noreturn)).
8580
8581         argmatch-tests, exclude_tests: use _Noreturn
8582         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8583         Remove.
8584         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8585
8586         stdlib: use _Noreturn
8587         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8588         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8589         * modules/stdlib (Depends-on): Add _Noreturn.
8590         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8591
8592         stdnoreturn-tests: new module
8593         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8594
8595         stdnoreturn: new module
8596         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8597         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8598
8599         _Noreturn-tests: new module
8600         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8601
8602         _Noreturn: new module
8603         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8604         New section, mentioning it.
8605         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8606
8607         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8608
8609 2011-07-11  Eric Blake  <eblake@redhat.com>
8610
8611         ffs: new module
8612         * modules/ffs: New file.
8613         * m4/ffs.m4: Likewise.
8614         * lib/ffs.c: Likewise.
8615         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8616         * modules/strings (Makefile.am): Substitute witness.
8617         (Depends-on): Add c++defs.
8618         * lib/strings.in.h (ffs): Declare.
8619         * modules/ffs-tests: New test file.
8620         * tests/test-ffs.c: Test new module.
8621         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8622         * doc/posix-functions/ffs.texi (ffs): Likewise.
8623
8624         regex: avoid compiler warning
8625         * lib/regex.c (includes): Include <strings.h>, for use of
8626         strcasecmp in regcomp.c.
8627         Reported by Joachim Schmitz.
8628
8629 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8630
8631         stdint: respect system's intmax_t if INTMAX_MAX
8632         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8633         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8634         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8635         long but int64_t is long long, and where we will clash with the
8636         system intmax_t if we override it.  See
8637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8638         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8639         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8640         similarly for UINTMAX_C.
8641
8642 2011-07-08  Bruno Haible  <bruno@clisp.org>
8643
8644         pthread_sigmask tests: Avoid a compiler warning.
8645         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8646         non-zero.
8647
8648         sigprocmask tests: A better way to avoid a compiler warning.
8649         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8650         (main): Complain if system() returns non-zero.
8651         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8652
8653 2011-07-08  Bruno Haible  <bruno@clisp.org>
8654
8655         pthread_sigmask: Work around IRIX bug.
8656         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8657         bug.
8658         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8659         there may be unblocked pending signals.
8660         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8661
8662 2011-07-08  Bruno Haible  <bruno@clisp.org>
8663
8664         pthread_sigmask: Work around Cygwin bug.
8665         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8666         bug.
8667         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8668         the system's pthread_sigmask function.
8669         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8670
8671 2011-07-08  Bruno Haible  <bruno@clisp.org>
8672
8673         pthread_sigmask: Work around bug in single-threaded implementation.
8674         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8675         FreeBSD, HP-UX, Solaris bug.
8676         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8677         * lib/pthread_sigmask.c: Include <stddef.h>.
8678         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8679         the system's pthread_sigmask function.
8680         * modules/pthread_sigmask (configure.ac): Invoke
8681         gl_PREREQ_PTHREAD_SIGMASK.
8682         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8683         HP-UX, Solaris.
8684
8685 2011-07-08  Eric Blake  <eblake@redhat.com>
8686
8687         test-sigprocmask: avoid compiler warning
8688         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8689         * tests/test-sigprocmask.c (main): Use it to silence warning.
8690         Reported by Jim Meyering.
8691
8692         test-snprintf: avoid compiler warning
8693         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8694         * tests/test-vsnprintf.c (main): Likewise.
8695         Reported by Jim Meyering.
8696
8697 2011-07-08  Bruno Haible  <bruno@clisp.org>
8698
8699         Tests for module 'pthread_sigmask'.
8700         * modules/pthread_sigmask-tests: New file.
8701         * tests/test-pthread_sigmask1.c: New file, based on
8702         tests/test-sigprocmask.c.
8703         * tests/test-pthread_sigmask2.c: New file.
8704
8705 2011-07-08  Jim Meyering  <meyering@redhat.com>
8706
8707         test-getopt.h: avoid warning about an unused variable
8708         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8709
8710 2011-07-07  Jim Meyering  <meyering@redhat.com>
8711
8712         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8713         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8714         now that it no longer contains leading TABs.
8715         Remove unused "url=FIXME" statement.
8716
8717 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8720         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8721         When gl_THREADLIB is not in use, assume that the POSIX sematics
8722         are desired.  This is better for Emacs, which uses POSIX semantics
8723         on GNUish and/or POSIXish platforms, and does not use threads at
8724         all otherwise.
8725
8726         pthread_sigmask: fix typo when testing for libraries
8727         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8728         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8729
8730 2011-07-08  Eric Blake  <eblake@redhat.com>
8731
8732         fts: introduce FTS_NOATIME
8733         * lib/fts_.h (FTS_NOATIME): New bit flag.
8734         (FTS_OPTIONMASK): Adjust.
8735         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8736         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8737
8738 2011-07-08  Bruno Haible  <bruno@clisp.org>
8739
8740         Tests for module 'thread'.
8741         * modules/thread-tests: New file.
8742         * tests/test-thread_self.c: New file.
8743         * tests/test-thread_create.cc: New file.
8744
8745 2011-07-08  Bruno Haible  <bruno@clisp.org>
8746
8747         thread: Avoid gcc warnings when using gl_thread_self().
8748         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8749         'void *'.
8750         (gl_thread_self_pointer): Update.
8751
8752 2011-07-07  Bruno Haible  <bruno@clisp.org>
8753
8754         signal-c++-tests: Check declaration of pthread_sigmask.
8755         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8756         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8757         $(LIB_PTHREAD_SIGMASK).
8758
8759 2011-07-07  Bruno Haible  <bruno@clisp.org>
8760
8761         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8762         * lib/signal.in.h (pthread_sigmask): Override if
8763         REPLACE_PTHREAD_SIGMASK is 1.
8764         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8765         REPLACE_PTHREAD_SIGMASK.
8766         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8767         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8768         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8769         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8770         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8771
8772 2011-07-07  Bruno Haible  <bruno@clisp.org>
8773
8774         pthread_sigmask: Ensure declaration in <signal.h>.
8775         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8776         include <pthread.h>.
8777         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8778         problem.
8779
8780 2011-07-07  Bruno Haible  <bruno@clisp.org>
8781
8782         pthread_sigmask: Document the module.
8783         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8784
8785 2011-07-07  Bruno Haible  <bruno@clisp.org>
8786
8787         pthread_sigmask: Follow gnulib conventions.
8788         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8789         gl_PTHREAD_SIGMASK.
8790         * modules/pthread_sigmask (configure.ac): Update.
8791
8792 2011-07-07  Bruno Haible  <bruno@clisp.org>
8793
8794         pthread_sigmask: Make declaration C++ safe.
8795         * lib/signal.in.h: In two special conditions, just do an #include_next.
8796         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8797         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8798         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8799         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8800         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8801         not REPLACE_PTHREAD_MASK.
8802         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8803         not REPLACE_PTHREAD_MASK.
8804         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8805
8806 2011-07-07  Bruno Haible  <bruno@clisp.org>
8807
8808         pthread_sigmask: Fix return value.
8809         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8810         * lib/pthread_sigmask.c: New file.
8811         * modules/pthread_sigmask (Files): Add it.
8812         (configure.ac): Invoke AC_LIBOBJ.
8813
8814 2011-07-07  Eric Blake  <eblake@redhat.com>
8815
8816         getopt: more portable argv creation
8817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8818         const, use char arrays rather than strings.
8819         Suggested by Paul Eggert.
8820
8821 2011-07-07  Bruno Haible  <bruno@clisp.org>
8822
8823         Tests for module 'sigprocmask'.
8824         * modules/sigprocmask-tests: New file.
8825         * tests/test-sigprocmask.c: New file.
8826
8827 2011-07-07  Bruno Haible  <bruno@clisp.org>
8828
8829         float tests: Tweak.
8830         * tests/test-float.c (main): Tweak skip message.
8831
8832 2011-07-07  Eric Blake  <eblake@redhat.com>
8833
8834         getopt: avoid compiler warning during configure
8835         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8836         assigning string literals to non-const pointer.
8837
8838         getopt-gnu: avoid crash in glibc getopt
8839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8840         * tests/test-getopt.h (test_getopt): Enhance test.
8841         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8842         * doc/posix-functions/getopt.texi (getopt): Document it.
8843         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8844         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8845         Likewise.
8846
8847 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8848
8849         getopt: handle W; without long options in getopt [BZ #12922]
8850         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8851         but no long options are defined, just return 'W'.
8852
8853 2011-07-07  Bruno Haible  <bruno@clisp.org>
8854
8855         Avoid literal tabs.
8856         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8857         variable containing a tab instead of a literal tab.
8858         Reported by Jim Meyering.
8859
8860 2011-07-07  Bruno Haible  <bruno@clisp.org>
8861
8862         Comments.
8863         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8864
8865 2011-07-06  Bruno Haible  <bruno@clisp.org>
8866
8867         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8868         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8869         <winsock2.h>.
8870         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8871         lib/sys_socket.in.h.
8872         (close, gethostname): Hide declarations from <winsock2.h>.
8873         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8874         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8875         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8876         (select): Don't override if gnulib's <sys/select.h> was already
8877         included.
8878         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8879         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8880         setsockopt, shutdown, select): Tweak indentation.
8881
8882 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8883
8884         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8885         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8886         in an application that does not use the sys_select module.
8887
8888 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8889
8890         poll: do not return 0 on timeout=-1
8891         * lib/poll.c: Loop with yield if no events occured
8892
8893 2011-07-06  Eric Blake  <eblake@redhat.com>
8894
8895         pthread_sigmask: always replace when not using pthread
8896         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8897         replacement when using some threading other than pthread.  Fix
8898         logic bug.
8899
8900 2011-07-06  Bruno Haible  <bruno@clisp.org>
8901
8902         Comments.
8903         * m4/printf.m4: Update comments about mingw.
8904
8905 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8906
8907         sys_select: define sigset_t more portably
8908         * lib/sys_select.in.h: Always include <sys/types.h>, since
8909         we now need sigset_t and mingw defines it there.
8910         Include <signal.h> before split inclusion guard, to avoid
8911         mishaps on Solaris, whose <signal.h> eventually includes us.
8912         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8913         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8914         which come from ...
8915         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8916         gl_CHECK_TYPE_SIGSET_T.
8917         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8918         does the real work.
8919         * modules/sys_select (Depends-on): Add 'signal'.
8920
8921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8922         Suggested by Bruno Haible.
8923
8924         pselect: Use pthread_sigmask, not sigprocmask.
8925         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8926         multithreaded apps better than sigprocmask does.
8927         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8928         sigprocmask directly.
8929
8930 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8931
8932         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8933         Don't #undef,  since we don't need any underlying pselect.
8934         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8935         (Depends-on): Add select.
8936         (Link): Add $(LIBSOCKET).
8937         These changes suggested by Bruno Haible.
8938
8939         pselect: document better
8940         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8941         * doc/posix-functions/pselect.texi (pselect): Document new module.
8942
8943         pthread_sigmask: new module
8944         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8945         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8946         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8947         This is done only as a macro; I don't know how well that'll
8948         work for C++.  Move <sys/types.h> include before the include_next,
8949         to avoid mishap on Solaris.
8950         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8951         * modules/signal (Makefile.am): Substitute the check's results.
8952         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8953
8954         test-pselect: new module
8955         * modules/pselect-tests, tests/test-pselect.c: New files.
8956         * tests/test-select.c, tests/test-sys_select-c++.cc:
8957         If TEST_PSELECT is defined, test pselect instead of testing select.
8958
8959         * tests/test-sys_select.c (sigset_t): Test for it, too.
8960         Suggested by Bruno Haible.
8961
8962 2011-07-05  Eric Blake  <eblake@redhat.com>
8963
8964         snprintf: guarantee %1$d, for libintl
8965         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8966         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8967         * doc/posix-functions/snprintf.texi (snprintf): Update.
8968         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8969         * tests/test-snprintf.c (main): Enhance test.
8970         * tests/test-vsnprintf.c (main): Likewise.
8971
8972 2011-07-05  Jim Meyering  <meyering@redhat.com>
8973
8974         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8975         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8976         per Bruno's request, to accommodate this idiom (no space after "#")
8977         even when the function is inside an #if block:
8978         char *
8979         gets (char *s)
8980         #undef gets
8981         {
8982           ...
8983         }
8984
8985 2011-07-04  Jim Meyering  <meyering@redhat.com>
8986
8987         maint: indent with spaces, not TABs, and add a rule to check this
8988         * tests/test-userspec.c: Indent with spaces, not TABs.
8989         * tests/test-argp.c: Likewise.
8990         * tests/test-c-stack2.sh: Likewise.
8991         * tests/test-parse-duration.sh: Likewise
8992         * m4/strtod.m4: Likewise.
8993         * m4/alloca.m4: Likewise.
8994         * m4/pselect.m4: Likewise.
8995         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8996
8997 2011-07-03  Jim Meyering  <meyering@redhat.com>
8998
8999         maint.mk: correct omissions in prohibit_argmatch_without_use check
9000         This rule would mistakenly report that argmatch.h is included without
9001         use even when both the argmatch and invalid_arg macro were used.
9002         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9003         of argmatch and invalid_arg.
9004
9005 2011-07-03  Bruno Haible  <bruno@clisp.org>
9006
9007         Comments about EINTR.
9008         * lib/safe-read.h: Explain the purpose of this module.
9009         * lib/safe-write.h: Likewise.
9010         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9011         module.
9012         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9013         module.
9014         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9015
9016 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9017
9018         xnanosleep: Rewrite to use new dtotimespec module.
9019         It has the conversion code that used to be in xnanosleep.
9020         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9021         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9022         (TIME_T_MAX): Remove.
9023         (xnanosleep): Rewrite in terms of dtotimespec.
9024         * modules/xnanosleep (Depends-on): Add dtotimespec.
9025         Remove intprops, stdbool.
9026
9027         timespec-add, timespec-sub: new modules
9028         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9029         * lib/timespec-add.c, lib/timespec-sub.c:
9030         * modules/timespec-add, modules/timespec-sub: New files.
9031
9032         dtotimespec: new module
9033         * lib/timespec.h (dtotimespec): New decl.
9034         * lib/dtotimespec.c, modules/dtotimespec: New files.
9035
9036         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9037
9038         pselect: new module
9039         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9040         (pselect): New decls.
9041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9042         since the standard pselect decl uses 'restrict'.
9043         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9044         HAVE_PSELECT, REPLACE_PSELECT.
9045         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9046         HAVE_PSELECT, REPLACE_PSELECT.
9047         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9048
9049         sys_select: don't depend on sys_socket
9050         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9051         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9052         This fix works on GNU and GNU-like platforms, but has not been tested
9053         on native Windows.
9054         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9055         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9056         gl_HEADER_SYS_SOCKET.
9057         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9058         gl_PREREQ_SYS_H_WINSOCK2.
9059
9060 2011-06-29  Eric Blake  <eblake@redhat.com>
9061
9062         pipe2: fix C89 compile problem
9063         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9064         Reported by Bruno Haible.
9065
9066         pipe, pipe2: don't corrupt fd on error
9067         * lib/pipe.c (pipe): Leave fd unchanged on error.
9068         * lib/pipe2.c (pipe2): Likewise.
9069         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9070         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9071
9072 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9073
9074         mmap-anon: do not use regular expressions inadvertently
9075         * m4/mmap-anon.m4: Remove trailing period from strings sought
9076         in the output.
9077
9078 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9079
9080         nanosleep: fix integer overflow problem
9081         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9082         arithmetic wraps around on overflow.
9083
9084         nanosleep: simplify carrying
9085         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9086         first call to the underyling nanosleep, not for the last one.
9087         This doesn't fix any bugs, but it simplifies the computation of
9088         the remaining delay.  Found while auditing integer overflow issues.
9089
9090         dup2: remove test for existence of fcntl
9091         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9092         "#if HAVE_FCNTL", in the configure-time test program.
9093         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9094         and therefore speeds up "configure" a bit.  Found while
9095         adding the dup2 module to Emacs.
9096
9097 2011-06-24  Eric Blake  <eblake@redhat.com>
9098
9099         maint.mk: enhance useless header checks
9100         * top/maint.mk (_sc_header_without_use): Check both include
9101         styles.
9102         (sc_prohibit_assert_without_use)
9103         (sc_prohibit_close_stream_without_use)
9104         (sc_prohibit_getopt_without_use)
9105         (sc_prohibit_quotearg_without_use)
9106         (sc_prohibit_quote_without_use)
9107         (sc_prohibit_long_options_without_use)
9108         (sc_prohibit_inttostr_without_use)
9109         (sc_prohibit_ignore_value_without_use)
9110         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9111         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9112         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9113         (sc_prohibit_hash_pjw_without_use)
9114         (sc_prohibit_safe_read_without_use)
9115         (sc_prohibit_argmatch_without_use)
9116         (sc_prohibit_canonicalize_without_use)
9117         (sc_prohibit_root_dev_ino_without_use)
9118         (sc_prohibit_openat_without_use)
9119         (sc_prohibit_c_ctype_without_use)
9120         (sc_prohibit_signal_without_use)
9121         (sc_prohibit_stdio--_without_use)
9122         (sc_prohibit_stdio-safer_without_use)
9123         (sc_prohibit_strings_without_use)
9124         (sc_prohibit_intprops_without_use)
9125         (sc_prohibit_stddef_without_use)
9126         (sc_prohibit_xfreopen_without_use): Update clients.
9127
9128 2011-06-24  Jim Meyering  <meyering@redhat.com>
9129
9130         syntax-check: keep one maint.mk rule in sync with its header
9131         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9132         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9133         I prefer to avoid temporary files here, so use <(...), but that
9134         is not supported by /bin/sh, so...
9135         (SHELL): Define to /bin/bash.
9136
9137 2011-06-24  Eric Blake  <eblake@redhat.com>
9138
9139         maint.mk: update sc_prohibit_intprops_without_use
9140         * top/maint.mk (_intprops_names): Match recent changes.
9141
9142 2011-06-24  Bruno Haible  <bruno@clisp.org>
9143
9144         strerror-override: No-op tweak.
9145         * lib/strerror-override.h (strerror_override): Reorder conditions,
9146         for consistency with lib/strerror-override.c.
9147
9148 2011-06-23  Eric Blake  <eblake@redhat.com>
9149
9150         maint.mk: test further PATH_MAX issues
9151         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9152         (sc_prohibit_path_max_allocation): ...and also test alloca.
9153         Suggested by Jim Meyering.
9154
9155 2011-06-22  Eric Blake  <eblake@redhat.com>
9156
9157         maint.mk: add syntax-check to avoid char[PATH_MAX]
9158         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9159
9160         stat: be robust to PATH_MAX definition
9161         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9162         * modules/stat (Depends-on): Add verify.
9163
9164         link: work around IRIX bug
9165         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9166         * lib/link.c (rpl_link): Work around it.
9167         * tests/test-link.h (test_link): Enhance test.
9168         * doc/posix-functions/link.texi (link): Document the bug.
9169
9170         getopt: silence clang warning
9171         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9172         dereference.
9173         Reported by Gustavo Martin Domato.
9174
9175 2011-06-22  Jim Meyering  <meyering@redhat.com>
9176
9177         bootstrap: do not insert a blank line into each .gitignore file
9178         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9179
9180 2011-06-21  Eric Blake  <eblake@redhat.com>
9181
9182         perror: test for output mismatch
9183         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9184         perror on IRIX.
9185
9186         strerror_r: fix OpenBSD behavior on out-of-range
9187         * lib/strerror_r.c (strerror_r): Always use maximal string.
9188         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9189
9190         strerror_r: fix OpenBSD behavior on 0
9191         * lib/strerror-override.c (strerror_override): Also override 0
9192         when needed.
9193         * lib/strerror-override.h (strerror_override): Likewise.
9194         * lib/strerror.c (strerror): Simplify, now that 0 override is done
9195         earlier.
9196         * lib/strerror_r.c (strerror_r): Likewise.
9197         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
9198         behavior...
9199         (gl_FUNC_STRERROR_0): ...into new macro.
9200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
9201         is overridden.
9202         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
9203         * modules/strerror-override (Files): Add strerror.m4.
9204         (configure.ac): Also provide override for 0 when needed.
9205         * doc/posix-functions/strerror.texi (strerror): Document this.
9206         * doc/posix-functions/perror.texi (perror): Likewise.
9207
9208         perror: adjust array size
9209         * modules/perror (Depends-on): Add strerror-override.
9210         * lib/perror.c (perror): Use it to avoid magic number.
9211
9212         strerror-override: reduce size
9213         * lib/strerror-override.c (strerror_override): Use fewer lines.
9214
9215 2011-06-20  Bruno Haible  <bruno@clisp.org>
9216
9217         pathmax: Ensure correct value for PATH_MAX on HP-UX.
9218         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
9219
9220 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9221
9222         alloca: port to compilers that can optimize like GCC 4.6.0
9223         * lib/alloca.c (find_stack_direction): New signature, taken from
9224         Autoconf git.  This works with GCC 4.6.0.  This code should never
9225         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
9226         be used with other compilers that optimize as well as GCC 4.6.0 does.
9227         (alloca): Adjust to new signature.
9228         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
9229         New macro, which patches Autoconf in a similar way.
9230
9231         c-stack: stop worrying about stack direction
9232         * lib/c-stack.c (find_stack_direction): Remove.
9233         (segv_handler): Don't worry about stack direction growth, as it's
9234         too much of a pain to configure this correctly, given how compilers
9235         are optimizing-away our stack-growth detection code.  Instead, assume
9236         that any access to just before or just after the stack is OK.
9237         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9238         Don't require AC_FUNC_ALLOCA; no longer needed.
9239
9240 2011-06-20  Eric Blake  <eblake@redhat.com>
9241
9242         test-stat: don't allocate PATH_MAX bytes
9243         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
9244         PATH_MAX-sized buffer.
9245         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
9246         * modules/stat-tests (Depends-on): Likewise.
9247         * tests/test-fstatat.c (includes): Drop pathmax.h.
9248         * tests/test-stat.c (includes): Likewise.
9249         Reported by Bruno Haible.
9250
9251 2011-06-20  Bruno Haible  <bruno@clisp.org>
9252
9253         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
9254         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
9255         * lib/float.c: New file.
9256         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
9257         REPLACE_FLOAT_LDBL.
9258         * modules/float (Files): Add lib/float.c.
9259         (configure.ac): Invoke AC_LIBOBJ.
9260         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
9261
9262 2011-06-20  Bruno Haible  <bruno@clisp.org>
9263
9264         Tests for module 'float'.
9265         * modules/float-tests: New file.
9266         * tests/test-float.c: New file.
9267
9268 2011-06-19  Bruno Haible  <bruno@clisp.org>
9269
9270         isinf: Coding style.
9271         * lib/isinf.c: Use GNU coding style.
9272
9273 2011-06-19  Bruno Haible  <bruno@clisp.org>
9274
9275         linkat test: Avoid test failure on AIX 7.1.
9276         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
9277         * tests/test-link.h (test_link): Likewise.
9278
9279 2011-06-19  Bruno Haible  <bruno@clisp.org>
9280
9281         pread test: Avoid test failure on OpenBSD 4.9.
9282         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
9283
9284 2011-06-19  Bruno Haible  <bruno@clisp.org>
9285
9286         sprintf-posix: Fix test failure on AIX 7.1.
9287         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
9288         * doc/posix-functions/dprintf.texi: Mention limited precision problem
9289         on AIX.
9290         * doc/posix-functions/fprintf.texi: Likewise.
9291         * doc/posix-functions/printf.texi: Likewise.
9292         * doc/posix-functions/snprintf.texi: Likewise.
9293         * doc/posix-functions/sprintf.texi: Likewise.
9294         * doc/posix-functions/vdprintf.texi: Likewise.
9295         * doc/posix-functions/vfprintf.texi: Likewise.
9296         * doc/posix-functions/vprintf.texi: Likewise.
9297         * doc/posix-functions/vsnprintf.texi: Likewise.
9298         * doc/posix-functions/vsprintf.texi: Likewise.
9299
9300 2011-06-19  Bruno Haible  <bruno@clisp.org>
9301
9302         roundl-ieee: Fix test failure on AIX 7.1.
9303         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
9304         * doc/posix-functions/roundl.texi: Mention problem with negative
9305         arguments.
9306
9307 2011-06-19  Bruno Haible  <bruno@clisp.org>
9308
9309         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9310         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9311         * doc/posix-functions/round.texi: Mention problem with negative
9312         arguments.
9313         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9314
9315 2011-06-19  Bruno Haible  <bruno@clisp.org>
9316
9317         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9318         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9319         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9320         * doc/posix-functions/roundf.texi: Mention problem with negative
9321         arguments.
9322         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9323
9324 2011-06-19  Bruno Haible  <bruno@clisp.org>
9325
9326         ceilf-ieee: Work around bug on MacOS X 10.5.
9327         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9328
9329         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9330         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9331         IEEE compliant, avoid compiler optimizations.
9332         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9333         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9334         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9335         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9336         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9337         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9338         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9339         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9340         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9341         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9342
9343 2011-06-19  Bruno Haible  <bruno@clisp.org>
9344
9345         ceilf-ieee: Work around bug on AIX 7.1.
9346         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9347         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9348
9349 2011-06-19  Bruno Haible  <bruno@clisp.org>
9350
9351         ceil-ieee: Work around bug on AIX 7.1.
9352         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9353         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9354
9355 2011-06-18  Bruno Haible  <bruno@clisp.org>
9356
9357         fsync test: Avoid test failure on MacOS X and AIX.
9358         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
9359         EINVAL.
9360
9361 2011-06-18  Bruno Haible  <bruno@clisp.org>
9362
9363         openat, fdopendir tests: Fix link errors.
9364         * modules/openat-tests (Depends-on): Add progname.
9365         * modules/fdopendir-tests (Depends-on): Likewise.
9366         * tests/test-fchownat.c: Include progname.h.
9367         (main): Call set_program_name.
9368         * tests/test-fstatat.c: Include progname.h.
9369         (main): Call set_program_name.
9370         * tests/test-mkdirat.c: Include progname.h.
9371         (main): Call set_program_name.
9372         * tests/test-openat.c: Include progname.h.
9373         (main): Call set_program_name.
9374         * tests/test-unlinkat.c: Include progname.h.
9375         (main): Call set_program_name.
9376         * tests/test-fdopendir.c: Include progname.h.
9377         (main): Call set_program_name.
9378
9379 2011-06-18  Bruno Haible  <bruno@clisp.org>
9380
9381         Doc update.
9382         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9383         HP-UX.
9384         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9385
9386 2011-06-18  Bruno Haible  <bruno@clisp.org>
9387
9388         getcwd tests: Avoid compilation error on HP-UX 11.31.
9389         * modules/getcwd-tests (Depends-on): Add pathmax.
9390         * tests/test-getcwd.c: Include pathmax.h.
9391
9392 2011-06-18  Bruno Haible  <bruno@clisp.org>
9393
9394         isfinite, isinf: Fix link error on AIX 6 and 7.
9395         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9396         needed, also test the macro with a 'float' argument.
9397         * m4/isinf.m4 (gl_ISINF): Likewise.
9398
9399 2011-06-18  Bruno Haible  <bruno@clisp.org>
9400
9401         getloadavg: Don't clobber LIBS. Regression from previous commit.
9402         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9403         AC_CHECK_LIB from here...
9404         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9405         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9406         gl_func_getloadavg_done.
9407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9408
9409 2011-06-18  Bruno Haible  <bruno@clisp.org>
9410
9411         clean-temp: Improve documentation.
9412         * lib/clean-temp.h: Explain better how to use this module.
9413         Reported by John Darrington <john@darrington.wattle.id.au>.
9414
9415 2011-06-17  Bruno Haible  <bruno@clisp.org>
9416
9417         pread, pwrite: Avoid cc warning on AIX.
9418         * lib/unistd.in.h (pread): Undefine before defining as a macro.
9419         (pwrite): Likewise.
9420
9421 2011-06-17  Bruno Haible  <bruno@clisp.org>
9422
9423         spawn-pipe tests: Fix link error.
9424         * tests/test-spawn-pipe-child.c: Undefine fprintf.
9425         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9426
9427 2011-06-17  Bruno Haible  <bruno@clisp.org>
9428
9429         Tests: Remove unnecessary dependency.
9430         * modules/canonicalize-tests (Depends-on): Remove progname.
9431         * modules/chown-tests (Depends-on): Likewise.
9432         * modules/dirname-tests (Depends-on): Likewise.
9433         * modules/fdopendir-tests (Depends-on): Likewise.
9434         * modules/fdutimensat-tests (Depends-on): Likewise.
9435         * modules/hash-tests (Depends-on): Likewise.
9436         * modules/lchown-tests (Depends-on): Likewise.
9437         * modules/linkat-tests (Depends-on): Likewise.
9438         * modules/renameat-tests (Depends-on): Likewise.
9439         * modules/spawn-pipe-tests (Depends-on): Likewise.
9440         * modules/utimensat-tests (Depends-on): Likewise.
9441
9442 2011-06-17  Bruno Haible  <bruno@clisp.org>
9443
9444         spawn-pipe tests: Fix link error.
9445         * tests/test-spawn-pipe-child.c: Undefine fflush.
9446
9447 2011-06-17  Bruno Haible  <bruno@clisp.org>
9448
9449         Fix tests link errors.
9450         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
9451         * modules/chown-tests (Makefile.am): Don't link test-chown with
9452         LIBINTL.
9453         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
9454         LIBINTL.
9455         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
9456         LIBINTL.
9457         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
9458         LIBINTL.
9459
9460 2011-06-16  Bruno Haible  <bruno@clisp.org>
9461
9462         crypto/gc-sha1: Fix recent regression.
9463         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
9464         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
9465
9466         crypto/gc-md5: Fix recent regression.
9467         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
9468
9469         crypto/gc-md4: Fix recent regression.
9470         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
9471         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
9472
9473         crypto/gc-arctwo: Fix recent regression.
9474         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
9475         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
9476
9477         crypto/gc-rijndael: Fix recent regression.
9478         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
9479         (configure.ac): Invoke AC_LIBOBJ here.
9480         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
9481         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9482
9483         crypto/gc-hmac-sha1: Fix recent regression.
9484         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9485         (configure.ac): Invoke AC_LIBOBJ here.
9486         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9487         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9488
9489         crypto/gc-hmac-md5: Fix recent regression.
9490         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9491         (configure.ac): Invoke AC_LIBOBJ here.
9492         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9493         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9494
9495         crypto/gc-des: Fix recent regression.
9496         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9497         (configure.ac): Invoke AC_LIBOBJ here.
9498         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9499         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9500
9501         crypto/gc-arcfour: Fix recent regression.
9502         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9503         (configure.ac): Invoke AC_LIBOBJ here.
9504         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9505         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9506
9507 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9508
9509         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9510         After the 2011-05-21 change, this macro requires
9511         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9512         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9513
9514 2011-06-16  Bruno Haible  <bruno@clisp.org>
9515
9516         fprintftime: Move AC_LIBOBJ invocations to module description.
9517         * m4/fprintftime.m4: Remove file.
9518         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9519         (configure.ac): Remove gl_FPRINTFTIME call.
9520         (Makefile.am): Augment lib_SOURCES.
9521         Reported by Jim Meyering.
9522
9523 2011-06-16  Bruno Haible  <bruno@clisp.org>
9524
9525         tmpfile-safer: Finish 2011-05-23 commit.
9526         * m4/stdio-safer.m4: Really remove file.
9527         Reported by Jim Meyering.
9528
9529 2011-06-16  Bruno Haible  <bruno@clisp.org>
9530
9531         syntax-check: Fix typo.
9532         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9533         printf-posix.m4.
9534         Reported by Jim Meyering.
9535
9536 2011-06-13  Jim Meyering  <meyering@redhat.com>
9537
9538         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9539         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9540
9541 2011-05-23  Bruno Haible  <bruno@clisp.org>
9542
9543         yesno: Move AC_LIBOBJ invocations to module description.
9544         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9545         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9546
9547 2011-05-23  Bruno Haible  <bruno@clisp.org>
9548
9549         xstrtol: Move AC_LIBOBJ invocations to module description.
9550         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9551         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9552
9553 2011-05-23  Bruno Haible  <bruno@clisp.org>
9554
9555         xstrtold: Move AC_LIBOBJ invocations to module description.
9556         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9557         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9558
9559 2011-05-23  Bruno Haible  <bruno@clisp.org>
9560
9561         xstrtod: Move AC_LIBOBJ invocations to module description.
9562         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9563         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9564
9565 2011-05-23  Bruno Haible  <bruno@clisp.org>
9566
9567         xnanosleep: Move AC_LIBOBJ invocations to module description.
9568         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9569         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9570
9571 2011-05-23  Bruno Haible  <bruno@clisp.org>
9572
9573         xgetcwd: Move AC_LIBOBJ invocations to module description.
9574         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9575         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9576
9577 2011-05-23  Bruno Haible  <bruno@clisp.org>
9578
9579         xalloc: Move AC_LIBOBJ invocations to module description.
9580         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9581         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9582
9583 2011-05-23  Bruno Haible  <bruno@clisp.org>
9584
9585         write-any-file: Move AC_LIBOBJ invocations to module description.
9586         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9587         invocation.
9588         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9589
9590 2011-05-23  Bruno Haible  <bruno@clisp.org>
9591
9592         utimens: Move AC_LIBOBJ invocations to module description.
9593         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9594         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9595
9596 2011-05-23  Bruno Haible  <bruno@clisp.org>
9597
9598         utimecmp: Move AC_LIBOBJ invocations to module description.
9599         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9600         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9601
9602 2011-05-23  Bruno Haible  <bruno@clisp.org>
9603
9604         userspec: Move AC_LIBOBJ invocations to module description.
9605         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9606         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9607
9608 2011-05-23  Bruno Haible  <bruno@clisp.org>
9609
9610         unlinkdir: Move AC_LIBOBJ invocations to module description.
9611         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9612         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9613
9614 2011-05-23  Bruno Haible  <bruno@clisp.org>
9615
9616         unistd-safer: Move AC_LIBOBJ invocations to module description.
9617         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9618         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9619
9620 2011-05-23  Bruno Haible  <bruno@clisp.org>
9621
9622         tempname: Move AC_LIBOBJ invocations to module description.
9623         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9624         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9625
9626 2011-05-23  Bruno Haible  <bruno@clisp.org>
9627
9628         strftime: Move AC_LIBOBJ invocations to module description.
9629         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9630         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9631
9632 2011-05-23  Bruno Haible  <bruno@clisp.org>
9633
9634         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9635         * m4/stdlib-safer.m4: Remove file.
9636         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9637         (configure.ac): Remove gl_STDLIB_SAFER call.
9638         (Makefile.am): Augment lib_SOURCES.
9639
9640 2011-05-23  Bruno Haible  <bruno@clisp.org>
9641
9642         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9643         * m4/stdio-safer.m4: Remove file.
9644         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9645         (configure.ac): Remove gl_TMPFILE_SAFER call.
9646         (Makefile.am): Augment lib_SOURCES.
9647
9648 2011-05-23  Bruno Haible  <bruno@clisp.org>
9649
9650         popen-safer: Move AC_LIBOBJ invocations to module description.
9651         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9652         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9653         (configure.ac): Remove gl_POPEN_SAFER call.
9654         (Makefile.am): Augment lib_SOURCES.
9655
9656 2011-05-23  Bruno Haible  <bruno@clisp.org>
9657
9658         freopen-safer: Move AC_LIBOBJ invocations to module description.
9659         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9660         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9661         (configure.ac): Remove gl_FREOPEN_SAFER call.
9662         (Makefile.am): Augment lib_SOURCES.
9663
9664 2011-05-23  Bruno Haible  <bruno@clisp.org>
9665
9666         fopen-safer: Move AC_LIBOBJ invocations to module description.
9667         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9668         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9669         (configure.ac): Remove gl_FOPEN_SAFER call.
9670         (Makefile.am): Augment lib_SOURCES.
9671
9672 2011-05-23  Bruno Haible  <bruno@clisp.org>
9673
9674         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9675         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9676         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9677
9678 2011-05-23  Bruno Haible  <bruno@clisp.org>
9679
9680         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9681         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9682         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9683
9684 2011-05-23  Bruno Haible  <bruno@clisp.org>
9685
9686         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9687         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9688         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9689
9690 2011-05-23  Bruno Haible  <bruno@clisp.org>
9691
9692         settime: Move AC_LIBOBJ invocations to module description.
9693         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9694         * modules/settime (Makefile.am): Augment lib_SOURCES.
9695
9696 2011-05-23  Bruno Haible  <bruno@clisp.org>
9697
9698         savedir: Move AC_LIBOBJ invocations to module description.
9699         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9700         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9701
9702 2011-05-23  Bruno Haible  <bruno@clisp.org>
9703
9704         save-cwd: Move AC_LIBOBJ invocations to module description.
9705         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9706         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9707
9708 2011-05-23  Bruno Haible  <bruno@clisp.org>
9709
9710         same: Move AC_LIBOBJ invocations to module description.
9711         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9712         * modules/same (Makefile.am): Augment lib_SOURCES.
9713
9714 2011-05-23  Bruno Haible  <bruno@clisp.org>
9715
9716         safe-write: Move AC_LIBOBJ invocations to module description.
9717         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9718         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9719         instead of gl_SAFE_WRITE.
9720         (Makefile.am): Augment lib_SOURCES.
9721
9722 2011-05-23  Bruno Haible  <bruno@clisp.org>
9723
9724         safe-read: Move AC_LIBOBJ invocations to module description.
9725         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9726         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9727         of gl_SAFE_READ.
9728         (Makefile.am): Augment lib_SOURCES.
9729
9730 2011-05-23  Bruno Haible  <bruno@clisp.org>
9731
9732         safe-alloc: Move AC_LIBOBJ invocations to module description.
9733         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9734         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9735
9736 2011-05-23  Bruno Haible  <bruno@clisp.org>
9737
9738         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9739         * m4/rijndael.m4: Remove file.
9740         * modules/crypto/rijndael (Files): Remove it.
9741         (configure.ac): Remove gl_RIJNDAEL call.
9742         (Makefile.am): Augment lib_SOURCES.
9743
9744 2011-05-23  Bruno Haible  <bruno@clisp.org>
9745
9746         readtokens: Move AC_LIBOBJ invocations to module description.
9747         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9748         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9749
9750 2011-05-23  Bruno Haible  <bruno@clisp.org>
9751
9752         read-file: Move AC_LIBOBJ invocations to module description.
9753         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9754         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9755         of gl_FUNC_READ_FILE.
9756         (Makefile.am): Augment lib_SOURCES.
9757
9758 2011-05-23  Bruno Haible  <bruno@clisp.org>
9759
9760         quotearg: Move AC_LIBOBJ invocations to module description.
9761         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9762         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9763
9764 2011-05-23  Bruno Haible  <bruno@clisp.org>
9765
9766         quote: Move AC_LIBOBJ invocations to module description.
9767         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9768         * modules/quote (Makefile.am): Augment lib_SOURCES.
9769
9770 2011-05-23  Bruno Haible  <bruno@clisp.org>
9771
9772         posixver: Move AC_LIBOBJ invocations to module description.
9773         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9774         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9775
9776 2011-05-23  Bruno Haible  <bruno@clisp.org>
9777
9778         posixtm: Move AC_LIBOBJ invocations to module description.
9779         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9780         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9781
9782 2011-05-23  Bruno Haible  <bruno@clisp.org>
9783
9784         physmem: Move AC_LIBOBJ invocations to module description.
9785         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9786         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9787
9788 2011-05-23  Bruno Haible  <bruno@clisp.org>
9789
9790         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9791         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9792         invocation.
9793         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9794
9795 2011-05-23  Bruno Haible  <bruno@clisp.org>
9796
9797         mpsort: Move AC_LIBOBJ invocations to module description.
9798         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9799         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9800
9801 2011-05-23  Bruno Haible  <bruno@clisp.org>
9802
9803         modechange: Move AC_LIBOBJ invocations to module description.
9804         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9805         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9806
9807 2011-05-23  Bruno Haible  <bruno@clisp.org>
9808
9809         mkdir-p: Move AC_LIBOBJ invocations to module description.
9810         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9811         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9812
9813 2011-05-23  Bruno Haible  <bruno@clisp.org>
9814
9815         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9816         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9817         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9818
9819 2011-05-23  Bruno Haible  <bruno@clisp.org>
9820
9821         mgetgroups: Move AC_LIBOBJ invocations to module description.
9822         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9823         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9824
9825 2011-05-23  Bruno Haible  <bruno@clisp.org>
9826
9827         memxor: Move AC_LIBOBJ invocations to module description.
9828         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9829         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9830
9831 2011-05-23  Bruno Haible  <bruno@clisp.org>
9832
9833         memcoll: Move AC_LIBOBJ invocations to module description.
9834         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9835         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9836
9837 2011-05-23  Bruno Haible  <bruno@clisp.org>
9838
9839         memcasecmp: Move AC_LIBOBJ invocations to module description.
9840         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9841         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9842
9843 2011-05-23  Bruno Haible  <bruno@clisp.org>
9844
9845         crypto/md5: Move AC_LIBOBJ invocations to module description.
9846         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9847         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9848
9849 2011-05-23  Bruno Haible  <bruno@clisp.org>
9850
9851         crypto/md4: Move AC_LIBOBJ invocations to module description.
9852         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9853         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9854
9855 2011-05-23  Bruno Haible  <bruno@clisp.org>
9856
9857         crypto/md2: Move AC_LIBOBJ invocations to module description.
9858         * m4/md2.m4: Remove file.
9859         * modules/crypto/md2 (Files): Remove it.
9860         (configure.ac): Remove gl_MD2 call.
9861         (Makefile.am): Augment lib_SOURCES.
9862
9863 2011-05-23  Bruno Haible  <bruno@clisp.org>
9864
9865         long-options: Move AC_LIBOBJ invocations to module description.
9866         * m4/long-options.m4: Remove file.
9867         * modules/long-options (Files): Remove it.
9868         (configure.ac): Remove gl_LONG_OPTIONS call.
9869         (Makefile.am): Augment lib_SOURCES.
9870
9871 2011-05-23  Bruno Haible  <bruno@clisp.org>
9872
9873         i-ring: Move AC_LIBOBJ invocations to module description.
9874         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9875         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9876
9877 2011-05-23  Bruno Haible  <bruno@clisp.org>
9878
9879         idcache: Move AC_LIBOBJ invocations to module description.
9880         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9881         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9882
9883 2011-05-23  Bruno Haible  <bruno@clisp.org>
9884
9885         human: Move AC_LIBOBJ invocations to module description.
9886         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9887         * modules/human (Makefile.am): Augment lib_SOURCES.
9888
9889 2011-05-23  Bruno Haible  <bruno@clisp.org>
9890
9891         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9892         * m4/hmac-sha1.m4: Remove file.
9893         * modules/crypto/hmac-sha1 (Files): Remove it.
9894         (configure.ac): Remove gl_HMAC_SHA1 call.
9895         (Makefile.am): Augment lib_SOURCES.
9896
9897 2011-05-23  Bruno Haible  <bruno@clisp.org>
9898
9899         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9900         * m4/hmac-md5.m4: Remove file.
9901         * modules/crypto/hmac-md5 (Files): Remove it.
9902         (configure.ac): Remove gl_HMAC_MD5 call.
9903         (Makefile.am): Augment lib_SOURCES.
9904
9905 2011-05-23  Bruno Haible  <bruno@clisp.org>
9906
9907         hash: Move AC_LIBOBJ invocations to module description.
9908         * m4/hash.m4: Remove file.
9909         * modules/hash (Files): Remove it.
9910         (configure.ac): Remove gl_HASH call.
9911         (Makefile.am): Augment lib_SOURCES.
9912
9913 2011-05-23  Bruno Haible  <bruno@clisp.org>
9914
9915         hard-locale: Move AC_LIBOBJ invocations to module description.
9916         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9917         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9918
9919 2011-05-23  Bruno Haible  <bruno@clisp.org>
9920
9921         getugroups: Move AC_LIBOBJ invocations to module description.
9922         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9923         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9924
9925 2011-05-23  Bruno Haible  <bruno@clisp.org>
9926
9927         gettime: Move AC_LIBOBJ invocations to module description.
9928         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9929         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9930
9931 2011-05-23  Bruno Haible  <bruno@clisp.org>
9932
9933         getndelim2: Move AC_LIBOBJ invocations to module description.
9934         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9935         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9936
9937 2011-05-23  Bruno Haible  <bruno@clisp.org>
9938
9939         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9940         * m4/gc-pbkdf2-sha1.m4: Remove file.
9941         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9942         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9943         (Makefile.am): Augment lib_SOURCES.
9944
9945 2011-05-23  Bruno Haible  <bruno@clisp.org>
9946
9947         fts: Move AC_LIBOBJ invocations to module description.
9948         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9949         * modules/fts (configure.ac): ... to here.
9950
9951 2011-05-23  Bruno Haible  <bruno@clisp.org>
9952
9953         file-type: Move AC_LIBOBJ invocations to module description.
9954         * m4/file-type.m4: Remove file.
9955         * modules/file-type (Files): Remove it.
9956         (configure.ac): Remove gl_FILE_TYPE call.
9957         (Makefile.am): Augment lib_SOURCES.
9958
9959 2011-05-23  Bruno Haible  <bruno@clisp.org>
9960
9961         filenamecat*: Respect rules for use of AC_LIBOBJ.
9962         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9963         Remove AC_LIBOBJ invocation.
9964         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9965         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9966
9967 2011-05-23  Bruno Haible  <bruno@clisp.org>
9968
9969         filemode: Move AC_LIBOBJ invocations to module description.
9970         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9971         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9972
9973 2011-05-23  Bruno Haible  <bruno@clisp.org>
9974
9975         openat-safer: Move AC_LIBOBJ invocations to module description.
9976         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9977         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9978
9979 2011-05-23  Bruno Haible  <bruno@clisp.org>
9980
9981         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9982         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9983         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9984
9985 2011-05-23  Bruno Haible  <bruno@clisp.org>
9986
9987         exclude: Move AC_LIBOBJ invocations to module description.
9988         * m4/exclude.m4: Remove file.
9989         * modules/exclude (Files): Remove it.
9990         (configure.ac): Remove gl_EXCLUDE call.
9991         (Makefile.am): Augment lib_SOURCES.
9992
9993 2011-05-23  Bruno Haible  <bruno@clisp.org>
9994
9995         dirname*: Respect rules for use of AC_LIBOBJ.
9996         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9997         invocations.
9998         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9999         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10000
10001 2011-05-23  Bruno Haible  <bruno@clisp.org>
10002
10003         dirent-safer: Move AC_LIBOBJ invocations to module description.
10004         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10005         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10006
10007 2011-05-23  Bruno Haible  <bruno@clisp.org>
10008
10009         crypto/des: Move AC_LIBOBJ invocations to module description.
10010         * m4/des.m4: Remove file.
10011         * modules/crypto/des (Files): Remove it.
10012         (configure.ac): Remove gl_DES call.
10013         (Makefile.am): Augment lib_SOURCES.
10014
10015 2011-05-23  Bruno Haible  <bruno@clisp.org>
10016
10017         cycle-check: Move AC_LIBOBJ invocations to module description.
10018         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10019         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10020
10021 2011-05-23  Bruno Haible  <bruno@clisp.org>
10022
10023         c-strtold: Move AC_LIBOBJ invocations to module description.
10024         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10025         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10026
10027 2011-05-23  Bruno Haible  <bruno@clisp.org>
10028
10029         c-strtod: Move AC_LIBOBJ invocations to module description.
10030         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10031         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10032
10033 2011-05-23  Bruno Haible  <bruno@clisp.org>
10034
10035         crc: Move AC_LIBOBJ invocations to module description.
10036         * m4/crc.m4: Remove file.
10037         * modules/crc (Files): Remove it.
10038         (configure.ac): Remove gl_CRC call.
10039         (Makefile.am): Augment lib_SOURCES.
10040
10041 2011-05-23  Bruno Haible  <bruno@clisp.org>
10042
10043         close-stream: Move AC_LIBOBJ invocations to module description.
10044         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10045         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10046
10047 2011-05-23  Bruno Haible  <bruno@clisp.org>
10048
10049         closeout: Move AC_LIBOBJ invocations to module description.
10050         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10051         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10052
10053 2011-05-23  Bruno Haible  <bruno@clisp.org>
10054
10055         closein: Move AC_LIBOBJ invocations to module description.
10056         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10057         * modules/closein (Makefile.am): Augment lib_SOURCES.
10058
10059 2011-05-23  Bruno Haible  <bruno@clisp.org>
10060
10061         cloexec: Move AC_LIBOBJ invocations to module description.
10062         * m4/cloexec.m4: Remove file.
10063         * modules/cloexec (Files): Remove it.
10064         (configure.ac): Remove gl_CLOEXEC call.
10065         (Makefile.am): Augment lib_SOURCES.
10066
10067 2011-05-23  Bruno Haible  <bruno@clisp.org>
10068
10069         check-version: Move AC_LIBOBJ invocations to module description.
10070         * m4/check-version.m4: Remove file.
10071         * modules/check-version (Files): Remove it.
10072         (configure.ac): Remove gl_CHECK_VERSION call.
10073         (Makefile.am): Augment lib_SOURCES.
10074
10075 2011-05-23  Bruno Haible  <bruno@clisp.org>
10076
10077         chdir-safer: Move AC_LIBOBJ invocations to module description.
10078         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10079         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10080
10081 2011-05-23  Bruno Haible  <bruno@clisp.org>
10082
10083         canonicalize: Move AC_LIBOBJ invocations to module description.
10084         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10085         AC_LIBOBJ invocation.
10086         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10087
10088 2011-05-23  Bruno Haible  <bruno@clisp.org>
10089
10090         canon-host: Move AC_LIBOBJ invocations to module description.
10091         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10092         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10093         instead of gl_CANON_HOST.
10094         (Makefile.am): Augment lib_SOURCES.
10095
10096 2011-05-23  Bruno Haible  <bruno@clisp.org>
10097
10098         backupfile: Move AC_LIBOBJ invocations to module description.
10099         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10100         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10101
10102 2011-05-23  Bruno Haible  <bruno@clisp.org>
10103
10104         argmatch: Move AC_LIBOBJ invocations to module description.
10105         * m4/argmatch.m4: Remove file.
10106         * modules/argmatch (Files): Remove it.
10107         (configure.ac): Remove gl_ARGMATCH call.
10108         (Makefile.am): Augment lib_SOURCES.
10109
10110 2011-05-23  Bruno Haible  <bruno@clisp.org>
10111
10112         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10113         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10114         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10115
10116 2011-05-23  Bruno Haible  <bruno@clisp.org>
10117
10118         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10119         * m4/arcfour.m4: Remove file.
10120         * modules/crypto/arcfour (Files): Remove it.
10121         (configure.ac): Remove gl_ARCFOUR call.
10122         (Makefile.am): Augment lib_SOURCES.
10123
10124 2011-05-22  Bruno Haible  <bruno@clisp.org>
10125
10126         write: Move AC_LIBOBJ invocations to module description.
10127         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10128         * modules/write (configure.ac): ... to here.
10129
10130 2011-05-22  Bruno Haible  <bruno@clisp.org>
10131
10132         wmemset: Move AC_LIBOBJ invocations to module description.
10133         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10134         here...
10135         * modules/wmemset (configure.ac): ... to here.
10136
10137 2011-05-22  Bruno Haible  <bruno@clisp.org>
10138
10139         wmemmove: Move AC_LIBOBJ invocations to module description.
10140         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10141         here...
10142         * modules/wmemmove (configure.ac): ... to here.
10143
10144 2011-05-22  Bruno Haible  <bruno@clisp.org>
10145
10146         wmemcpy: Move AC_LIBOBJ invocations to module description.
10147         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10148         here...
10149         * modules/wmemcpy (configure.ac): ... to here.
10150
10151 2011-05-22  Bruno Haible  <bruno@clisp.org>
10152
10153         wmemcmp: Move AC_LIBOBJ invocations to module description.
10154         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10155         here...
10156         * modules/wmemcmp (configure.ac): ... to here.
10157
10158 2011-05-22  Bruno Haible  <bruno@clisp.org>
10159
10160         wmemchr: Move AC_LIBOBJ invocations to module description.
10161         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10162         here...
10163         * modules/wmemchr (configure.ac): ... to here.
10164
10165 2011-05-22  Bruno Haible  <bruno@clisp.org>
10166
10167         wcswidth: Move AC_LIBOBJ invocations to module description.
10168         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10169         here...
10170         * modules/wcswidth (configure.ac): ... to here.
10171
10172 2011-05-22  Bruno Haible  <bruno@clisp.org>
10173
10174         wcwidth: Respect rules for use of AC_LIBOBJ.
10175         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10176         invocation from here...
10177         * modules/wcwidth (configure.ac): ... to here.
10178         (Depends-on): Update conditions.
10179
10180 2011-05-22  Bruno Haible  <bruno@clisp.org>
10181
10182         wctype: Move AC_LIBOBJ invocations to module description.
10183         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10184         invocation from here...
10185         * modules/wctype (configure.ac): ... to here.
10186         (Depends-on): Update conditions.
10187
10188 2011-05-22  Bruno Haible  <bruno@clisp.org>
10189
10190         wctrans: Move AC_LIBOBJ invocations to module description.
10191         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
10192         invocation from here...
10193         * modules/wctrans (configure.ac): ... to here.
10194
10195 2011-05-22  Bruno Haible  <bruno@clisp.org>
10196
10197         wctomb: Move AC_LIBOBJ invocations to module description.
10198         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
10199         invocations from here...
10200         * modules/wctomb (configure.ac): ... to here.
10201
10202 2011-05-22  Bruno Haible  <bruno@clisp.org>
10203
10204         wctob: Move AC_LIBOBJ invocations to module description.
10205         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
10206         gl_PREREQ_WCTOB invocations from here...
10207         * modules/wctob (configure.ac): ... to here.
10208         (Depends-on): Update conditions.
10209
10210 2011-05-22  Bruno Haible  <bruno@clisp.org>
10211
10212         wcsxfrm: Move AC_LIBOBJ invocations to module description.
10213         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
10214         here...
10215         * modules/wcsxfrm (configure.ac): ... to here.
10216
10217 2011-05-22  Bruno Haible  <bruno@clisp.org>
10218
10219         wcstok: Move AC_LIBOBJ invocations to module description.
10220         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
10221         * modules/wcstok (configure.ac): ... to here.
10222
10223 2011-05-22  Bruno Haible  <bruno@clisp.org>
10224
10225         wcsstr: Move AC_LIBOBJ invocations to module description.
10226         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
10227         * modules/wcsstr (configure.ac): ... to here.
10228
10229 2011-05-22  Bruno Haible  <bruno@clisp.org>
10230
10231         wcsspn: Move AC_LIBOBJ invocations to module description.
10232         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
10233         * modules/wcsspn (configure.ac): ... to here.
10234
10235 2011-05-22  Bruno Haible  <bruno@clisp.org>
10236
10237         wcsrtombs: Move AC_LIBOBJ invocations to module description.
10238         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
10239         gl_PREREQ_WCSRTOMBS invocations from here...
10240         * modules/wcsrtombs (configure.ac): ... to here.
10241
10242 2011-05-22  Bruno Haible  <bruno@clisp.org>
10243
10244         wcsrchr: Move AC_LIBOBJ invocations to module description.
10245         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
10246         here...
10247         * modules/wcsrchr (configure.ac): ... to here.
10248
10249 2011-05-22  Bruno Haible  <bruno@clisp.org>
10250
10251         wcspbrk: Move AC_LIBOBJ invocations to module description.
10252         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
10253         here...
10254         * modules/wcspbrk (configure.ac): ... to here.
10255
10256 2011-05-22  Bruno Haible  <bruno@clisp.org>
10257
10258         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
10259         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
10260         gl_PREREQ_WCSNRTOMBS invocations from here...
10261         * modules/wcsnrtombs (configure.ac): ... to here.
10262
10263 2011-05-22  Bruno Haible  <bruno@clisp.org>
10264
10265         wcsnlen: Move AC_LIBOBJ invocations to module description.
10266         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
10267         here...
10268         * modules/wcsnlen (configure.ac): ... to here.
10269
10270 2011-05-22  Bruno Haible  <bruno@clisp.org>
10271
10272         wcsncpy: Move AC_LIBOBJ invocations to module description.
10273         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
10274         here...
10275         * modules/wcsncpy (configure.ac): ... to here.
10276
10277 2011-05-22  Bruno Haible  <bruno@clisp.org>
10278
10279         wcsncmp: Move AC_LIBOBJ invocations to module description.
10280         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
10281         here...
10282         * modules/wcsncmp (configure.ac): ... to here.
10283
10284 2011-05-22  Bruno Haible  <bruno@clisp.org>
10285
10286         wcsncat: Move AC_LIBOBJ invocations to module description.
10287         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
10288         here...
10289         * modules/wcsncat (configure.ac): ... to here.
10290
10291 2011-05-22  Bruno Haible  <bruno@clisp.org>
10292
10293         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
10294         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
10295         from here...
10296         * modules/wcsncasecmp (configure.ac): ... to here.
10297
10298 2011-05-22  Bruno Haible  <bruno@clisp.org>
10299
10300         wcslen: Move AC_LIBOBJ invocations to module description.
10301         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
10302         * modules/wcslen (configure.ac): ... to here.
10303
10304 2011-05-22  Bruno Haible  <bruno@clisp.org>
10305
10306         wcsdup: Move AC_LIBOBJ invocations to module description.
10307         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10308         * modules/wcsdup (configure.ac): ... to here.
10309
10310 2011-05-22  Bruno Haible  <bruno@clisp.org>
10311
10312         wcscspn: Move AC_LIBOBJ invocations to module description.
10313         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10314         here...
10315         * modules/wcscspn (configure.ac): ... to here.
10316
10317 2011-05-22  Bruno Haible  <bruno@clisp.org>
10318
10319         wcscpy: Move AC_LIBOBJ invocations to module description.
10320         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10321         * modules/wcscpy (configure.ac): ... to here.
10322
10323 2011-05-22  Bruno Haible  <bruno@clisp.org>
10324
10325         wcscoll: Move AC_LIBOBJ invocations to module description.
10326         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10327         here...
10328         * modules/wcscoll (configure.ac): ... to here.
10329
10330 2011-05-22  Bruno Haible  <bruno@clisp.org>
10331
10332         wcscmp: Move AC_LIBOBJ invocations to module description.
10333         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10334         * modules/wcscmp (configure.ac): ... to here.
10335
10336 2011-05-22  Bruno Haible  <bruno@clisp.org>
10337
10338         wcschr: Move AC_LIBOBJ invocations to module description.
10339         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10340         * modules/wcschr (configure.ac): ... to here.
10341
10342 2011-05-22  Bruno Haible  <bruno@clisp.org>
10343
10344         wcscat: Move AC_LIBOBJ invocations to module description.
10345         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10346         * modules/wcscat (configure.ac): ... to here.
10347
10348 2011-05-22  Bruno Haible  <bruno@clisp.org>
10349
10350         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10351         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10352         here...
10353         * modules/wcscasecmp (configure.ac): ... to here.
10354
10355 2011-05-22  Bruno Haible  <bruno@clisp.org>
10356
10357         wcrtomb: Move AC_LIBOBJ invocations to module description.
10358         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
10359         invocations from here...
10360         * modules/wcrtomb (configure.ac): ... to here.
10361
10362 2011-05-22  Bruno Haible  <bruno@clisp.org>
10363
10364         wcpncpy: Move AC_LIBOBJ invocations to module description.
10365         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
10366         here...
10367         * modules/wcpncpy (configure.ac): ... to here.
10368
10369 2011-05-22  Bruno Haible  <bruno@clisp.org>
10370
10371         wcpcpy: Move AC_LIBOBJ invocations to module description.
10372         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
10373         * modules/wcpcpy (configure.ac): ... to here.
10374
10375 2011-05-22  Bruno Haible  <bruno@clisp.org>
10376
10377         waitpid: Move AC_LIBOBJ invocations to module description.
10378         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10379         invocation from here...
10380         * modules/waitpid (configure.ac): ... to here.
10381
10382 2011-05-22  Bruno Haible  <bruno@clisp.org>
10383
10384         utimensat: Move AC_LIBOBJ invocations to module description.
10385         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10386         here...
10387         * modules/utimensat (configure.ac): ... to here.
10388
10389 2011-05-22  Bruno Haible  <bruno@clisp.org>
10390
10391         usleep: Move AC_LIBOBJ invocations to module description.
10392         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10393         here...
10394         * modules/usleep (configure.ac): ... to here.
10395
10396 2011-05-22  Bruno Haible  <bruno@clisp.org>
10397
10398         unlockpt: Move AC_LIBOBJ invocations to module description.
10399         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10400         gl_PREREQ_UNLOCKPT invocations from here...
10401         * modules/unlockpt (configure.ac): ... to here.
10402
10403 2011-05-22  Bruno Haible  <bruno@clisp.org>
10404
10405         unlink: Respect rules for use of AC_LIBOBJ.
10406         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10407         * modules/unlink (configure.ac): ... to here.
10408
10409 2011-05-22  Bruno Haible  <bruno@clisp.org>
10410
10411         uname: Move AC_LIBOBJ invocations to module description.
10412         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
10413         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
10414         here...
10415         * modules/uname (configure.ac): ... to here.
10416
10417 2011-05-22  Bruno Haible  <bruno@clisp.org>
10418
10419         ttyname_r: Move AC_LIBOBJ invocations to module description.
10420         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
10421         gl_PREREQ_TTYNAME_R invocations from here...
10422         * modules/ttyname_r (configure.ac): ... to here.
10423
10424 2011-05-22  Bruno Haible  <bruno@clisp.org>
10425
10426         tsearch: Move AC_LIBOBJ invocations to module description.
10427         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
10428         invocations from here...
10429         * modules/tsearch (configure.ac): ... to here.
10430
10431 2011-05-22  Bruno Haible  <bruno@clisp.org>
10432
10433         towctrans: Move AC_LIBOBJ invocations to module description.
10434         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
10435         AC_LIBOBJ invocation from here...
10436         * modules/towctrans (configure.ac): ... to here.
10437
10438 2011-05-22  Bruno Haible  <bruno@clisp.org>
10439
10440         tmpfile: Move AC_LIBOBJ invocations to module description.
10441         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
10442         invocations from here...
10443         * modules/tmpfile (configure.ac): ... to here.
10444
10445 2011-05-22  Bruno Haible  <bruno@clisp.org>
10446
10447         times: Move AC_LIBOBJ invocations to module description.
10448         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
10449         * modules/times (configure.ac): ... to here.
10450
10451 2011-05-22  Bruno Haible  <bruno@clisp.org>
10452
10453         time_r: Move AC_LIBOBJ invocations to module description.
10454         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
10455         invocations from here...
10456         * modules/time_r (configure.ac): ... to here.
10457
10458 2011-05-22  Bruno Haible  <bruno@clisp.org>
10459
10460         timegm: Move AC_LIBOBJ invocations to module description.
10461         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
10462         invocations from here...
10463         * modules/timegm (configure.ac): ... to here.
10464
10465 2011-05-22  Bruno Haible  <bruno@clisp.org>
10466
10467         tcgetsid: Move AC_LIBOBJ invocations to module description.
10468         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
10469         and gl_PREREQ_TCGETSID invocations from here...
10470         * modules/tcgetsid (configure.ac): ... to here.
10471         (Depends-on): Update conditions.
10472
10473 2011-05-22  Bruno Haible  <bruno@clisp.org>
10474
10475         symlinkat: Move AC_LIBOBJ invocations to module description.
10476         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
10477         here...
10478         * modules/symlinkat (configure.ac): ... to here.
10479
10480 2011-05-22  Bruno Haible  <bruno@clisp.org>
10481
10482         symlink: Move AC_LIBOBJ invocations to module description.
10483         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10484         here...
10485         * modules/symlink (configure.ac): ... to here.
10486
10487 2011-05-22  Bruno Haible  <bruno@clisp.org>
10488
10489         strverscmp: Move AC_LIBOBJ invocations to module description.
10490         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10491         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10492         from here...
10493         * modules/strverscmp (configure.ac): ... to here.
10494
10495 2011-05-22  Bruno Haible  <bruno@clisp.org>
10496
10497         strtok_r: Move AC_LIBOBJ invocations to module description.
10498         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10499         and gl_PREREQ_STRTOK_R invocations from here...
10500         * modules/strtok_r (configure.ac): ... to here.
10501         (Depends-on): Update conditions.
10502
10503 2011-05-22  Bruno Haible  <bruno@clisp.org>
10504
10505         strtoumax: Move AC_LIBOBJ invocations to module description.
10506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10507         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10508         from here...
10509         * modules/strtoumax (configure.ac): ... to here.
10510
10511 2011-05-22  Bruno Haible  <bruno@clisp.org>
10512
10513         strtoimax: Move AC_LIBOBJ invocations to module description.
10514         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10515         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10516         from here...
10517         * modules/strtoimax (configure.ac): ... to here.
10518
10519 2011-05-22  Bruno Haible  <bruno@clisp.org>
10520
10521         strtoull: Move AC_LIBOBJ invocations to module description.
10522         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10523         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10524         from here...
10525         * modules/strtoull (configure.ac): ... to here.
10526
10527 2011-05-22  Bruno Haible  <bruno@clisp.org>
10528
10529         strtoll: Move AC_LIBOBJ invocations to module description.
10530         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10531         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10532         here...
10533         * modules/strtoll (configure.ac): ... to here.
10534
10535 2011-05-22  Bruno Haible  <bruno@clisp.org>
10536
10537         strtoul: Move AC_LIBOBJ invocations to module description.
10538         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10539         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10540         * modules/strtoul (configure.ac): ... to here.
10541
10542 2011-05-22  Bruno Haible  <bruno@clisp.org>
10543
10544         strtol: Move AC_LIBOBJ invocations to module description.
10545         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10546         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10547         * modules/strtol (configure.ac): ... to here.
10548
10549 2011-05-22  Bruno Haible  <bruno@clisp.org>
10550
10551         strtod: Move AC_LIBOBJ invocations to module description.
10552         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10553         invocations from here...
10554         * modules/strtod (configure.ac): ... to here.
10555
10556 2011-05-22  Bruno Haible  <bruno@clisp.org>
10557
10558         strstr*: Move AC_LIBOBJ invocations to module description.
10559         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10560         invocations from here...
10561         * modules/strstr-simple (configure.ac): ... to here.
10562         * modules/strstr (configure.ac): ... and here.
10563
10564 2011-05-22  Bruno Haible  <bruno@clisp.org>
10565
10566         strsignal: Move AC_LIBOBJ invocations to module description.
10567         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10568         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10569         * modules/strsignal (configure.ac): ... to here.
10570         (Depends-on): Update conditions.
10571
10572 2011-05-22  Bruno Haible  <bruno@clisp.org>
10573
10574         strsep: Move AC_LIBOBJ invocations to module description.
10575         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10576         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10577         here...
10578         * modules/strsep (configure.ac): ... to here.
10579
10580 2011-05-22  Bruno Haible  <bruno@clisp.org>
10581
10582         strptime: Move AC_LIBOBJ invocations to module description.
10583         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10584         gl_PREREQ_STRPTIME invocations from here...
10585         * modules/strptime (configure.ac): ... to here.
10586
10587 2011-05-22  Bruno Haible  <bruno@clisp.org>
10588
10589         strpbrk: Move AC_LIBOBJ invocations to module description.
10590         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10591         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10592         here...
10593         * modules/strpbrk (configure.ac): ... to here.
10594
10595 2011-05-22  Bruno Haible  <bruno@clisp.org>
10596
10597         strnlen: Move AC_LIBOBJ invocations to module description.
10598         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10599         invocations from here...
10600         * modules/strnlen (configure.ac): ... to here.
10601
10602 2011-05-22  Bruno Haible  <bruno@clisp.org>
10603
10604         strndup: Move AC_LIBOBJ invocations to module description.
10605         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10606         invocations from here...
10607         * modules/strndup (configure.ac): ... to here.
10608         (Depends-on): Update conditions.
10609
10610 2011-05-22  Bruno Haible  <bruno@clisp.org>
10611
10612         strncat: Move AC_LIBOBJ invocations to module description.
10613         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10614         invocations from here...
10615         * modules/strncat (configure.ac): ... to here.
10616
10617 2011-05-22  Bruno Haible  <bruno@clisp.org>
10618
10619         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10620         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10621         invocations from here...
10622         * modules/strdup (configure.ac): ... to here.
10623         * modules/strdup-posix (configure.ac): ... and here.
10624
10625 2011-05-22  Bruno Haible  <bruno@clisp.org>
10626
10627         strcspn: Move AC_LIBOBJ invocations to module description.
10628         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10629         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10630         here...
10631         * modules/strcspn (configure.ac): ... to here.
10632
10633 2011-05-22  Bruno Haible  <bruno@clisp.org>
10634
10635         strchrnul: Move AC_LIBOBJ invocations to module description.
10636         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10637         gl_PREREQ_STRCHRNUL invocations from here...
10638         * modules/strchrnul (configure.ac): ... to here.
10639
10640 2011-05-22  Bruno Haible  <bruno@clisp.org>
10641
10642         strcasestr*: Move AC_LIBOBJ invocations to module description.
10643         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10644         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10645         * modules/strcasestr-simple (configure.ac): ... to here.
10646         * modules/strcasestr (configure.ac): ... and here.
10647
10648 2011-05-22  Bruno Haible  <bruno@clisp.org>
10649
10650         strcase: Move AC_LIBOBJ invocations to module description.
10651         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10652         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10653         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10654         gl_PREREQ_STRNCASECMP invocations from here...
10655         * modules/strcase (configure.ac): ... to here.
10656
10657 2011-05-22  Bruno Haible  <bruno@clisp.org>
10658
10659         stpncpy: Move AC_LIBOBJ invocations to module description.
10660         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10661         here...
10662         * modules/stpncpy (configure.ac): ... to here.
10663
10664 2011-05-22  Bruno Haible  <bruno@clisp.org>
10665
10666         stpcpy: Move AC_LIBOBJ invocations to module description.
10667         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10668         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10669         here...
10670         * modules/stpcpy (configure.ac): ... to here.
10671
10672 2011-05-21  Bruno Haible  <bruno@clisp.org>
10673
10674         stat: Move AC_LIBOBJ invocations to module description.
10675         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10676         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10677         here...
10678         * modules/stat (configure.ac): ... to here.
10679
10680 2011-05-21  Bruno Haible  <bruno@clisp.org>
10681
10682         sleep: Move AC_LIBOBJ invocations to module description.
10683         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10684         * modules/sleep (configure.ac): ... to here.
10685
10686 2011-05-21  Bruno Haible  <bruno@clisp.org>
10687
10688         signbit: Move AC_LIBOBJ invocations to module description.
10689         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10690         * modules/signbit (configure.ac): ... to here.
10691
10692 2011-05-21  Bruno Haible  <bruno@clisp.org>
10693
10694         sigprocmask: Move AC_LIBOBJ invocations to module description.
10695         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10696         gl_PREREQ_SIGPROMASK invocations from here...
10697         * modules/sigprocmask (configure.ac): ... to here.
10698
10699 2011-05-21  Bruno Haible  <bruno@clisp.org>
10700
10701         sigaction: Move AC_LIBOBJ invocations to module description.
10702         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10703         gl_PREREQ_SIGACTION invocations from here...
10704         * modules/sigaction (configure.ac): ... to here.
10705
10706 2011-05-21  Bruno Haible  <bruno@clisp.org>
10707
10708         sig2str: Move AC_LIBOBJ invocations to module description.
10709         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10710         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10711         here...
10712         * modules/sig2str (configure.ac): ... to here.
10713
10714 2011-05-21  Bruno Haible  <bruno@clisp.org>
10715
10716         setlocale: Move AC_LIBOBJ invocations to module description.
10717         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10718         gl_PREREQ_SETLOCALE invocations from here...
10719         * modules/setlocale (configure.ac): ... to here.
10720
10721 2011-05-21  Bruno Haible  <bruno@clisp.org>
10722
10723         unsetenv: Move AC_LIBOBJ invocations to module description.
10724         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10725         and gl_PREREQ_UNSETENV invocations from here...
10726         * modules/unsetenv (configure.ac): ... to here.
10727         (Depends-on): Update.
10728
10729 2011-05-21  Bruno Haible  <bruno@clisp.org>
10730
10731         setenv: Move AC_LIBOBJ invocations to module description.
10732         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10733         here...
10734         * modules/setenv (configure.ac): ... to here.
10735
10736 2011-05-21  Bruno Haible  <bruno@clisp.org>
10737
10738         selinux-h: Move AC_LIBOBJ invocations to module description.
10739         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10740         AC_LIBOBJ invocation from here...
10741         * modules/selinux-h (configure.ac): ... to here.
10742
10743 2011-05-21  Bruno Haible  <bruno@clisp.org>
10744
10745         select: Respect rules for use of AC_LIBOBJ.
10746         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10747         here...
10748         * modules/select (configure.ac): ... to here.
10749
10750 2011-05-21  Bruno Haible  <bruno@clisp.org>
10751
10752         scandir: Move AC_LIBOBJ invocations to module description.
10753         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10754         invocations from here...
10755         * modules/scandir (configure.ac): ... to here.
10756
10757 2011-05-21  Bruno Haible  <bruno@clisp.org>
10758
10759         rpmatch: Move AC_LIBOBJ invocations to module description.
10760         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10761         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10762         here...
10763         * modules/rpmatch (configure.ac): ... to here.
10764
10765 2011-05-21  Bruno Haible  <bruno@clisp.org>
10766
10767         rmdir: Respect rules for use of AC_LIBOBJ.
10768         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10769         * modules/rmdir (configure.ac): ... to here.
10770
10771 2011-05-21  Bruno Haible  <bruno@clisp.org>
10772
10773         renameat: Move AC_LIBOBJ invocations to module description.
10774         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10775         here...
10776         * modules/renameat (configure.ac): ... to here.
10777
10778 2011-05-21  Bruno Haible  <bruno@clisp.org>
10779
10780         rename: Respect rules for use of AC_LIBOBJ.
10781         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10782         here...
10783         * modules/rename (configure.ac): ... to here.
10784
10785 2011-05-21  Bruno Haible  <bruno@clisp.org>
10786
10787         remove: Move AC_LIBOBJ invocations to module description.
10788         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10789         here...
10790         * modules/remove (configure.ac): ... to here.
10791
10792 2011-05-21  Bruno Haible  <bruno@clisp.org>
10793
10794         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10795         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10796         macro.
10797         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10798         * modules/relocatable-lib (configure.ac): ... to here.
10799         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10800         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10801
10802 2011-05-21  Bruno Haible  <bruno@clisp.org>
10803
10804         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10805         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10806         here...
10807         * modules/relocatable-prog (configure.ac): ... to here.
10808
10809 2011-05-21  Bruno Haible  <bruno@clisp.org>
10810
10811         regex: Move AC_LIBOBJ invocations to module description.
10812         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10813         invocations from here...
10814         * modules/regex (configure.ac): ... to here.
10815
10816 2011-05-21  Bruno Haible  <bruno@clisp.org>
10817
10818         realloc-*: Move AC_LIBOBJ invocations to module description.
10819         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10820         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10821         AC_LIBOBJ invocations from here...
10822         * modules/realloc-gnu (configure.ac): ... to here.
10823         * modules/realloc-posix (configure.ac): ... and here.
10824
10825 2011-05-21  Bruno Haible  <bruno@clisp.org>
10826
10827         readutmp: Move AC_LIBOBJ invocations to module description.
10828         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10829         * modules/readutmp (configure.ac): ... to here.
10830
10831 2011-05-21  Bruno Haible  <bruno@clisp.org>
10832
10833         readlinkat: Move AC_LIBOBJ invocations to module description.
10834         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10835         here...
10836         * modules/readlinkat (configure.ac): ... to here.
10837
10838 2011-05-21  Bruno Haible  <bruno@clisp.org>
10839
10840         readlink: Move AC_LIBOBJ invocations to module description.
10841         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10842         gl_PREREQ_READLINK invocations from here...
10843         * modules/readlink (configure.ac): ... to here.
10844
10845 2011-05-21  Bruno Haible  <bruno@clisp.org>
10846
10847         readline: Move AC_LIBOBJ invocations to module description.
10848         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10849         gl_PREREQ_READLINE invocations from here...
10850         * modules/readline (configure.ac): ... to here.
10851
10852 2011-05-21  Bruno Haible  <bruno@clisp.org>
10853
10854         read: Move AC_LIBOBJ invocations to module description.
10855         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10856         * modules/read (configure.ac): ... to here.
10857
10858 2011-05-21  Bruno Haible  <bruno@clisp.org>
10859
10860         rawmemchr: Move AC_LIBOBJ invocations to module description.
10861         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10862         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10863         from here...
10864         * modules/rawmemchr (configure.ac): ... to here.
10865
10866 2011-05-21  Bruno Haible  <bruno@clisp.org>
10867
10868         random_r: Move AC_LIBOBJ invocations to module description.
10869         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10870         gl_PREREQ_RANDOM_R invocations from here...
10871         * modules/random_r (configure.ac): ... to here.
10872
10873 2011-05-21  Bruno Haible  <bruno@clisp.org>
10874
10875         pwrite: Move AC_LIBOBJ invocations to module description.
10876         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10877         * modules/pwrite (configure.ac): ... to here.
10878
10879 2011-05-21  Bruno Haible  <bruno@clisp.org>
10880
10881         putenv: Move AC_LIBOBJ invocations to module description.
10882         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10883         * modules/putenv (configure.ac): ... to here.
10884
10885 2011-05-21  Bruno Haible  <bruno@clisp.org>
10886
10887         login_tty: Move AC_LIBOBJ invocations to module description.
10888         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10889         * modules/login_tty (configure.ac): ... to here.
10890
10891 2011-05-21  Bruno Haible  <bruno@clisp.org>
10892
10893         openpty: Move AC_LIBOBJ invocations to module description.
10894         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10895         * modules/openpty (configure.ac): ... to here.
10896
10897 2011-05-21  Bruno Haible  <bruno@clisp.org>
10898
10899         forkpty: Move AC_LIBOBJ invocations to module description.
10900         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10901         * modules/forkpty (configure.ac): ... to here.
10902
10903 2011-05-21  Bruno Haible  <bruno@clisp.org>
10904
10905         ptsname: Move AC_LIBOBJ invocations to module description.
10906         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10907         invocations from here...
10908         * modules/ptsname (configure.ac): ... to here.
10909
10910 2011-05-21  Bruno Haible  <bruno@clisp.org>
10911
10912         pread: Move AC_LIBOBJ invocations to module description.
10913         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10914         * modules/pread (configure.ac): ... to here.
10915
10916 2011-05-21  Bruno Haible  <bruno@clisp.org>
10917
10918         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10919         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10920         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10921         * modules/posix_spawn (configure.ac): ... to here.
10922         * modules/posix_spawnp (configure.ac): ... and here.
10923
10924 2011-05-21  Bruno Haible  <bruno@clisp.org>
10925
10926         popen: Move AC_LIBOBJ invocations to module description.
10927         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10928         invocations from here...
10929         * modules/popen (configure.ac): ... to here.
10930
10931 2011-05-21  Bruno Haible  <bruno@clisp.org>
10932
10933         poll: Move AC_LIBOBJ invocations to module description.
10934         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10935         invocations from here...
10936         * modules/poll (configure.ac): ... to here.
10937
10938 2011-05-21  Bruno Haible  <bruno@clisp.org>
10939
10940         pipe-posix: Move AC_LIBOBJ invocations to module description.
10941         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10942         * modules/pipe-posix (configure.ac): ... to here.
10943
10944 2011-05-21  Bruno Haible  <bruno@clisp.org>
10945
10946         openat: Respect rules for use of AC_LIBOBJ.
10947         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10948         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10949         * modules/openat (configure.ac): ... to here.
10950
10951 2011-05-21  Bruno Haible  <bruno@clisp.org>
10952
10953         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10954         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10955         invocation from here...
10956         * modules/obstack-printf (configure.ac): ... to here.
10957         * modules/obstack-printf-posix (configure.ac): ... and here.
10958
10959 2011-05-21  Bruno Haible  <bruno@clisp.org>
10960
10961         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10962         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10963         from here...
10964         * modules/nl_langinfo (configure.ac): ... to here.
10965
10966 2011-05-21  Bruno Haible  <bruno@clisp.org>
10967
10968         nanosleep: Move AC_LIBOBJ invocations to module description.
10969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10970         gl_PREREQ_NANOSLEEP invocations from here...
10971         * modules/nanosleep (configure.ac): ... to here.
10972
10973 2011-05-21  Bruno Haible  <bruno@clisp.org>
10974
10975         mountlist: Move AC_LIBOBJ invocations to module description.
10976         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10977         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10978         * modules/mountlist (configure.ac): ... to here.
10979
10980 2011-05-21  Bruno Haible  <bruno@clisp.org>
10981
10982         mktime: Respect rules for use of AC_LIBOBJ.
10983         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10984         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10985         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10986         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10987         * modules/mktime (configure.ac): ... to here.
10988         * modules/mktime-internal (configure.ac): ... and here.
10989         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10990
10991 2011-05-21  Bruno Haible  <bruno@clisp.org>
10992
10993         mkstemps: Move AC_LIBOBJ invocations to module description.
10994         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10995         here...
10996         * modules/mkstemps (configure.ac): ... to here.
10997
10998 2011-05-21  Bruno Haible  <bruno@clisp.org>
10999
11000         mkstemp: Move AC_LIBOBJ invocations to module description.
11001         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11002         gl_PREREQ_MKSTEMP invocations from here...
11003         * modules/mkstemp (configure.ac): ... to here.
11004
11005 2011-05-21  Bruno Haible  <bruno@clisp.org>
11006
11007         mkostemps: Move AC_LIBOBJ invocations to module description.
11008         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11009         here...
11010         * modules/mkostemps (configure.ac): ... to here.
11011
11012 2011-05-21  Bruno Haible  <bruno@clisp.org>
11013
11014         mkostemp: Move AC_LIBOBJ invocations to module description.
11015         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11016         gl_PREREQ_MKOSTEMP invocations from here...
11017         * modules/mkostemp (configure.ac): ... to here.
11018
11019 2011-05-21  Bruno Haible  <bruno@clisp.org>
11020
11021         mknod: Move AC_LIBOBJ invocations to module description.
11022         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11023         * modules/mknod (configure.ac): ... to here.
11024
11025 2011-05-21  Bruno Haible  <bruno@clisp.org>
11026
11027         mkfifoat: Move AC_LIBOBJ invocations to module description.
11028         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11029         here...
11030         * modules/mkfifoat (configure.ac): ... to here.
11031
11032 2011-05-21  Bruno Haible  <bruno@clisp.org>
11033
11034         mkfifo: Respect rules for use of AC_LIBOBJ.
11035         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11036         here...
11037         * modules/mkfifo (configure.ac): ... to here.
11038
11039 2011-05-21  Bruno Haible  <bruno@clisp.org>
11040
11041         mkdtemp: Move AC_LIBOBJ invocations to module description.
11042         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11043         invocations from here...
11044         * modules/mkdtemp (configure.ac): ... to here.
11045
11046 2011-05-21  Bruno Haible  <bruno@clisp.org>
11047
11048         mkdir: Move AC_LIBOBJ invocations to module description.
11049         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11050         * modules/mkdir (configure.ac): ... to here.
11051
11052 2011-05-21  Bruno Haible  <bruno@clisp.org>
11053
11054         memset: Move AC_LIBOBJ invocations to module description.
11055         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11056         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11057         here...
11058         * modules/memset (configure.ac): ... to here.
11059
11060 2011-05-21  Bruno Haible  <bruno@clisp.org>
11061
11062         memrchr: Move AC_LIBOBJ invocations to module description.
11063         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11064         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11065         here...
11066         * modules/memrchr (configure.ac): ... to here.
11067
11068 2011-05-21  Bruno Haible  <bruno@clisp.org>
11069
11070         mempcpy: Move AC_LIBOBJ invocations to module description.
11071         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11072         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11073         here...
11074         * modules/mempcpy (configure.ac): ... to here.
11075
11076 2011-05-21  Bruno Haible  <bruno@clisp.org>
11077
11078         memmove: Move AC_LIBOBJ invocations to module description.
11079         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11080         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11081         here...
11082         * modules/memmove (configure.ac): ... to here.
11083
11084 2011-05-21  Bruno Haible  <bruno@clisp.org>
11085
11086         memmem*: Move AC_LIBOBJ invocations to module description.
11087         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11088         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11089         here...
11090         (gl_FUNC_MEMMEM): ... and here...
11091         * modules/memmem-simple (configure.ac): ... to here.
11092         * modules/memmem (configure.ac): ... and here.
11093
11094 2011-05-21  Bruno Haible  <bruno@clisp.org>
11095
11096         memcpy: Move AC_LIBOBJ invocations to module description.
11097         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11098         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11099         here...
11100         * modules/memcpy (configure.ac): ... to here.
11101
11102 2011-05-21  Bruno Haible  <bruno@clisp.org>
11103
11104         memcmp: Simplify autoconf macro.
11105         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11106         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11107         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11108
11109 2011-05-21  Bruno Haible  <bruno@clisp.org>
11110
11111         memcmp: Move AC_LIBOBJ invocations to module description.
11112         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11113         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11114         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11115         * modules/memcmp (configure.ac): ... to here.
11116         (Depends-on): Update conditions.
11117
11118 2011-05-21  Bruno Haible  <bruno@clisp.org>
11119
11120         memchr: Respect rules for use of AC_LIBOBJ.
11121         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11122         invocations from here...
11123         * modules/memchr (configure.ac): ... to here.
11124
11125 2011-05-21  Bruno Haible  <bruno@clisp.org>
11126
11127         mbtowc: Move AC_LIBOBJ invocations to module description.
11128         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11129         invocations from here...
11130         * modules/mbtowc (configure.ac): ... to here.
11131
11132 2011-05-21  Bruno Haible  <bruno@clisp.org>
11133
11134         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11135         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11136         gl_PREREQ_MBSRTOWCS invocations from here...
11137         * modules/mbsrtowcs (configure.ac): ... to here.
11138
11139 2011-05-21  Bruno Haible  <bruno@clisp.org>
11140
11141         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11142         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11143         gl_PREREQ_MBSNRTOWCS invocations from here...
11144         * modules/mbsnrtowcs (configure.ac): ... to here.
11145
11146 2011-05-21  Bruno Haible  <bruno@clisp.org>
11147
11148         mbsinit: Move AC_LIBOBJ invocations to module description.
11149         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11150         invocations from here...
11151         * modules/mbsinit (configure.ac): ... to here.
11152
11153 2011-05-21  Bruno Haible  <bruno@clisp.org>
11154
11155         mbrlen: Move AC_LIBOBJ invocations to module description.
11156         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11157         invocations from here...
11158         * modules/mbrlen (configure.ac): ... to here.
11159
11160 2011-05-21  Bruno Haible  <bruno@clisp.org>
11161
11162         mbrtowc: Respect rules for use of AC_LIBOBJ.
11163         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11164         invocations from here...
11165         * modules/mbrtowc (configure.ac): ... to here.
11166
11167 2011-05-21  Bruno Haible  <bruno@clisp.org>
11168
11169         malloc-*: Move AC_LIBOBJ invocations to module description.
11170         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11171         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11172         AC_LIBOBJ invocations from here...
11173         * modules/malloc-gnu (configure.ac): ... to here.
11174         * modules/malloc-posix (configure.ac): ... and here.
11175
11176 2011-05-21  Bruno Haible  <bruno@clisp.org>
11177
11178         lstat, openat: Respect rules for use of AC_LIBOBJ.
11179         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11180         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11181         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11182         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11183         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11184         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11185         here.
11186         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11187
11188 2011-05-21  Bruno Haible  <bruno@clisp.org>
11189
11190         lseek: Move AC_LIBOBJ invocations to module description.
11191         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
11192         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11193         * modules/lseek (configure.ac): ... to here.
11194
11195 2011-05-21  Bruno Haible  <bruno@clisp.org>
11196
11197         linkat: Move AC_LIBOBJ invocations to module description.
11198         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
11199         here...
11200         * modules/linkat (configure.ac): ... to here.
11201
11202 2011-05-21  Bruno Haible  <bruno@clisp.org>
11203
11204         link: Respect rules for use of AC_LIBOBJ.
11205         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
11206         * modules/link (configure.ac): ... to here.
11207
11208 2011-05-21  Bruno Haible  <bruno@clisp.org>
11209
11210         lchown: Move AC_LIBOBJ invocations to module description.
11211         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11212         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11213         * modules/lchown (configure.ac): ... to here.
11214
11215 2011-05-21  Bruno Haible  <bruno@clisp.org>
11216
11217         iswctype: Move AC_LIBOBJ invocations to module description.
11218         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
11219         here...
11220         * modules/iswctype (configure.ac): ... to here.
11221
11222 2011-05-21  Bruno Haible  <bruno@clisp.org>
11223
11224         iswblank: Move AC_LIBOBJ invocations to module description.
11225         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
11226         here...
11227         * modules/iswblank (configure.ac): ... to here.
11228
11229 2011-05-21  Bruno Haible  <bruno@clisp.org>
11230
11231         atanl: Move AC_LIBOBJ invocations to module description.
11232         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
11233         * modules/atanl (configure.ac): ... to here.
11234
11235 2011-05-21  Bruno Haible  <bruno@clisp.org>
11236
11237         acosl: Move AC_LIBOBJ invocations to module description.
11238         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
11239         * modules/acosl (configure.ac): ... to here.
11240
11241 2011-05-21  Bruno Haible  <bruno@clisp.org>
11242
11243         asinl: Respect rules for use of AC_LIBOBJ.
11244         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
11245         * modules/asinl (configure.ac): ... to here.
11246
11247 2011-05-21  Bruno Haible  <bruno@clisp.org>
11248
11249         tanl: Move AC_LIBOBJ invocations to module description.
11250         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
11251         * modules/tanl (configure.ac): ... to here.
11252
11253 2011-05-21  Bruno Haible  <bruno@clisp.org>
11254
11255         cosl: Move AC_LIBOBJ invocations to module description.
11256         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
11257         * modules/cosl (configure.ac): ... to here.
11258
11259 2011-05-21  Bruno Haible  <bruno@clisp.org>
11260
11261         sinl: Move AC_LIBOBJ invocations to module description.
11262         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
11263         * modules/sinl (configure.ac): ... to here.
11264
11265 2011-05-21  Bruno Haible  <bruno@clisp.org>
11266
11267         logl: Move AC_LIBOBJ invocations to module description.
11268         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
11269         * modules/logl (configure.ac): ... to here.
11270
11271 2011-05-21  Bruno Haible  <bruno@clisp.org>
11272
11273         expl: Move AC_LIBOBJ invocations to module description.
11274         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
11275         * modules/expl (configure.ac): ... to here.
11276
11277 2011-05-21  Bruno Haible  <bruno@clisp.org>
11278
11279         roundl: Move AC_LIBOBJ invocations to module description.
11280         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
11281         * modules/roundl (configure.ac): ... to here.
11282
11283 2011-05-21  Bruno Haible  <bruno@clisp.org>
11284
11285         round: Move AC_LIBOBJ invocations to module description.
11286         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
11287         * modules/round (configure.ac): ... to here.
11288
11289 2011-05-21  Bruno Haible  <bruno@clisp.org>
11290
11291         roundf: Move AC_LIBOBJ invocations to module description.
11292         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
11293         * modules/roundf (configure.ac): ... to here.
11294
11295 2011-05-21  Bruno Haible  <bruno@clisp.org>
11296
11297         truncl: Move AC_LIBOBJ invocations to module description.
11298         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
11299         * modules/truncl (configure.ac): ... to here.
11300
11301 2011-05-21  Bruno Haible  <bruno@clisp.org>
11302
11303         trunc: Move AC_LIBOBJ invocations to module description.
11304         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
11305         * modules/trunc (configure.ac): ... to here.
11306
11307 2011-05-21  Bruno Haible  <bruno@clisp.org>
11308
11309         truncf: Move AC_LIBOBJ invocations to module description.
11310         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11311         * modules/truncf (configure.ac): ... to here.
11312
11313 2011-05-21  Bruno Haible  <bruno@clisp.org>
11314
11315         ceill: Move AC_LIBOBJ invocations to module description.
11316         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11317         * modules/ceill (configure.ac): ... to here.
11318
11319 2011-05-21  Bruno Haible  <bruno@clisp.org>
11320
11321         ceil: Move AC_LIBOBJ invocations to module description.
11322         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11323         * modules/ceil (configure.ac): ... to here.
11324
11325 2011-05-21  Bruno Haible  <bruno@clisp.org>
11326
11327         ceilf: Move AC_LIBOBJ invocations to module description.
11328         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11329         * modules/ceilf (configure.ac): ... to here.
11330
11331 2011-05-21  Bruno Haible  <bruno@clisp.org>
11332
11333         floorl: Respect rules for use of AC_LIBOBJ.
11334         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11335         * modules/floorl (configure.ac): ... to here.
11336
11337 2011-05-21  Bruno Haible  <bruno@clisp.org>
11338
11339         floor: Respect rules for use of AC_LIBOBJ.
11340         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11341         * modules/floor (configure.ac): ... to here.
11342
11343 2011-05-21  Bruno Haible  <bruno@clisp.org>
11344
11345         floorf: Move AC_LIBOBJ invocations to module description.
11346         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11347         * modules/floorf (configure.ac): ... to here.
11348
11349 2011-05-20  Bruno Haible  <bruno@clisp.org>
11350
11351         sqrtl: Respect rules for use of AC_LIBOBJ.
11352         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11353         * modules/sqrtl (configure.ac): ... to here.
11354
11355 2011-05-20  Bruno Haible  <bruno@clisp.org>
11356
11357         ldexpl: Respect rules for use of AC_LIBOBJ.
11358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
11359         * modules/ldexpl (configure.ac): ... to here.
11360
11361 2011-05-20  Bruno Haible  <bruno@clisp.org>
11362
11363         frexpl*: Respect rules for use of AC_LIBOBJ.
11364         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
11365         invocation from here...
11366         * modules/frexpl (configure.ac): ... to here.
11367         * modules/frexpl-nolibm (configure.ac): ... and here.
11368
11369 2011-05-20  Bruno Haible  <bruno@clisp.org>
11370
11371         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
11372         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
11373         invocation from here...
11374         * modules/frexp (configure.ac): ... to here.
11375         * modules/frexp-nolibm (configure.ac): ... and here.
11376
11377 2011-05-20  Bruno Haible  <bruno@clisp.org>
11378
11379         isnan: Respect rules for use of AC_LIBOBJ.
11380         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11381         invocations here.
11382         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11383         REPLACE_ISNAN.
11384         * modules/isnand (configure.ac): Likewise.
11385         * modules/isnanl (configure.ac): Likewise.
11386
11387 2011-05-20  Bruno Haible  <bruno@clisp.org>
11388
11389         isnanl*: Respect rules for use of AC_LIBOBJ.
11390         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11391         invocation from here...
11392         * modules/isnanl (configure.ac): ... to here.
11393         * modules/isnanl-nolibm (configure.ac): ... and here.
11394
11395 2011-05-20  Bruno Haible  <bruno@clisp.org>
11396
11397         isnand*: Move AC_LIBOBJ invocations to module description.
11398         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11399         invocation from here...
11400         * modules/isnand (configure.ac): ... to here.
11401         * modules/isnand-nolibm (configure.ac): ... and here.
11402
11403 2011-05-20  Bruno Haible  <bruno@clisp.org>
11404
11405         isnanf*: Move AC_LIBOBJ invocations to module description.
11406         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11407         invocation from here...
11408         * modules/isnanf (configure.ac): ... to here.
11409         * modules/isnanf-nolibm (configure.ac): ... and here.
11410
11411 2011-05-20  Bruno Haible  <bruno@clisp.org>
11412
11413         isnan*: Separate the AC_LIBOBJ invocations.
11414         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
11415         AC_LIBOBJ invocation.
11416         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
11417         here.
11418         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
11419         AC_LIBOBJ invocation.
11420         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
11421         here.
11422         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
11423         AC_LIBOBJ invocation.
11424         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
11425         here.
11426         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
11427
11428 2011-05-08  Bruno Haible  <bruno@clisp.org>
11429
11430         isinf: Move AC_LIBOBJ invocations to module description.
11431         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
11432         * modules/isinf (configure.ac): ... to here.
11433
11434 2011-05-08  Bruno Haible  <bruno@clisp.org>
11435
11436         isfinite: Move AC_LIBOBJ invocations to module description.
11437         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
11438         * modules/isfinite (configure.ac): ... to here.
11439
11440 2011-05-08  Bruno Haible  <bruno@clisp.org>
11441
11442         isblank: Move AC_LIBOBJ invocations to module description.
11443         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
11444         here...
11445         * modules/isblank (configure.ac): ... to here.
11446
11447 2011-05-08  Bruno Haible  <bruno@clisp.org>
11448
11449         isapipe: Move AC_LIBOBJ invocations to module description.
11450         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
11451         gl_PREREQ_ISAPIPE invocations from here...
11452         * modules/isapipe (configure.ac): ... to here.
11453         (Depends-on): Update condition.
11454
11455 2011-05-08  Bruno Haible  <bruno@clisp.org>
11456
11457         ioctl: Move AC_LIBOBJ invocations to module description.
11458         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
11459         invocations from here...
11460         * modules/ioctl (configure.ac): ... to here.
11461         (Depends-on): Update condition.
11462
11463 2011-05-08  Bruno Haible  <bruno@clisp.org>
11464
11465         imaxdiv: Move AC_LIBOBJ invocations to module description.
11466         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
11467         invocations from here...
11468         * modules/imaxdiv (configure.ac): ... to here.
11469
11470 2011-05-08  Bruno Haible  <bruno@clisp.org>
11471
11472         imaxabs: Move AC_LIBOBJ invocations to module description.
11473         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
11474         invocations from here...
11475         * modules/imaxabs (configure.ac): ... to here.
11476
11477 2011-05-08  Bruno Haible  <bruno@clisp.org>
11478
11479         getaddrinfo: Move AC_LIBOBJ invocations to module description.
11480         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
11481         AC_LIBOBJ invocations from here...
11482         * modules/getaddrinfo (configure.ac): ... to here.
11483         (Depends-on): Add conditions.
11484
11485 2011-05-08  Bruno Haible  <bruno@clisp.org>
11486
11487         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11488         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11489         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11490         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11491         (gl_PREREQ_INET_PTON): ... from here.
11492         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11493         gl_PREREQ_INET_PTON here.
11494         (Depends-on): Update condition.
11495
11496 2011-05-08  Bruno Haible  <bruno@clisp.org>
11497
11498         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11499         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11500         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11501         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11502         (gl_PREREQ_INET_NTOP): ... from here.
11503         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11504         gl_PREREQ_INET_NTOP here.
11505         (Depends-on): Update condition.
11506
11507 2011-05-08  Bruno Haible  <bruno@clisp.org>
11508
11509         iconv_open: Move AC_LIBOBJ invocations to module description.
11510         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11511         AC_LIBOBJ invocations from here...
11512         * modules/iconv_open (configure.ac): ... to here.
11513
11514 2011-05-08  Bruno Haible  <bruno@clisp.org>
11515
11516         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11517         If module 'iconv_open' is among the main modules and module
11518         'iconv_open-utf' is among the tests dependencies, then
11519         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11520         return the special iconv_t values. Therefore iconv() and iconv_close()
11521         must support these special iconv_t values, already in lib, not only in
11522         tests.
11523         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11524         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11525         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11526         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11527         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11528         (Depends-on): Add the dependencies of iconv_open-utf.
11529         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11530         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11531         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11532
11533 2011-05-08  Bruno Haible  <bruno@clisp.org>
11534
11535         group-member: Move AC_LIBOBJ invocations to module description.
11536         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11537         gl_PREREQ_GROUP_MEMBER invocations from here...
11538         * modules/group-member (configure.ac): ... to here.
11539
11540 2011-05-08  Bruno Haible  <bruno@clisp.org>
11541
11542         grantpt: Move AC_LIBOBJ invocations to module description.
11543         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11544         invocations from here...
11545         * modules/grantpt (configure.ac): ... to here.
11546
11547 2011-05-08  Bruno Haible  <bruno@clisp.org>
11548
11549         glob: Move AC_LIBOBJ invocations to module description.
11550         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11551         from here...
11552         * modules/glob (configure.ac): ... to here.
11553
11554 2011-05-08  Bruno Haible  <bruno@clisp.org>
11555
11556         getusershell: Move AC_LIBOBJ invocations to module description.
11557         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11558         Move AC_LIBOBJ invocation from here...
11559         * modules/getusershell (configure.ac): ... to here.
11560         (Depends-on): Update condition.
11561
11562 2011-05-08  Bruno Haible  <bruno@clisp.org>
11563
11564         gettimeofday: Move AC_LIBOBJ invocations to module description.
11565         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11566         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11567         gl_PREREQ_GETTIMEOFDAY invocations from here...
11568         * modules/gettimeofday (configure.ac): ... to here.
11569
11570 2011-05-08  Bruno Haible  <bruno@clisp.org>
11571
11572         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11573         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11574         just gl_FUNC_TZSET.
11575         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11576         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11578         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11579
11580 2011-05-08  Bruno Haible  <bruno@clisp.org>
11581
11582         getsubopt: Move AC_LIBOBJ invocations to module description.
11583         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11584         gl_PREREQ_GETSUBOPT invocations from here...
11585         * modules/getsubopt (configure.ac): ... to here.
11586
11587 2011-05-08  Bruno Haible  <bruno@clisp.org>
11588
11589         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11590         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11591         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11592         * modules/getpass-gnu (configure.ac): ... to here.
11593
11594 2011-05-08  Bruno Haible  <bruno@clisp.org>
11595
11596         getpass: Move AC_LIBOBJ invocations to module description.
11597         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11598         gl_PREREQ_GETPASS invocations from here...
11599         * modules/getpass (configure.ac): ... to here.
11600
11601 2011-05-08  Bruno Haible  <bruno@clisp.org>
11602
11603         getpagesize: Move AC_LIBOBJ invocations to module description.
11604         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11605         from here...
11606         * modules/getpagesize (configure.ac): ... to here.
11607
11608 2011-05-08  Bruno Haible  <bruno@clisp.org>
11609
11610         getopt: Move AC_LIBOBJ invocations to module description.
11611         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11612         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11613         invocations from here...
11614         * modules/getopt-gnu (configure.ac): ... to here.
11615         * modules/getopt-posix (configure.ac): ... and here.
11616         (Depends-on): Update condition.
11617
11618 2011-05-08  Bruno Haible  <bruno@clisp.org>
11619
11620         getopt, argp: Respect rules for use of AC_LIBOBJ.
11621         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11622         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11623         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11624         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11625
11626 2011-05-08  Bruno Haible  <bruno@clisp.org>
11627
11628         getlogin_r: Move AC_LIBOBJ invocations to module description.
11629         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11630         gl_PREREQ_GETLOGIN_R invocations from here...
11631         * modules/getlogin_r (configure.ac): ... to here.
11632
11633 2011-05-08  Bruno Haible  <bruno@clisp.org>
11634
11635         getlogin: Move AC_LIBOBJ invocations to module description.
11636         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11637         here...
11638         * modules/getlogin (configure.ac): ... to here.
11639
11640 2011-05-08  Bruno Haible  <bruno@clisp.org>
11641
11642         getloadavg: Move AC_LIBOBJ invocations to module description.
11643         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11644         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11645         * modules/getloadavg (configure.ac): ... to here.
11646
11647 2011-05-08  Bruno Haible  <bruno@clisp.org>
11648
11649         gethrxtime: Move AC_LIBOBJ invocations to module description.
11650         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11651         LIB_GETHRXTIME from here...
11652         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11653         invocations from here...
11654         * modules/gethrxtime (configure.ac): ... to here.
11655
11656 2011-05-08  Bruno Haible  <bruno@clisp.org>
11657
11658         gethostname: Move AC_LIBOBJ invocations to module description.
11659         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11660         gl_PREREQ_GETHOSTNAME invocations from here...
11661         * modules/gethostname (configure.ac): ... to here.
11662
11663 2011-05-08  Bruno Haible  <bruno@clisp.org>
11664
11665         getgroups: Move AC_LIBOBJ invocations to module description.
11666         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11667         here...
11668         * modules/getgroups (configure.ac): ... to here.
11669
11670 2011-05-08  Bruno Haible  <bruno@clisp.org>
11671
11672         getdtablesize: Move AC_LIBOBJ invocations to module description.
11673         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11674         invocation from here...
11675         * modules/getdtablesize (configure.ac): ... to here.
11676
11677 2011-05-08  Bruno Haible  <bruno@clisp.org>
11678
11679         getdomainname: Move AC_LIBOBJ invocations to module description.
11680         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11681         gl_PREREQ_GETDOMAINNAME invocations from here...
11682         * modules/getdomainname (configure.ac): ... to here.
11683
11684 2011-05-08  Bruno Haible  <bruno@clisp.org>
11685
11686         getline: Move AC_LIBOBJ invocations to module description.
11687         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11688         invocations from here...
11689         * modules/getline (configure.ac): ... to here.
11690
11691 2011-05-08  Bruno Haible  <bruno@clisp.org>
11692
11693         getline: Simplify.
11694         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11695         It's already handled through the module dependency.
11696
11697 2011-05-08  Bruno Haible  <bruno@clisp.org>
11698
11699         getdelim: Move AC_LIBOBJ invocations to module description.
11700         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11701         and gl_PREREQ_GETDELIM invocations from here...
11702         * modules/getdelim (configure.ac): ... to here.
11703         (Depends-on): Fix condition.
11704
11705 2011-05-08  Bruno Haible  <bruno@clisp.org>
11706
11707         getcwd: Move AC_LIBOBJ invocations to module description.
11708         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11709         invocations from here...
11710         * modules/getcwd (configure.ac): ... to here.
11711
11712 2011-05-08  Bruno Haible  <bruno@clisp.org>
11713
11714         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11715         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11716         here...
11717         * modules/getcwd-lgpl (configure.ac): ... to here.
11718
11719 2011-05-07  Bruno Haible  <bruno@clisp.org>
11720
11721         crypto/gc: Move AC_LIBOBJ invocations to module description.
11722         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11723         * modules/crypto/gc (configure.ac): ... to here.
11724
11725 2011-05-07  Bruno Haible  <bruno@clisp.org>
11726
11727         fwriting: Move AC_LIBOBJ invocations to module description.
11728         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11729         here...
11730         * modules/fwriting (configure.ac): ... to here.
11731
11732 2011-05-07  Bruno Haible  <bruno@clisp.org>
11733
11734         fwritable: Move AC_LIBOBJ invocations to module description.
11735         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11736         here...
11737         * modules/fwritable (configure.ac): ... to here.
11738
11739 2011-05-07  Bruno Haible  <bruno@clisp.org>
11740
11741         futimens: Move AC_LIBOBJ invocations to module description.
11742         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11743         here...
11744         * modules/futimens (configure.ac): ... to here.
11745
11746 2011-05-07  Bruno Haible  <bruno@clisp.org>
11747
11748         ftruncate: Move AC_LIBOBJ invocations to module description.
11749         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11750         gl_PREREQ_FTRUNCATE invocations from here...
11751         * modules/ftruncate (configure.ac): ... to here.
11752
11753 2011-05-07  Bruno Haible  <bruno@clisp.org>
11754
11755         fsync: Move AC_LIBOBJ invocations to module description.
11756         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11757         invocations from here...
11758         * modules/fsync (configure.ac): ... to here.
11759
11760 2011-05-07  Bruno Haible  <bruno@clisp.org>
11761
11762         fsusage: Move AC_LIBOBJ invocations to module description.
11763         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11764         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11765         * modules/fsusage (configure.ac): ... to here.
11766
11767 2011-05-07  Bruno Haible  <bruno@clisp.org>
11768
11769         freopen: Move AC_LIBOBJ invocations to module description.
11770         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11771         invocations from here...
11772         * modules/freopen (configure.ac): ... to here.
11773
11774 2011-05-07  Bruno Haible  <bruno@clisp.org>
11775
11776         free: Move AC_LIBOBJ invocations to module description.
11777         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11778         invocations from here...
11779         * modules/free (configure.ac): ... to here.
11780
11781 2011-05-07  Bruno Haible  <bruno@clisp.org>
11782
11783         freadable: Move AC_LIBOBJ invocations to module description.
11784         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11785         here...
11786         * modules/freadable (configure.ac): ... to here.
11787
11788 2011-05-07  Bruno Haible  <bruno@clisp.org>
11789
11790         fpurge: Move AC_LIBOBJ invocations to module description.
11791         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11792         invocations from here...
11793         * modules/fpurge (configure.ac): ... to here.
11794
11795 2011-05-07  Bruno Haible  <bruno@clisp.org>
11796
11797         fpending: Move AC_LIBOBJ invocations to module description.
11798         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11799         gl_FUNC_FPENDING.
11800         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11801         invocations from here...
11802         * modules/fpending (configure.ac): ... to here.
11803
11804 2011-05-07  Bruno Haible  <bruno@clisp.org>
11805
11806         fopen: Move AC_LIBOBJ invocations to module description.
11807         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11808         invocations from here...
11809         * modules/fopen (configure.ac): ... to here.
11810
11811 2011-05-07  Bruno Haible  <bruno@clisp.org>
11812
11813         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11814         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11815         gl_FUNC_FNMATCH_POSIX.
11816         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11817         invocations from here...
11818         * modules/fnmatch (configure.ac): ... to here.
11819         * modules/fnmatch-gnu (configure.ac): ... and here.
11820
11821 2011-05-07  Bruno Haible  <bruno@clisp.org>
11822
11823         flock: Move AC_LIBOBJ invocations to module description.
11824         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11825         invocations from here...
11826         * modules/flock (configure.ac): ... to here.
11827
11828 2011-05-07  Bruno Haible  <bruno@clisp.org>
11829
11830         fileblocks: Move AC_LIBOBJ invocations to module description.
11831         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11832         gl_PREREQ_FILEBLOCKS invocations from here...
11833         * modules/fileblocks (configure.ac): ... to here.
11834
11835 2011-05-06  Bruno Haible  <bruno@clisp.org>
11836
11837         fflush: Move AC_LIBOBJ invocations to module description.
11838         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11839         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11840         invocations from here...
11841         * modules/fflush (configure.ac): ... to here.
11842
11843 2011-05-06  Bruno Haible  <bruno@clisp.org>
11844
11845         fdopendir: Move AC_LIBOBJ invocations to module description.
11846         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11847         here...
11848         * modules/fdopendir (configure.ac): ... to here.
11849         (Depends-on): Improve conditions.
11850
11851 2011-05-06  Bruno Haible  <bruno@clisp.org>
11852
11853         _Exit: Move AC_LIBOBJ invocations to module description.
11854         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11855         invocations from here...
11856         * modules/_Exit (configure.ac): ... to here.
11857
11858 2011-05-21  Bruno Haible  <bruno@clisp.org>
11859
11860         euidaccess: Respect rules for use of AC_LIBOBJ.
11861         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11862         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11863         from here...
11864         * modules/euidaccess (configure.ac): ... to here.
11865
11866 2011-05-06  Bruno Haible  <bruno@clisp.org>
11867
11868         error: Move AC_LIBOBJ invocations to module description.
11869         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11870         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11871         invocations from here...
11872         * modules/error (configure.ac): ... to here.
11873
11874 2011-05-06  Bruno Haible  <bruno@clisp.org>
11875
11876         duplocale: Move AC_LIBOBJ invocations to module description.
11877         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11878         gl_PREREQ_DUPLOCALE invocations from here...
11879         * modules/duplocale (configure.ac): ... to here.
11880
11881 2011-05-05  Bruno Haible  <bruno@clisp.org>
11882
11883         dirfd: Move AC_LIBOBJ invocations to module description.
11884         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11885         gl_FUNC_DIRFD.
11886         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11887         here...
11888         * modules/dirfd (configure.ac): ... to here.
11889         (Depends-on): Fix condition.
11890
11891 2011-05-05  Bruno Haible  <bruno@clisp.org>
11892
11893         chown: Respect rules for use of AC_LIBOBJ.
11894         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11895         * modules/chown (configure.ac): ... to here.
11896
11897 2011-05-05  Bruno Haible  <bruno@clisp.org>
11898
11899         chdir-long: Move AC_LIBOBJ invocations to module description.
11900         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11901         gl_PREREQ_CHDIR_LONG invocations from here...
11902         * modules/chdir-long (configure.ac): ... to here.
11903
11904 2011-05-05  Bruno Haible  <bruno@clisp.org>
11905
11906         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11907         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11908         from here...
11909         * modules/canonicalize-lgpl (configure.ac): ... to here.
11910
11911 2011-05-05  Bruno Haible  <bruno@clisp.org>
11912
11913         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11914         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11915         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11916         REPLACE_CALLOC.
11917         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11918         * modules/calloc-gnu (configure.ac): Likewise.
11919
11920 2011-05-05  Bruno Haible  <bruno@clisp.org>
11921
11922         btowc: Move AC_LIBOBJ invocations to module description.
11923         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11924         invocations from here...
11925         * modules/btowc (configure.ac): ... to here.
11926
11927 2011-05-21  Bruno Haible  <bruno@clisp.org>
11928
11929         atexit: Move AC_LIBOBJ invocations to module description.
11930         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11931         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11932         here...
11933         * modules/atexit (configure.ac): ... to here.
11934
11935 2011-05-05  Bruno Haible  <bruno@clisp.org>
11936
11937         atoll: Move AC_LIBOBJ invocations to module description.
11938         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11939         invocations from here...
11940         * modules/atoll (configure.ac): ... to here.
11941
11942 2011-05-05  Bruno Haible  <bruno@clisp.org>
11943
11944         argz: Move AC_LIBOBJ invocations to module description.
11945         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11946         * modules/argz (configure.ac): ... to here.
11947
11948 2011-05-05  Bruno Haible  <bruno@clisp.org>
11949
11950         alphasort: Move AC_LIBOBJ invocations to module description.
11951         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11952         gl_PREREQ_ALPHASORT invocations from here...
11953         * modules/alphasort (configure.ac): ... to here.
11954
11955 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11956
11957         verify: new macro verify_expr; verify_true deprecated
11958         * NEWS: Mention this.
11959         * doc/verify.texi (Compile-time Assertions): Document this.
11960         * lib/verify.h (verify_true): Deprecate.
11961         (verify_expr): New macro.
11962         * tests/test-verify.c (function): Test verify_expr.
11963
11964 2011-06-14  Jim Meyering  <meyering@redhat.com>
11965
11966         init.sh: give more portable redirection-related advice in a comment
11967         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11968         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11969         for lots of discussion.  Stefano Lattarini suggested the solution
11970         of putting "9>&2" after the command.  Reported by Bruno Haible.
11971
11972 2011-06-13  Bruno Haible  <bruno@clisp.org>
11973
11974         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11975         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11976         'none'.
11977
11978 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11979
11980         ftoastr: use strtof only if HAVE_STRTOF
11981         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11982         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11983         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11984         * modules/ftoastr (configure.ac): Check for strtof.
11985
11986 2011-06-13  Bruno Haible  <bruno@clisp.org>
11987
11988         gnulib-tool: Addendum to 2011-06-08 commit.
11989         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11990         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11991
11992 2011-06-13  Bruno Haible  <bruno@clisp.org>
11993
11994         fseeko: Provide a non-inline replacement of fseek().
11995         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11996         * modules/fseeko (Depends-on): Add fseek.
11997         * modules/fseek (License): Change to LGPLv2+.
11998
11999 2011-06-13  Bruno Haible  <bruno@clisp.org>
12000
12001         ftello: Provide a non-inline replacement of ftell().
12002         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12003         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12004         not have ftello() (such as on mingw).
12005         * modules/ftello (Depends-on): Add ftell.
12006         * modules/ftell (License): Change to LGPLv2+.
12007
12008 2011-05-07  Bruno Haible  <bruno@clisp.org>
12009
12010         ftell: Move AC_LIBOBJ invocations to module description.
12011         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12012         * modules/ftell (configure.ac): ... to here.
12013
12014 2011-05-07  Bruno Haible  <bruno@clisp.org>
12015
12016         ftello: Respect rules for use of AC_LIBOBJ.
12017         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12018         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12019         here...
12020         * modules/ftello (configure.ac): ... to here.
12021
12022 2011-05-07  Bruno Haible  <bruno@clisp.org>
12023
12024         fseeko: Simplify.
12025         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12026         (gl_FUNC_FSEEKO): Inline it here.
12027
12028 2011-05-07  Bruno Haible  <bruno@clisp.org>
12029
12030         fseek: Move AC_LIBOBJ invocations to module description.
12031         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12032         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12033         * modules/fseek (configure.ac): ... to here.
12034
12035 2011-05-07  Bruno Haible  <bruno@clisp.org>
12036
12037         fseek: Respect rules for use of AC_LIBOBJ.
12038         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12039         here...
12040         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12041
12042 2011-05-07  Bruno Haible  <bruno@clisp.org>
12043
12044         fseeko: Respect rules for use of AC_LIBOBJ.
12045         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12046         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12047         here...
12048         * modules/fseeko (configure.ac): ... to here.
12049
12050 2011-06-13  Bruno Haible  <bruno@clisp.org>
12051
12052         gnulib-tool: Allow comments in the 'Depends-on' section.
12053         * doc/gnulib.texi (Module description): Mention comment syntax in the
12054         Depends-on section.
12055         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12056
12057 2011-06-13  Bruno Haible  <bruno@clisp.org>
12058
12059         file-set.h: guard __attibute__ use, now that it's not always defined
12060         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12061         versions that support it.  This fixes a coreutils build failure with
12062         the vendor cc on HP-UX 11.31.
12063
12064 2011-06-12  Bruno Haible  <bruno@clisp.org>
12065
12066         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12067         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12068         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12069         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12070         (acl, aclsort): New declarations.
12071         (aclv_nontrivial): New declaration.
12072         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12073         (file_has_acl): Read also the second kind of HP-UX ACLs.
12074         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12075         kind of HP-UX ACLs if the first kind fails.
12076         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12077         second kind of HP-UX ACLs.
12078         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12079         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12080         agree.
12081         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12082         hpuxjfs.
12083         Handle hpuxjfs.
12084         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12085         hpuxjfs.
12086         Handle hpuxjfs.
12087         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12088         (func_test_same_acls): Use both lsacl and getacl.
12089         Handle hpuxjfs.
12090         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12091         (func_test_same_acls): Use both lsacl and getacl.
12092         Handle hpuxjfs.
12093
12094 2011-06-12  Bruno Haible  <bruno@clisp.org>
12095
12096         acl: Complete the 2010-08-10 fix.
12097         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12098         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12099         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12100         explicitly.
12101         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12102         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12103
12104 2011-06-12  Bruno Haible  <bruno@clisp.org>
12105
12106         spawn-pipe tests: Comments.
12107         * tests/test-spawn-pipe-child.c (main): Update comment.
12108         Reported by James Youngman <jay@gnu.org>.
12109
12110 2011-06-11  James Youngman  <jay@gnu.org>
12111
12112         New module 'stat-size'.
12113         * modules/stat-size: New module.  Provides macros for accessing
12114         file size information in instances of struct stat.  Depends on the
12115         fileblocks module because it calls st_blocks.
12116         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12117         * doc/gnulib.texi: Include stat-size.texi.
12118         * doc/stat-size.texi: Documentation for this module.
12119         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12120         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12121         AC_STRUCT_ST_BLOCKS.
12122
12123 2011-06-09  Bruno Haible  <bruno@clisp.org>
12124
12125         thread: Support pthreads-win32.
12126         * lib/glthread/thread.h (gl_thread_self): Define differently on
12127         pthreads-win32.
12128         (gl_null_thread): New declaration.
12129         (gl_thread_self_pointer): New macro.
12130         * lib/glthread/thread.c (gl_null_thread): New constant.
12131         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12132         gl_thread_self.
12133         * tests/test-tls.c: Likewise.
12134         Suggested by Paul Eggert. Reported by Eric Blake.
12135
12136 2011-06-09  Bruno Haible  <bruno@clisp.org>
12137
12138         thread: Fix confusion between NULL and 0.
12139         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12140         Reported by Paul Eggert.
12141
12142 2011-06-09  Bruno Haible  <bruno@clisp.org>
12143
12144         spawn-pipe tests: Avoid test failure on HP-UX 11.
12145         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12146         is closed.
12147
12148 2011-06-09  Bruno Haible  <bruno@clisp.org>
12149
12150         acl tests: Fix compilation error on HP-UX 11.
12151         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12152
12153 2011-06-09  Bruno Haible  <bruno@clisp.org>
12154
12155         rmdir: Avoid test failure on HP-UX 10.20.
12156         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12157         EEXIST.
12158
12159 2011-06-08  Eric Blake  <eblake@redhat.com>
12160
12161         perror: fix test on mingw
12162         * modules/perror-tests (Depends-on): Add dup2.
12163
12164         strerror_r-posix: fix on MacOS
12165         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12166         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12167         logic bug.
12168         * lib/strerror_r.c (strerror_r): Fix the bug.
12169         * lib/strerror.c (strerror): Likewise.
12170         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12171         problem.
12172         * doc/posix-functions/strerror.texi (strerror): Likewise.
12173         * doc/posix-functions/perror.texi (perror): Likewise.
12174         * tests/test-strerror.c (main): Enhance test.
12175         * tests/test-strerror_r.c (main): Likewise.
12176
12177 2011-06-08  Bruno Haible  <bruno@clisp.org>
12178
12179         gnulib-tool: Better isolation between different gnulib-tool invocations.
12180         * gnulib-tool: New option --witness-c-macro.
12181         (witness_c_macro): New variable.
12182         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12183         AM_CPPFLAGS define it as a C macro.
12184         (func_emit_tests_Makefile_am): Likewise.
12185         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12186         read it from there.
12187         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12188         m4_define, not AC_DEFUN.
12189         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
12190         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
12191         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
12192         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
12193         s|...|...|, to substitute the values of the GNULIB_* module indicator
12194         variables.
12195         * modules/dirent (Makefile.am): Likewise.
12196         * modules/fcntl-h (Makefile.am): Likewise.
12197         * modules/iconv-h (Makefile.am): Likewise.
12198         * modules/langinfo (Makefile.am): Likewise.
12199         * modules/locale (Makefile.am): Likewise.
12200         * modules/math (Makefile.am): Likewise.
12201         * modules/netdb (Makefile.am): Likewise.
12202         * modules/poll-h (Makefile.am): Likewise.
12203         * modules/pty (Makefile.am): Likewise.
12204         * modules/search (Makefile.am): Likewise.
12205         * modules/signal (Makefile.am): Likewise.
12206         * modules/spawn (Makefile.am): Likewise.
12207         * modules/stdio (Makefile.am): Likewise.
12208         * modules/stdlib (Makefile.am): Likewise.
12209         * modules/string (Makefile.am): Likewise.
12210         * modules/sys_ioctl (Makefile.am): Likewise.
12211         * modules/sys_select (Makefile.am): Likewise.
12212         * modules/sys_socket (Makefile.am): Likewise.
12213         * modules/sys_stat (Makefile.am): Likewise.
12214         * modules/sys_times (Makefile.am): Likewise.
12215         * modules/sys_utsname (Makefile.am): Likewise.
12216         * modules/sys_wait (Makefile.am): Likewise.
12217         * modules/termios (Makefile.am): Likewise.
12218         * modules/time (Makefile.am): Likewise.
12219         * modules/unistd (Makefile.am): Likewise.
12220         * modules/wchar (Makefile.am): Likewise.
12221
12222 2011-06-08  Eric Blake  <eblake@redhat.com>
12223
12224         strerror: simplify replacement
12225         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
12226         * modules/strerror (configure.ac): No prereqs needed here...
12227         * modules/strerror-override (configure.ac): ...but this needs it.
12228         (Files): Add file for needed prereq macro.
12229
12230 2011-06-08  Bruno Haible  <bruno@clisp.org>
12231
12232         strerror_r-posix: Tweaks.
12233         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
12234         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
12235         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
12236         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
12237         (gl_FUNC_STRERROR_R): ... to here.
12238         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
12239
12240 2011-06-07  Eric Blake  <eblake@redhat.com>
12241
12242         perror: document fixed bugs
12243         * doc/posix-functions/perror.texi (perror): Document recent
12244         patches.
12245
12246 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12247
12248         stat-time: get_stat_birthtime failure is better-defined
12249         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
12250         return a timestamp whose tv_sec and tv_nsec values are both -1.
12251         Previously, the spec said only that the tv_nsec value was negative.
12252         This upward-compatible change simplifies GNU tar a bit.
12253
12254 2011-06-07  Eric Blake  <eblake@redhat.com>
12255
12256         strerror_r-posix: work around cygwin 1.7.9
12257         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
12258         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
12259         bug without replacing strerror_r.
12260         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
12261         strerror_r is buggy, but without requiring strerror_r compilation.
12262         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
12263
12264         test-perror: relax test to ignore cygwin bug
12265         * tests/test-perror2.c (main): Relax test on requiring detection
12266         of stream errors, and use unbuffered stream.
12267         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
12268         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
12269         * doc/posix-functions/fputc.texi (fputc): Likewise.
12270         * doc/posix-functions/fputs.texi (fputs): Likewise.
12271         * doc/posix-functions/fputws.texi (fputws): Likewise.
12272         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
12273         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
12274         * doc/posix-functions/getopt.texi (getopt): Likewise.
12275         * doc/posix-functions/perror.texi (perror): Likewise.
12276         * doc/posix-functions/printf.texi (printf): Likewise.
12277         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
12278         * doc/posix-functions/psignal.texi (psignal): Likewise.
12279         * doc/posix-functions/putc.texi (putc): Likewise.
12280         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
12281         Likewise.
12282         * doc/posix-functions/putchar.texi (putchar): Likewise.
12283         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
12284         Likewise.
12285         * doc/posix-functions/puts.texi (puts): Likewise.
12286         * doc/posix-functions/putwc.texi (putwc): Likewise.
12287         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12288         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12289         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12290         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
12291         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12292         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12293         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12294         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
12295
12296 2011-05-22  Bruno Haible  <bruno@clisp.org>
12297
12298         strerror: Move AC_LIBOBJ invocations to module description.
12299         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
12300         gl_PREREQ_STRERROR invocations from here...
12301         * modules/strerror (configure.ac): ... to here.
12302
12303 2011-05-21  Bruno Haible  <bruno@clisp.org>
12304
12305         perror: Use common idiom.
12306         * modules/perror (configure.ac): Reorder statements.
12307
12308 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12309
12310         tests: fix usage message in 'mktempd_'
12311         * tests/init.sh (mktempd_): In the usage message, use literal
12312         'mktempd_', not '$ME' (which is even undefined), as the name of
12313         the subroutine.
12314
12315 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12316
12317         tests init: new function 'fatal_', for hard errors
12318         Before this patch, the only way offered by tests/init.sh to
12319         properly signal a hard error was the `framework_failure_'
12320         function.  But the error message issued by that function,
12321         as its name would suggest, refers to a set-up failure in the
12322         testsuite, while hard errors can obviously also be due to
12323         other reasons.  The best way to fix this inconsistency is to
12324         introduce a new function with a more general error message.
12325         * tests/init.sh (fatal_): New function.
12326
12327 2011-06-06  Eric Blake  <eblake@redhat.com>
12328
12329         canonicalize-lgpl: use common idiom
12330         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12331         over newer POSIX -Rf.
12332         Reported by Bruno Haible.
12333
12334         canonicalize-lgpl: work around AIX realpath bug
12335         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12336         * doc/posix-functions/realpath.texi (realpath): Document it.
12337         Reported by Bruno Haible.
12338
12339         strerror: work around FreeBSD bug
12340         * lib/strerror.c (strerror): Special case 0.
12341         Reported by Bruno Haible.
12342
12343         strerror-override: avoid bloating errno module
12344         * modules/errno (Files, configure.ac): Move replacement strings...
12345         * modules/strerror-override: ...to new module.
12346         * modules/strerror (Depends-on): Add strerror-override.
12347         * modules/strerror_r-posix (Depends-on): Likewise.
12348         * MODULES.html.sh: Document new module.
12349         Reported by Bruno Haible.
12350
12351 2011-06-06  Bruno Haible  <bruno@clisp.org>
12352
12353         spawn-pipe tests: Rename program.
12354         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12355         * tests/test-spawn-pipe-child.c: Update comment.
12356         * tests/test-spawn-pipe.sh: Update.
12357         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
12358
12359         spawn-pipe tests: Link the child program only against libc.
12360         * tests/test-spawn-pipe-child.c: New file, extracted from
12361         tests/test-spawn-pipe.c.
12362         (main): Expect only one argument.
12363         (is_open): New function, copied from tests/test-pipe.c.
12364         * tests/test-spawn-pipe.c: Don't include <errno.h>.
12365         (child_main): Remove function.
12366         (test_pipe): Pass only one argument to the child program.
12367         (main): Remove child process code. Expect the child program's name as
12368         first argument.
12369         * tests/test-spawn-pipe.sh: Pass the child program's name as first
12370         argument.
12371         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
12372         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
12373         test-spawn-pipe-child against no libraries.
12374
12375 2011-06-06  Bruno Haible  <bruno@clisp.org>
12376
12377         careadlinkat: Avoid mismatch between ssize_t and int.
12378         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12379         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12380
12381 2011-06-06  Jim Meyering  <meyering@redhat.com>
12382
12383         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12384         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12385         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12386
12387 2011-06-05  Bruno Haible  <bruno@clisp.org>
12388
12389         ansi-c++-opt: Interoperability with libtool.
12390         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12391         set the variable to "no", not to ":".
12392         * NEWS: Mention the change.
12393
12394 2011-06-05  Bruno Haible  <bruno@clisp.org>
12395
12396         acl: Fix test failure on AIX 7.
12397         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12398         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12399
12400 2011-06-05  Bruno Haible  <bruno@clisp.org>
12401
12402         pipe-filter-ii: Fix test failure on AIX and IRIX.
12403         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12404         with EAGAIN, retry with a smaller buffer size.
12405
12406 2011-06-05  Bruno Haible  <bruno@clisp.org>
12407
12408         localename: Fix link dependencies.
12409         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12410         * modules/localename-tests (Makefile.am): Link test-localename with
12411         $(LIBTHREAD).
12412
12413 2011-06-05  Bruno Haible  <bruno@clisp.org>
12414
12415         error: Avoid gcc warning.
12416         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
12417
12418 2011-06-05  Bruno Haible  <bruno@clisp.org>
12419
12420         unsetenv: Avoid gcc warning.
12421         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
12422
12423 2011-06-05  Bruno Haible  <bruno@clisp.org>
12424
12425         setenv: Avoid gcc warning.
12426         * lib/setenv.c (setenv): Provide declaration if system lacks it.
12427
12428 2011-06-05  Bruno Haible  <bruno@clisp.org>
12429
12430         sys_select: Ensure memset is declared also on AIX 7.
12431         * lib/sys_select.in.h: Include <string.h> also on AIX.
12432         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
12433         self-contained also on AIX 7.1.
12434
12435 2011-06-04  Jim Meyering  <meyering@redhat.com>
12436
12437         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
12438         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
12439         function name, "error".
12440         (_gl_translatable_diag_func_re): New configurable variable.
12441
12442 2011-06-04  Bruno Haible  <bruno@clisp.org>
12443
12444         getopt: Avoid gcc warning.
12445         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
12446
12447 2011-06-04  Bruno Haible  <bruno@clisp.org>
12448
12449         strerror_r: Fix comments.
12450         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
12451         commit.
12452
12453 2011-06-04  Bruno Haible  <bruno@clisp.org>
12454
12455         perror: Fix compilation error.
12456         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
12457         Undefine fprintf, not sprintf.
12458         * modules/perror (Depends-on): Remove intprops, verify.
12459
12460 2011-06-04  Bruno Haible  <bruno@clisp.org>
12461
12462         setlocale: Enable replacement on Cygwin 1.5.
12463         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
12464         Cygwin 1.5.x.
12465         * doc/posix-functions/setlocale.texi: Mention that the problem with the
12466         LC_CTYPE category also exists on Cygwin 1.5.x.
12467
12468 2011-06-04  Bruno Haible  <bruno@clisp.org>
12469
12470         strerror-override: Don't disable symbol renamings.
12471         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
12472         * lib/strerror-override.c: Include config.h.
12473         (strerror_override): Don't undefine.
12474
12475 2011-06-03  Bruno Haible  <bruno@clisp.org>
12476
12477         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
12478         * lib/localename.h: Update copyright header.
12479         * lib/localename.c: Likewise.
12480         * lib/relocatable.h: Likewise.
12481         * lib/relocatable.c: Likewise.
12482
12483 2011-06-02  Bruno Haible  <bruno@clisp.org>
12484
12485         doc: Fix a module name.
12486         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12487
12488 2011-06-02  Bruno Haible  <bruno@clisp.org>
12489
12490         pipe2: Remove dependency on 'nonblocking' module.
12491         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12492         O_NONBLOCK is defined by gnulib.
12493         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12494         is zero.
12495         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12496         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12497         defined by gnulib.
12498         (get_nonblocking_flag): New function.
12499         (main): Test O_NONBLOCK flag only if it is nonzero.
12500         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12501
12502 2011-06-03  Jim Meyering  <meyering@redhat.com>
12503
12504         maint: three new prohibit-header-without-use rules
12505         Prohibit use of cloexec.h, posixver.h, same.h without use.
12506         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12507         (sc_prohibit_posixver_without_use): Likewise.
12508         (sc_prohibit_same_without_use): Likewise.
12509
12510 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12511
12512         allocator: 'die' routine is now given requested size
12513         * lib/allocator.h (struct allocator.die): New size arg.
12514         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12515         If the actual problem is an ssize_t limitation, not a size_t or
12516         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12517
12518 2011-06-01  Eric Blake  <eblake@redhat.com>
12519
12520         strerror: drop strerror_r dependency
12521         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12522         * lib/strerror-override.c (strerror_override): ...to new file.
12523         * lib/strerror-override.h: Add prototype.
12524         * lib/strerror-impl.h: Delete.
12525         * lib/strerror.c (strerror): New implementation.
12526         * modules/errno (Files): Add new files.
12527         (configure.ac): Compile new file as appropriate.
12528         * modules/strerror (Files): Drop unused file.
12529         (Depends-on): Drop strerror_r-posix.
12530         * MODULES.html.sh: Document strerror_r-posix.
12531         Requested by Sam Steingold.
12532
12533         perror: call strerror_r directly
12534         * modules/perror (Files): Drop strerror-impl.h.
12535         * lib/perror.c (perror): Use our own stack buffer, rather than
12536         calling a wrapper that uses static storage.
12537         * doc/posix-functions/perror.texi (perror): Document a limitation
12538         of our replacement.
12539
12540         strerror_r: fix includes for FreeBSD
12541         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12542         since we use abort on some platforms.
12543         Reported by Matthias Bolte.
12544
12545 2011-05-31  Bruno Haible  <bruno@clisp.org>
12546
12547         Fix link errors in tests: openat-die uses gettext-h.
12548         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12549         against $(LIBINTL).
12550         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12551         against $(LIBINTL).
12552         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12553         $(LIBINTL).
12554         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12555         against $(LIBINTL).
12556         * modules/linkat-tests (Makefile.am): Link test-linkat against
12557         $(LIBINTL).
12558         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12559         $(LIBINTL).
12560         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12561         against $(LIBINTL).
12562         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12563         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12564         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12565         $(LIBINTL).
12566         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12567         $(LIBINTL).
12568         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12569         $(LIBINTL).
12570         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12571
12572 2011-05-31  Bruno Haible  <bruno@clisp.org>
12573
12574         Fix link errors in tests: wait-process uses gettext-h.
12575         * modules/nonblocking-pipe-tests (Makefile.am): Set
12576         test_nonblocking_pipe_main_LDADD.
12577         * modules/nonblocking-socket-tests (Makefile.am): Link
12578         test-nonblocking-socket-main against $(LIBINTL).
12579         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12580
12581 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12582
12583         assert-h: work around 'verify' incompatibility
12584         * lib/verify.h: Use @...@ directives, not ifdef.
12585         * modules/assert-h (assert.h): Implement the directives.
12586         (assert.h): Substitute the symbol-prefix more consistently.
12587
12588 2011-05-29  Jim Meyering  <meyering@redhat.com>
12589
12590         trim: remove three superfluous assignments
12591         * lib/trim.c (trim2): Remove three superfluous assignments
12592         and correct brace positioning.
12593
12594 2011-05-29  Bruno Haible  <bruno@clisp.org>
12595
12596         wctype-h: Avoid namespace pollution on Solaris 2.6.
12597         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12598         identifiers.
12599         * doc/posix-headers/wctype.texi: Mention the problem.
12600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12601
12602 2011-05-28  Jim Meyering  <meyering@redhat.com>
12603
12604         parse-datetime.y: accommodate -Wstrict-overflow
12605         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12606         placate -Wstrict-overflow.
12607
12608         trim: avoid a warning from -O2 -Wstrict-overflow
12609         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12610
12611 2011-05-29  Bruno Haible  <bruno@clisp.org>
12612
12613         gnulib-tool: Fix bug in yesterday's commit.
12614         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12615         twice.
12616
12617 2011-05-29  Bruno Haible  <bruno@clisp.org>
12618
12619         Allow multiple gnulib generated include files to be combined.
12620         * gnulib-tool (func_compute_include_guard_prefix): New function.
12621         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12622         ${gl_include_guard_prefix} references.
12623         (func_import, func_create_testdir): Invoke
12624         func_compute_include_guard_prefix.
12625         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12626         * lib/ctype.in.h: Likewise.
12627         * lib/dirent.in.h: Likewise.
12628         * lib/errno.in.h: Likewise.
12629         * lib/fcntl.in.h: Likewise.
12630         * lib/float.in.h: Likewise.
12631         * lib/getopt.in.h: Likewise.
12632         * lib/iconv.in.h: Likewise.
12633         * lib/langinfo.in.h: Likewise.
12634         * lib/locale.in.h: Likewise.
12635         * lib/math.in.h: Likewise.
12636         * lib/netdb.in.h: Likewise.
12637         * lib/netinet_in.in.h: Likewise.
12638         * lib/poll.in.h: Likewise.
12639         * lib/pthread.in.h: Likewise.
12640         * lib/pty.in.h: Likewise.
12641         * lib/sched.in.h: Likewise.
12642         * lib/se-selinux.in.h: Likewise.
12643         * lib/search.in.h: Likewise.
12644         * lib/signal.in.h: Likewise.
12645         * lib/spawn.in.h: Likewise.
12646         * lib/stdarg.in.h: Likewise.
12647         * lib/stddef.in.h: Likewise.
12648         * lib/stdint.in.h: Likewise.
12649         * lib/stdio.in.h: Likewise.
12650         * lib/stdlib.in.h: Likewise.
12651         * lib/string.in.h: Likewise.
12652         * lib/strings.in.h: Likewise.
12653         * lib/sys_file.in.h: Likewise.
12654         * lib/sys_ioctl.in.h: Likewise.
12655         * lib/sys_select.in.h: Likewise.
12656         * lib/sys_socket.in.h: Likewise.
12657         * lib/sys_stat.in.h: Likewise.
12658         * lib/sys_time.in.h: Likewise.
12659         * lib/sys_times.in.h: Likewise.
12660         * lib/sys_uio.in.h: Likewise.
12661         * lib/sys_utsname.in.h: Likewise.
12662         * lib/sys_wait.in.h: Likewise.
12663         * lib/sysexits.in.h: Likewise.
12664         * lib/termios.in.h: Likewise.
12665         * lib/time.in.h: Likewise.
12666         * lib/unistd.in.h: Likewise.
12667         * lib/wchar.in.h: Likewise.
12668         * lib/wctype.in.h: Likewise.
12669         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12670         * modules/ctype (Makefile.am): Likewise.
12671         * modules/dirent (Makefile.am): Likewise.
12672         * modules/errno (Makefile.am): Likewise.
12673         * modules/fcntl-h (Makefile.am): Likewise.
12674         * modules/float (Makefile.am): Likewise.
12675         * modules/getopt-posix (Makefile.am): Likewise.
12676         * modules/iconv-h (Makefile.am): Likewise.
12677         * modules/langinfo (Makefile.am): Likewise.
12678         * modules/locale (Makefile.am): Likewise.
12679         * modules/math (Makefile.am): Likewise.
12680         * modules/netdb (Makefile.am): Likewise.
12681         * modules/netinet_in (Makefile.am): Likewise.
12682         * modules/poll-h (Makefile.am): Likewise.
12683         * modules/pthread (Makefile.am): Likewise.
12684         * modules/pty (Makefile.am): Likewise.
12685         * modules/sched (Makefile.am): Likewise.
12686         * modules/search (Makefile.am): Likewise.
12687         * modules/selinux-h (Makefile.am): Likewise.
12688         * modules/signal (Makefile.am): Likewise.
12689         * modules/spawn (Makefile.am): Likewise.
12690         * modules/stdarg (Makefile.am): Likewise.
12691         * modules/stddef (Makefile.am): Likewise.
12692         * modules/stdint (Makefile.am): Likewise.
12693         * modules/stdio (Makefile.am): Likewise.
12694         * modules/stdlib (Makefile.am): Likewise.
12695         * modules/string (Makefile.am): Likewise.
12696         * modules/strings (Makefile.am): Likewise.
12697         * modules/sys_file (Makefile.am): Likewise.
12698         * modules/sys_ioctl (Makefile.am): Likewise.
12699         * modules/sys_select (Makefile.am): Likewise.
12700         * modules/sys_socket (Makefile.am): Likewise.
12701         * modules/sys_stat (Makefile.am): Likewise.
12702         * modules/sys_time (Makefile.am): Likewise.
12703         * modules/sys_times (Makefile.am): Likewise.
12704         * modules/sys_uio (Makefile.am): Likewise.
12705         * modules/sys_utsname (Makefile.am): Likewise.
12706         * modules/sys_wait (Makefile.am): Likewise.
12707         * modules/sysexits (Makefile.am): Likewise.
12708         * modules/termios (Makefile.am): Likewise.
12709         * modules/time (Makefile.am): Likewise.
12710         * modules/unistd (Makefile.am): Likewise.
12711         * modules/wchar (Makefile.am): Likewise.
12712         * modules/wctype-h (Makefile.am): Likewise.
12713         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12714
12715 2011-05-29  Bruno Haible  <bruno@clisp.org>
12716
12717         assert-h: Allow multiple gnulib generated replacements to coexist.
12718         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12719
12720 2011-05-29  Bruno Haible  <bruno@clisp.org>
12721
12722         argp: Allow coexistence with strerror_r-posix module.
12723         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12724         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12725         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12726         not the glibc signature.
12727
12728 2011-05-28  Bruno Haible  <bruno@clisp.org>
12729
12730         gnulib-tool: Alternative structure of testdirs, similar to --import.
12731         * gnulib-tool: New option --single-configure.
12732         (func_usage): Document it.
12733         (single_configure): New variable.
12734         (func_modules_transitive_closure_separately,
12735         func_modules_transitive_closure_separately,
12736         func_determine_use_libtests, func_modules_add_dummy_separately,
12737         func_modules_to_filelist_separately): New functions, extracted from
12738         func_import.
12739         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12740         (func_import): Use the new functions.
12741         (func_create_testdir): Set final_modules. Handle $single_configure =
12742         true case.
12743
12744 2011-05-28  Bruno Haible  <bruno@clisp.org>
12745
12746         getloadavg: Remove an unreliable safety check.
12747         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12748         getloadavg.c is in place.
12749         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12750         Reported by Sam Steingold <sds@gnu.org>.
12751
12752 2011-05-28  Bruno Haible  <bruno@clisp.org>
12753
12754         doc: Cleanup yet another file produced by texinfo.tex.
12755         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12756
12757 2011-05-28  Bruno Haible  <bruno@clisp.org>
12758
12759         Finish the conditional dependencies mechanism.
12760         * gnulib-tool: New option --no-conditional-dependencies.
12761         (func_usage): Document it. Don't mark --conditional-dependencies as
12762         experimental.
12763         (cond_dependencies): The possible values can now be true, false, empty.
12764         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12765         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12766         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12767
12768 2011-05-28  Bruno Haible  <bruno@clisp.org>
12769
12770         doc: Use a recent texinfo.tex.
12771         * doc/Makefile (tex_opts): New variable.
12772         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12773
12774 2011-05-28  Jim Meyering  <meyering@redhat.com>
12775
12776         intprops.h: adjust comment to match code change
12777         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12778         only once, it *may* have side effects.  Also fix an unrelated typo.
12779         (_GL_INT_SIGNED): Likewise.
12780
12781 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12782
12783         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12784
12785 2011-05-26  Bruno Haible  <bruno@clisp.org>
12786
12787         mbsrchr: Avoid collision with system function on Interix.
12788         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12789         Reported by Markus Duft <mduft@gentoo.org>.
12790
12791 2011-05-15  James Youngman  <jay@gnu.org>
12792
12793         getopt: for ambiguous options, enumerate the possibilities.
12794         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12795         the ambiguous options when an ambiguous prefix is given. This was
12796         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12797         glibc change was
12798         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12799
12800 2011-05-25  Eric Blake  <eblake@redhat.com>
12801
12802         getcwd: work around mingw bug
12803         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12804         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12805         Reported by Matthias Bolte.
12806
12807 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12808
12809         test-intprops: disable -Wtype-limits diagnostics
12810         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12811         diagnostics.  Otherwise, the integer overflow macros generate many
12812         diagnostics.  Reported by Jim Meyering in
12813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12814
12815         intprops: shorten, to pacify gcc -Woverlength-strings
12816         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12817         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12818         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12819         likely to run afoul of C compiler limits for string constant lengths.
12820         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12821
12822 2011-05-24  Eric Blake  <eblake@redhat.com>
12823
12824         docs: document recently fixed glibc printf bug
12825         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12826         * doc/posix-functions/printf.texi (printf): Likewise.
12827         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12828         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12829
12830         closein-tests: convert to init.sh
12831         * modules/closein-tests (Files): Add init.sh
12832         * tests/test-closein.sh Use it.
12833
12834         yesno-tests: convert to init.sh
12835         * modules/yesno-tests (Files): Add init.sh.
12836         * tests/test-yesno.sh: Use it.
12837
12838         atexit-tests: ensure reliable exit status
12839         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12840         Reported by Bruno Haible.
12841
12842 2011-05-24  Bruno Haible  <bruno@clisp.org>
12843
12844         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12845         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12846         gl_PREREQ_STRERROR_R invocations from here...
12847         * modules/strerror_r-posix (configure.ac): ... to here.
12848
12849 2011-05-24  Eric Blake  <eblake@redhat.com>
12850
12851         strerror_r: fix missing header
12852         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12853
12854         strerror_r: fix AIX test failures
12855         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12856         ERANGE failure.
12857
12858         strerror_r: fix Solaris test failures
12859         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12860         failures.
12861         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12862
12863         strerror_r: enforce POSIX recommendations
12864         * lib/strerror_r.c (safe_copy): New helper method.
12865         (strerror_r): Guarantee a non-empty string.
12866         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12867         recent POSIX rulings and to match our strerror guarantees.
12868         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12869
12870 2011-05-24  Jim Meyering  <meyering@redhat.com>
12871
12872         test-perror2.c: avoid warning about unused variable
12873         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12874
12875 2011-05-24  Eric Blake  <eblake@redhat.com>
12876
12877         perror: avoid spurious test failure on HP-UX
12878         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12879
12880         tests: fix logic bug in init.sh
12881         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12882         shell.
12883
12884 2011-05-24  Jim Meyering  <meyering@redhat.com>
12885
12886         utimensat: do not reference an out-of-scope buffer
12887         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12888         declared in an inner scope, yet "times" would be dereferenced outside
12889         the scope in which "ts" was valid.
12890         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12891         of ts[2] "out/up", so that the use of aliased "times" (via
12892         "times = ts;") does not end up referencing an out-of-scope "ts"
12893
12894         opendir-safer.c: don't clobber errno; don't close negative FD
12895         * lib/opendir-safer.c (opendir_safer):
12896         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12897         file descriptor, and more importantly, don't clobber the
12898         offending errno value with EINVAL.  Before, upon failure
12899         of dup_safer, we would pass the negative file descriptor to
12900         fdopendir, which would clobber errno.
12901
12902 2011-05-23  Bruno Haible  <bruno@clisp.org>
12903
12904         idcache: Fix module description.
12905         * modules/idcache (Include): Set to "idcache.h".
12906
12907 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12908
12909         gnulib-tool: fix portability problem with MacOS sed
12910         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12911         before the "}".  Problem reported by Leo in
12912         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12913         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12914         sed_extract_condition1, sed_extract_condition2.
12915
12916 2011-05-23  Bruno Haible  <bruno@clisp.org>
12917
12918         hash: Simplify autoconf macro.
12919         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12920
12921 2011-05-23  Bruno Haible  <bruno@clisp.org>
12922
12923         getugroups: Fix module description.
12924         * modules/getugroups (Include): Set to "getugroups.h".
12925
12926 2011-05-23  Bruno Haible  <bruno@clisp.org>
12927
12928         linkat: Simplify autoconf macro.
12929         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12930
12931 2011-05-23  Bruno Haible  <bruno@clisp.org>
12932             Eric Blake  <eblake@redhat.com>
12933
12934         linkat, renameat: Update dependencies.
12935         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12936         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12937         symlinkat.
12938
12939 2011-05-23  Jim Meyering  <meyering@redhat.com>
12940
12941         maint.mk: more tight_scope improvements
12942         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12943         (_gl_TS_headers): Define only in if-0'd block.
12944         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12945         sometimes we must *not* use it.  Adjust uses accordingly.
12946         (sc_tight_scope): Use much simpler grep-based test to determine
12947         whether we skip this rule.
12948
12949         maint.mk: generalize/improve the tight-scope rule
12950         * top/maint.mk: Emit a warning when the test is skipped.
12951         (_gl_TS_dir): Add $(srcdir)/ prefix.
12952         (_gl_TS_function_match): Simplify, rather than trying
12953         to enumerate common types.  Otherwise, it would fail to match an
12954         "extern unsigned char const *" declaration in idutils.
12955         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12956         a way to support use of that type of macro.
12957         (_gl_TS_var_match): Simplify regexp.
12958         (_gl_TS_obj_files): New configurable variable.
12959         (_gl_TS_headers): Likewise.
12960
12961 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12962
12963         verify: fix bug when gnulib <assert.h> is also included
12964         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12965         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12966         Perhaps there's a better way, but this fixes the immediate problem.
12967         Problem reported by Bruno Haible in
12968         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12969
12970 2011-05-22  Bruno Haible  <bruno@clisp.org>
12971
12972         xgetcwd: Simplify autoconf macro.
12973         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12974
12975 2011-05-22  Bruno Haible  <bruno@clisp.org>
12976
12977         New module 'mktime-internal'.
12978         * modules/mktime-internal: New file.
12979         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12980         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12981         mktime_internal as a C macro if libc has __mktime_internal.
12982         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12983         conditions.
12984         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12985
12986 2011-05-22  Bruno Haible  <bruno@clisp.org>
12987
12988         timegm: Correct mktime replacement statements.
12989         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12990         defining mktime as a C macro. This completes a 2009-07-28 commit.
12991
12992 2011-05-22  Bruno Haible  <bruno@clisp.org>
12993
12994         timegm: Simplify autoconf macro.
12995         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12996
12997 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12998
12999         clock-time: change to LGPLv2+.
13000         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13001         BSD-like but we have no mark for that; this is good enough for now.
13002
13003 2011-05-21  Bruno Haible  <bruno@clisp.org>
13004
13005         strerror_r: Fix comments.
13006         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13007
13008 2011-05-21  Bruno Haible  <bruno@clisp.org>
13009
13010         relocatable-prog-wrapper: Fix possible link error.
13011         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13012         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13013         (gl_FUNC_SETENV): ... to here.
13014         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13015         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13016
13017 2011-05-21  Bruno Haible  <bruno@clisp.org>
13018
13019         relocatable-prog-wrapper: Assume strerror() exists.
13020         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13021         m4/strerror.m4.
13022         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13023         * lib/relocwrapper.c: Remove mention of strerror module.
13024         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13025         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13026         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13027         C macro.
13028
13029 2011-05-21  Bruno Haible  <bruno@clisp.org>
13030
13031         select: Simplify replacement idiom.
13032         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13033         Win32 platforms.
13034         * lib/sys_select.in.h (select): Simplify accordingly.
13035         * modules/select (Depends-on): Likewise.
13036
13037 2011-05-21  Bruno Haible  <bruno@clisp.org>
13038
13039         mkdir-p: Simplify autoconf macro.
13040         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13041         gl_FUNC_LCHOWN.
13042
13043 2011-05-21  Eric Blake  <eblake@redhat.com>
13044
13045         strerror_r: avoid clobbering strerror on cygwin
13046         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13047         fall back instead to sys_errlist.
13048         * modules/strerror (configure.ac): Add witness.
13049         * tests/test-strerror_r.c (main): Enhance test.
13050         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13051         * tests/test-perror2.c (main): Free memory before exit.
13052
13053 2011-05-21  Bruno Haible  <bruno@clisp.org>
13054
13055         mkdtemp: Use gnulib naming conventions.
13056         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13057         * modules/mkdtemp (configure.ac): Update.
13058
13059 2011-05-20  Eric Blake  <eblake@redhat.com>
13060
13061         strerror_r: avoid corrupting errno on Solaris
13062         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13063         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13064
13065         strerror_r: avoid compiler warning
13066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13067
13068         strerror_r: simplify AIX code
13069         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13070
13071         test-perror: avoid spurious failure on FreeBSD
13072         * modules/perror-tests (Depends-on): Add strerror, now that
13073         strerror_r no longer pulls it in.
13074
13075 2011-05-20  Bruno Haible  <bruno@clisp.org>
13076
13077         strerror_r-posix: Remove unused dependencies.
13078         * modules/strerror_r-posix (Depends-on): Remove strerror.
13079         Reported by Eric Blake.
13080
13081 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13082
13083         intprops: remove assumption about A|B representation
13084         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13085         is a valid integer if both A and B are.  Although this is true for
13086         all known practical hosts, the C standard doesn't guarantee it,
13087         and the code need not assume it.  Also, this change may work around
13088         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13090
13091 2011-05-20  Eric Blake  <eblake@redhat.com>
13092
13093         perror: work around FreeBSD bug
13094         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13095         is broken.  Move AC_LIBOBJ...
13096         * modules/perror (configure.ac): Here.
13097         * doc/posix-functions/perror.texi (perror): Document this.
13098         * tests/test-perror2.c (main): Enhance test.
13099
13100         test-perror: check for strerror interactions
13101         * tests/macros.h (STREQ): Add macro.
13102         * modules/perror-tests (Files): Add second test.
13103         * tests/test-perror2.c (main): New file.
13104         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13105
13106         test-perror: rewrite to use init script
13107         * modules/perror-tests (Files): Add init.sh.
13108         * tests/test-perror.sh: Use temporary directory.
13109
13110 2011-05-20  Jim Meyering  <meyering@redhat.com>
13111
13112         maint: replace misused "a" with "an"
13113         * doc/intprops.texi: "a integer"
13114         * doc/regex.texi: "a explanation"
13115         * lib/alignof.h: "a object"
13116         * lib/argmatch.h: "a explanation"
13117         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13118         * lib/stdint.in.h: "a integer"
13119         * lib/userspec.c: "a owner"
13120         * doc/gnulib.texi: Fix "a idea", and reword.
13121
13122 2011-05-19  Jim Meyering  <meyering@redhat.com>
13123
13124         maint: correct misuse of "a" and "an"
13125         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13126         * lib/argp-help.c: "an docum...": s/an/a/
13127         * lib/argp-parse.c: "An vector": s/An/A/
13128         * lib/execute.c: "an native": s/an/a/
13129         * lib/spawn-pipe.c: Likewise.
13130         * lib/gc.h: "an Gc_rc": s/an/a/
13131         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13132         * lib/fts.c: "an stat.st_dev": s/an/a/
13133
13134 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13135
13136         intprops-tests: work around HP-UX 11.23 cc bug with constants
13137         * tests/test-intprops.c (VERIFY): New macro.
13138         (main): Use it, instead of verify, to work around the compiler bug; see
13139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13140
13141         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13142         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13143         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13144         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13145         (_GL_REMAINDER_OVERFLOW): Use it.
13146
13147         intprops-tests: revert unsigned part of previous change
13148         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13149         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13150         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13151         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13152
13153 2011-05-19  Bruno Haible  <bruno@clisp.org>
13154
13155         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13156         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13157         strerror_r() returned without filling the buffer.
13158         Reported by Eric Blake.
13159
13160 2011-05-19  Eric Blake  <eblake@redhat.com>
13161
13162         strerror_r: guarantee unchanged errno
13163         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13164         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13165         failure.
13166         * tests/test-strerror_r.c (main): Enhance test.
13167
13168 2011-05-19  Bruno Haible  <bruno@clisp.org>
13169
13170         strerror_r: Reorder #if blocks.
13171         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13172         for consistency with the previous commit.
13173
13174 2011-05-19  Bruno Haible  <bruno@clisp.org>
13175
13176         perror: Avoid clobbering the strerror buffer when possible.
13177         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13178         * lib/strerror.c: Include it.
13179         * modules/strerror (Files): Add lib/strerror-impl.h.
13180         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13181         (my_strerror): New function, defined through lib/strerror-impl.h.
13182         (perror): Use it instead of strerror.
13183         * modules/perror (Files): Add lib/strerror-impl.h.
13184         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13185
13186 2011-05-19  Eric Blake  <eblake@redhat.com>
13187
13188         strerror_r: fix on newer cygwin
13189         * lib/strerror_r.c (strerror_r): Cygwin now has
13190         __xpg_strerror_r, use it.
13191
13192 2011-05-19  Bruno Haible  <bruno@clisp.org>
13193
13194         strerror_r: Avoid clobbering the strerror buffer when possible.
13195         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
13196         (sys_nerr, sys_errlist): New declarations.
13197         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
13198         HP-UX, native Win32, IRIX, and 32-bit Solaris.
13199         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
13200
13201 2011-05-19  Bruno Haible  <bruno@clisp.org>
13202
13203         strerror_r: Fix test failure on mingw.
13204         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
13205         EXTEND_STRERROR_R.
13206         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
13207         macros from errno.in.h instead.
13208
13209 2011-05-19  Eric Blake  <eblake@redhat.com>
13210
13211         strerror: relax test for Solaris
13212         * tests/test-strerror.c (main): Permit Solaris behavior.
13213         * tests/test-strerror_r.c (main): Likewise.
13214
13215         strerror: enforce POSIX ruling on strerror(0)
13216         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
13217         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13218         * lib/strerror_r.c (rpl_strerror_r): Work around it.
13219         * doc/posix-functions/strerror.texi (strerror): Document it.
13220         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
13221         * tests/test-strerror.c (main): Strengthen test.
13222         * tests/test-strerror_r.c (main): Likewise.
13223
13224 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13225
13226         intprop-tests: port to older and more-pedantic compilers
13227         * modules/intprops-tests (Files): Add tests/macros.h.
13228         * tests/test-intprops.c: Include macros.h.
13229         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
13230         it's no longer documented to expand to an integer constant expression.
13231         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
13232         argument is floating point, as it's no longer documented to expand
13233         to an integer constant expression in that case.
13234         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
13235         compiler bugs reported by Bruno Haible.  See
13236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13237         (U0, U1): New constants, to work around the same bugs.  Also,
13238         in tests, use e.g., "(unsigned int) 39" rather than "39u".
13239
13240         intprops: work around C compiler bugs
13241         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
13242         bug in Sun C 5.11 2010/08/13 and other compilers; see
13243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13244
13245         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
13246         * doc/intprops.texi (Integer Type Determination): Fix
13247         documentation for TYPE_IS_INTEGER: it returns an constant
13248         expression, not an integer constant expression.  Fix doc for
13249         TYPE_SIGNED: it returns an integer constant expression only if its
13250         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
13251         hardly worth documented that way....)
13252
13253 2011-05-18  Bruno Haible  <bruno@clisp.org>
13254
13255         strerror_r: Avoid clobbering the strerror buffer when possible.
13256         * lib/strerror_r.c (strerror_r): Merge the three implementations.
13257         Handle gnulib defined errno values here. When strerror() returns NULL
13258         or an empty string, return EINVAL.
13259         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
13260         gnulib defined errno values here.
13261         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
13262
13263 2011-05-18  Eric Blake  <eblake@redhat.com>
13264
13265         fnmatch: avoid compiler warning
13266         * lib/fnmatch_loop.c (FCT): Use correct type.
13267         Reported by Matthias Bolte.
13268
13269 2011-05-13  Jim Meyering  <meyering@redhat.com>
13270
13271         maint.mk: three new prohibit_<HDR>_without_use rules
13272         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
13273         (sc_prohibit_stdio-safer_without_use): Likewise.
13274         (sc_prohibit_xfreopen_without_use): Likewise.
13275
13276 2011-05-17  Jim Meyering  <meyering@redhat.com>
13277
13278         announce-gen: fail if the NEWS delta is empty
13279         If there's nothing noteworthy in NEWS, then either you forgot
13280         or you shouldn't be releasing.
13281         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
13282
13283 2011-05-17  Pádraig Brady <P@draigBrady.com>
13284
13285         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
13286         reserved symbols starting with double underscore from the check.
13287
13288 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13289
13290         intprops: add doc
13291         * doc/intprops.texi: New file, documenting intprops.
13292         * doc/gnulib.texi (Particular Modules): Include it.
13293
13294         verify: add doc to gnulib manual and fix example
13295         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
13296         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
13297         (Compile-time Assertions): Fix example so it can't overflow.
13298
13299 2011-05-17  Jim Meyering  <meyering@redhat.com>
13300
13301         warnings.m4: don't usurp save_CPPFLAGS variable name
13302         * m4/warnings.m4: Prefix local temporary variable name with gl_.
13303
13304         doc: fix typo
13305         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
13306
13307 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13308             Bruno Haible  <bruno@clisp.org>
13309
13310         doc: Tweak recent change.
13311         * README (Portability guidelines): Tweak new text.
13312         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13313         Interix 6.1.
13314
13315 2011-05-16  Eric Blake  <eblake@redhat.com>
13316
13317         inttypes: avoid autoconf warning
13318         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13319         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13320
13321 2011-05-16  Sam Steingold <sds@gnu.org>
13322         and Eric Blake  <eblake@redhat.com>
13323
13324         vc-list-files: accept multiple directory operands
13325         * build-aux/vc-list-files: Iterate over all remaining operands.
13326
13327 2011-05-16  Bruno Haible  <bruno@clisp.org>
13328
13329         Fix confusion regarding deprecated modules.
13330         * modules/calloc (Status, Notice): Mark module as deprecated, not
13331         obsolete.
13332         * modules/fnmatch-posix (Status, Notice): Likewise.
13333         * modules/getdate (Status, Notice): Likewise.
13334         * modules/getopt (Status, Notice): Likewise.
13335         * modules/malloc (Status, Notice): Likewise.
13336         * modules/pipe (Status, Notice): Likewise.
13337         * modules/realloc (Status, Notice): Likewise.
13338         * modules/rename-dest-slash (Status, Notice): Likewise.
13339         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13340         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13341         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13342         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13343         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13344
13345 2011-05-16  Bruno Haible  <bruno@clisp.org>
13346
13347         doc: List the target platforms.
13348         * doc/gnulib-intro.texi (Target Platforms): New section.
13349         * doc/gnulib.texi (Introduction): Update menu.
13350         * README (Portability guidelines): Refer to the new section. Update
13351         statement about oldest supported environment. Remove rationale why
13352         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13353         unportable C89 function.
13354         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13355         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13356
13357 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13358
13359         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
13360
13361 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13362
13363         intprops-tests: new module
13364         * modules/intprops-tests, tests/test-intprops.c: New files.
13365
13366         intprops: add safe, portable integer overflow checking
13367         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
13368         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
13369         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
13370         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
13371         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
13372         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
13373         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
13374         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
13375         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13376         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
13377         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13378
13379 2011-05-12  James Youngman  <jay@gnu.org>
13380
13381         Add a test for glibc's Bugzilla bug #12378.
13382         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13383         doesn't allow the literal matching of a lone "[" (which is
13384         required by POSIX).
13385         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13386
13387 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13388
13389         Sync glibc change fixing Bugzilla bug #12378.
13390         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13391         beginning and fall back to matching as normal character if the
13392         string ends before the matching ']' is found.  This is what POSIX
13393         requires.
13394
13395 2011-05-13  Eric Blake  <eblake@redhat.com>
13396
13397         getcwd-lgpl: relax test for FreeBSD
13398         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13399         issue.
13400         * tests/test-getcwd-lgpl.c (main): Relax test.
13401         Reported by Matthias Bolte.
13402
13403 2011-05-11  Eric Blake  <eblake@redhat.com>
13404
13405         test-fflush: silence compiler warning
13406         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13407
13408 2011-05-11  Bruno Haible  <bruno@clisp.org>
13409
13410         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13411         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13412         * modules/canonicalize (Depends-on): Add 'nocrash'.
13413         * modules/canonicalize-lgpl (Depends-on): Likewise.
13414         * doc/posix-functions/realpath.texi: Update platforms list.
13415         Reported by Ryan Schmidt <ryandesign@macports.org>.
13416
13417 2011-05-11  Bruno Haible  <bruno@clisp.org>
13418
13419         group-member: Declare function in <unistd.h>.
13420         * lib/unistd.in.h (group_member): New declaration.
13421         * lib/group-member.h: Remove file.
13422         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
13423         * tests/test-unistd-c++.cc: Check signature of group_member.
13424         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
13425         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
13426         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
13427         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
13428         HAVE_GROUP_MEMBER.
13429         * modules/group-member (Files): Remove lib/group-member.h.
13430         (Depends-on): Add unistd. Specify conditions.
13431         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13432         (Include): Change to <unistd.h>.
13433         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
13434         HAVE_GROUP_MEMBER.
13435         * NEWS: Mention the change.
13436         * lib/euidaccess.c: Don't include group-member.h.
13437
13438 2011-05-11  Bruno Haible  <bruno@clisp.org>
13439
13440         group-member: Document module.
13441         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
13442         module.
13443
13444 2011-05-11  Bruno Haible  <bruno@clisp.org>
13445
13446         fclose: Fix mistake earlier today.
13447         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
13448
13449 2011-05-11  Eric Blake  <eblake@redhat.com>
13450
13451         fclose: preserve fflush errors
13452         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
13453         Reported by Jim Meyering.
13454
13455         bootstrap: support a prereq of 'rpcgen -' on RHEL5
13456         * build-aux/bootstrap (check_versions): When no specific version
13457         is required, merely check that the app produces an exit status
13458         that indicates its existence.
13459
13460         maint.mk: drop redundant check
13461         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
13462         the same but better.
13463
13464 2011-05-11  Bruno Haible  <bruno@clisp.org>
13465
13466         fclose: Fix possible link error.
13467         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
13468         unregister_shadow_fd. Improve comments.
13469         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
13470         Eric Blake.
13471
13472 2011-05-11  Jim Meyering  <meyering@redhat.com>
13473
13474         maint.mk: improve "can not" detection and generalize rule name
13475         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
13476         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
13477         Use the same technique as in sc_prohibit_doubled_word, so that
13478         we recognize "can not" also when the words are separated by a newline.
13479         Suggested by Eric Blake.
13480         (perl_filename_lineno_text_): Define.  Factored out of...
13481         (prohibit_doubled_word_): ...here.  Use the new definition.
13482         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13483         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13484         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13485
13486 2011-05-10  Eric Blake  <eblake@redhat.com>
13487
13488         fclose: avoid double close race when possible
13489         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13490         all but WINDOWS_SOCKETS.
13491
13492 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13493
13494         openat: correct new comment
13495         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13496
13497 2011-05-10  Jim Meyering  <meyering@redhat.com>
13498
13499         openat: add comments
13500         * lib/openat-proc.c (openat_proc_name): Add comments,
13501         mostly from Eric Blake.
13502
13503 2011-05-09  Eric Blake  <eblake@redhat.com>
13504
13505         openat: reduce syscalls in first probe of /proc
13506         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13507         be a directory.  Simplify the probe for .. bugs.
13508         * modules/openat (Depends-on): Drop same-inode.
13509         Reported by Bastien ROUCARIES.
13510
13511 2011-05-09  Jim Meyering  <meyering@redhat.com>
13512
13513         maint.mk: change semantics/name of tight_scope variables
13514         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13515         Rename variables to align with semantics that make them more useful.
13516
13517         maint.mk: tweak new rule's name not to impinge
13518         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13519         (sc_tight_scope): Use new rule name rather than $@-0.
13520
13521         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13522         * top/maint.mk (sc_tight_scope): New rule.
13523         (sc_tight_scope-0): New rule, ifdef'd out.
13524         (_gl_TS_dir): Default.
13525         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13526         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13527
13528 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13529
13530         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13531         Haible <bruno@clisp.org>.
13532
13533 2011-05-08  Bruno Haible  <bruno@clisp.org>
13534
13535         Comments.
13536         * m4/isnanf.m4: Add comment.
13537         * m4/isnanl.m4: Likewise.
13538
13539 2011-05-08  Bruno Haible  <bruno@clisp.org>
13540
13541         glob: Remove obsolete macro.
13542         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13543
13544 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13545
13546         intprops: Sun C 5.11 supports __typeof__
13547         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13548         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13549         which is new.
13550         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13551
13552         intprops: switch to usual gnulib indenting and naming
13553         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13554         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13555
13556         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13557
13558 2011-05-08  Jim Meyering  <meyering@redhat.com>
13559
13560         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13561         * top/maint.mk (release-prep): Use make's --no-print-directory
13562         option when generating the announcement.  This eliminates the
13563         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13564         generated announcement template.
13565
13566 2011-05-08  Bruno Haible  <bruno@clisp.org>
13567
13568         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13569         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13570         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13571
13572 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13573
13574         ignore-value, verify: Omit include files from lib_SOURCES.
13575         * modules/ignore-value, modules/verify (Makefile.am):
13576         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13577         that leads Automake to duplicate use of am__objects_... variables
13578         in Makefile.in.  See
13579         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13580
13581 2011-05-07  Bruno Haible  <bruno@clisp.org>
13582
13583         fclose: Simplify autoconf macro.
13584         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13585         defined.
13586
13587 2011-05-07  Bruno Haible  <bruno@clisp.org>
13588
13589         canonicalize-lgpl: Fix autoconf macro ordering bug.
13590         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13591         gl_STDLIB_H_DEFAULTS.
13592
13593 2011-05-06  Eric Blake  <eblake@redhat.com>
13594
13595         maintainer-makefile: make sc_po_check easier to tune
13596         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13597         to probe for strings, such as an alternate location for gnulib.
13598
13599         fclose: guarantee behavior on seekable stdin
13600         * modules/fclose (Depends-on): Add fflush.
13601         * doc/posix-functions/fclose.texi (fclose): Document this.
13602         * tests/test-fclose.c (main): Make test for this unconditional.
13603
13604 2011-05-06  Bruno Haible  <bruno@clisp.org>
13605
13606         fflush, fpurge: Relicense under LGPLv2+.
13607         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13608         * modules/fpurge (License): Likewise.
13609         With permission from Eric Blake and Jim Meyering.
13610         Suggested by Eric Blake.
13611
13612 2011-05-06  Karl Berry  <karl@gnu.org>
13613
13614         * MODULES.html.sh (func_all_modules): remove exit.
13615
13616 2011-05-06  Jim Meyering  <meyering@redhat.com>
13617
13618         maint.mk: use info-gnu@ as the default only for a stable release
13619         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13620         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13621         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13622         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13623
13624 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13625
13626         assert-h: new module, which supports C1X-style static_assert
13627         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13628         * lib/verify.h: Revamp so that this can be copied into assert.h,
13629         while retaining the ability to use it standalone as before.
13630         Rename private identifiers so as not to encroach on the
13631         standard C namespace, since this is now used by assert.h.
13632         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13633         the old verify_true.
13634         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13635         the old verify_true.  Use _GL_VERIFY_TYPE.
13636         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13637         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13638         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13639         defined when this file is copied into the replacement assert.h.
13640         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13641         and _Static_assert is not built in.
13642         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13643         defined, and use the new macros mentioned above.
13644         * doc/posix-headers/assert.texi: Document this.
13645
13646 2011-05-05  Bruno Haible  <bruno@clisp.org>
13647
13648         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13649         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13650         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13651         gl_REPLACE_FCLOSE here.
13652         * modules/fflush (Depends-on): Remove fclose.
13653         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13654         combination with module 'fclose'.
13655
13656 2011-05-05  Bruno Haible  <bruno@clisp.org>
13657
13658         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13659         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13660         gl_FUNC_FFLUSH.
13661         (gl_FUNC_FFLUSH): Use it.
13662         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13664         gl_REPLACE_FSEEKO here.
13665
13666 2011-05-05  Bruno Haible  <bruno@clisp.org>
13667
13668         tzset: Relicense under LGPL.
13669         * modules/tzset (License): Change to LGPL.
13670         No agreement needed; it's a no-op.
13671
13672         strtoimax, strtoumax: Relicense under LGPL.
13673         * modules/strtoimax (License): Change to LGPL.
13674         * modules/strtoumax (License): Likewise.
13675         With permission from Jim Meyering, Paul Eggert:
13676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13677         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13678
13679         getgroups: Relicense under LGPL.
13680         * modules/getgroups (License): Change to LGPL.
13681         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13683         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13685
13686         nanosleep: Relicense under LGPL.
13687         * modules/nanosleep (License): Change to LGPL.
13688         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13689         Haible:
13690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13694
13695         futimens: Relicense under LGPL.
13696         * modules/futimens (License): Change to LGPL.
13697         With permission from Eric Blake:
13698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13699
13700         fflush: Relicense under LGPL.
13701         * modules/fflush (License): Change to LGPL.
13702         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13703         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13704         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13706
13707         tmpfile: Relicense under LGPL.
13708         * modules/tmpfile (License): Change to LGPL.
13709         With permission from Ben Pfaff:
13710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13711
13712         isfinite: Relicense under LGPL.
13713         * modules/isfinite (License): Change to LGPL.
13714         With permission from Ben Pfaff, Bruno Haible:
13715         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13717
13718         acosl..tanl: Relicense under LGPL.
13719         * modules/acosl (License): Change to LGPL.
13720         * modules/asinl (License): Likewise.
13721         * modules/atanl (License): Likewise.
13722         * modules/cosl (License): Likewise.
13723         * modules/expl (License): Likewise.
13724         * modules/logl (License): Likewise.
13725         * modules/sinl (License): Likewise.
13726         * modules/sqrtl (License): Likewise.
13727         * modules/tanl (License): Likewise.
13728         Source code originally from glibc and Paolo Bonzini. Agreements:
13729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13731
13732 2011-05-05  Bruno Haible  <bruno@clisp.org>
13733
13734         signal: Define sighandler_t.
13735         * lib/signal.in.h (sighandler_t): New type.
13736         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13737         whether sighandler_t is defined.
13738         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13739         * modules/signal (Depends-on): Add extensions.
13740         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13741         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13742         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13743
13744 2011-05-05  Eric Blake  <eblake@redhat.com>
13745
13746         maint: remove useless REPLACE_*_H macros
13747         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13748         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13749         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13750         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13751         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13752         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13753         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13754         * m4/btowc.m4: Update callers.
13755         * m4/dirfd.m4: Likewise.
13756         * m4/duplocale.m4: Likewise.
13757         * m4/fchdir.m4: Likewise.
13758         * m4/fdopendir.m4: Likewise.
13759         * m4/inet_ntop.m4: Likewise.
13760         * m4/inet_pton.m4: Likewise.
13761         * m4/ioctl.m4: Likewise.
13762         * m4/mbrlen.m4: Likewise.
13763         * m4/mbrtowc.m4: Likewise.
13764         * m4/mbsinit.m4: Likewise.
13765         * m4/mbsnrtowcs.m4: Likewise.
13766         * m4/mbsrtowcs.m4: Likewise.
13767         * m4/poll.m4: Likewise.
13768         * m4/setlocale.m4: Likewise.
13769         * m4/wcrtomb.m4: Likewise.
13770         * m4/wcsnrtombs.m4: Likewise.
13771         * m4/wcsrtombs.m4: Likewise.
13772         * m4/wctob.m4: Likewise.
13773         * m4/wcwidth.m4: Likewise.
13774         * modules/posix_spawn: Likewise.
13775         * modules/posix_spawn_file_actions_addclose: Likewise.
13776         * modules/posix_spawn_file_actions_adddup2: Likewise.
13777         * modules/posix_spawn_file_actions_addopen: Likewise.
13778         * modules/posix_spawn_file_actions_destroy: Likewise.
13779         * modules/posix_spawn_file_actions_init: Likewise.
13780         * modules/posix_spawnattr_destroy: Likewise.
13781         * modules/posix_spawnattr_getflags: Likewise.
13782         * modules/posix_spawnattr_getpgroup: Likewise.
13783         * modules/posix_spawnattr_getschedparam: Likewise.
13784         * modules/posix_spawnattr_getschedpolicy: Likewise.
13785         * modules/posix_spawnattr_getsigdefault: Likewise.
13786         * modules/posix_spawnattr_getsigmask: Likewise.
13787         * modules/posix_spawnattr_init: Likewise.
13788         * modules/posix_spawnattr_setflags: Likewise.
13789         * modules/posix_spawnattr_setpgroup: Likewise.
13790         * modules/posix_spawnattr_setschedparam: Likewise.
13791         * modules/posix_spawnattr_setschedpolicy: Likewise.
13792         * modules/posix_spawnattr_setsigdefault: Likewise.
13793         * modules/posix_spawnattr_setsigmask: Likewise.
13794         * modules/posix_spawnp: Likewise.
13795
13796 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13797
13798         Add option to do-release-commit-and-tag to specify branch.
13799         * build-aux/do-release-commit-and-tag: Add --branch.
13800
13801 2011-05-03  Bruno Haible  <bruno@clisp.org>
13802
13803         Avoid unnecessary compilation units, through conditional dependencies.
13804         * modules/accept (Depends-on): Add conditions to the dependencies.
13805         * modules/acosl (Depends-on): Likewise.
13806         * modules/argz (Depends-on): Likewise.
13807         * modules/asinl (Depends-on): Likewise.
13808         * modules/atanl (Depends-on): Likewise.
13809         * modules/atoll (Depends-on): Likewise.
13810         * modules/bind (Depends-on): Likewise.
13811         * modules/btowc (Depends-on): Likewise.
13812         * modules/canonicalize-lgpl (Depends-on): Likewise.
13813         * modules/ceil (Depends-on): Likewise.
13814         * modules/ceilf (Depends-on): Likewise.
13815         * modules/ceill (Depends-on): Likewise.
13816         * modules/chdir-long (Depends-on): Likewise.
13817         * modules/chown (Depends-on): Likewise.
13818         * modules/close (Depends-on): Likewise.
13819         * modules/connect (Depends-on): Likewise.
13820         * modules/cosl (Depends-on): Likewise.
13821         * modules/dirfd (Depends-on): Likewise.
13822         * modules/dprintf (Depends-on): Likewise.
13823         * modules/dprintf-posix (Depends-on): Likewise.
13824         * modules/error (Depends-on): Likewise.
13825         * modules/euidaccess (Depends-on): Likewise.
13826         * modules/expl (Depends-on): Likewise.
13827         * modules/faccessat (Depends-on): Likewise.
13828         * modules/fchdir (Depends-on): Likewise.
13829         * modules/fclose (Depends-on): Likewise.
13830         * modules/fcntl (Depends-on): Likewise.
13831         * modules/fdopendir (Depends-on): Likewise.
13832         * modules/fflush (Depends-on): Likewise.
13833         * modules/floor (Depends-on): Likewise.
13834         * modules/floorf (Depends-on): Likewise.
13835         * modules/floorl (Depends-on): Likewise.
13836         * modules/fnmatch (Depends-on): Likewise.
13837         * modules/fopen (Depends-on): Likewise.
13838         * modules/fprintf-posix (Depends-on): Likewise.
13839         * modules/frexp (Depends-on): Likewise.
13840         * modules/frexp-nolibm (Depends-on): Likewise.
13841         * modules/frexpl (Depends-on): Likewise.
13842         * modules/frexpl-nolibm (Depends-on): Likewise.
13843         * modules/fseek (Depends-on): Likewise.
13844         * modules/fsusage (Depends-on): Likewise.
13845         * modules/ftell (Depends-on): Likewise.
13846         * modules/ftello (Depends-on): Likewise.
13847         * modules/futimens (Depends-on): Likewise.
13848         * modules/getcwd (Depends-on): Likewise.
13849         * modules/getcwd-lgpl (Depends-on): Likewise.
13850         * modules/getdelim (Depends-on): Likewise.
13851         * modules/getdomainname (Depends-on): Likewise.
13852         * modules/getgroups (Depends-on): Likewise.
13853         * modules/gethostname (Depends-on): Likewise.
13854         * modules/getline (Depends-on): Likewise.
13855         * modules/getlogin_r (Depends-on): Likewise.
13856         * modules/getopt-posix (Depends-on): Likewise.
13857         * modules/getpeername (Depends-on): Likewise.
13858         * modules/getsockname (Depends-on): Likewise.
13859         * modules/getsockopt (Depends-on): Likewise.
13860         * modules/getsubopt (Depends-on): Likewise.
13861         * modules/getusershell (Depends-on): Likewise.
13862         * modules/glob (Depends-on): Likewise.
13863         * modules/grantpt (Depends-on): Likewise.
13864         * modules/iconv_open (Depends-on): Likewise.
13865         * modules/iconv_open-utf (Depends-on): Likewise.
13866         * modules/inet_ntop (Depends-on): Likewise.
13867         * modules/inet_pton (Depends-on): Likewise.
13868         * modules/ioctl (Depends-on): Likewise.
13869         * modules/isapipe (Depends-on): Likewise.
13870         * modules/isfinite (Depends-on): Likewise.
13871         * modules/isinf (Depends-on): Likewise.
13872         * modules/lchown (Depends-on): Likewise.
13873         * modules/ldexpl (Depends-on): Likewise.
13874         * modules/link (Depends-on): Likewise.
13875         * modules/linkat (Depends-on): Likewise.
13876         * modules/listen (Depends-on): Likewise.
13877         * modules/logl (Depends-on): Likewise.
13878         * modules/lstat (Depends-on): Likewise.
13879         * modules/mbrlen (Depends-on): Likewise.
13880         * modules/mbrtowc (Depends-on): Likewise.
13881         * modules/mbsinit (Depends-on): Likewise.
13882         * modules/mbsnrtowcs (Depends-on): Likewise.
13883         * modules/mbsrtowcs (Depends-on): Likewise.
13884         * modules/mbtowc (Depends-on): Likewise.
13885         * modules/memcmp (Depends-on): Likewise.
13886         * modules/mkdir (Depends-on): Likewise.
13887         * modules/mkdtemp (Depends-on): Likewise.
13888         * modules/mkfifo (Depends-on): Likewise.
13889         * modules/mkfifoat (Depends-on): Likewise.
13890         * modules/mknod (Depends-on): Likewise.
13891         * modules/mkostemp (Depends-on): Likewise.
13892         * modules/mkostemps (Depends-on): Likewise.
13893         * modules/mkstemp (Depends-on): Likewise.
13894         * modules/mkstemps (Depends-on): Likewise.
13895         * modules/mktime (Depends-on): Likewise.
13896         * modules/nanosleep (Depends-on): Likewise.
13897         * modules/open (Depends-on): Likewise.
13898         * modules/openat (Depends-on): Likewise.
13899         * modules/perror (Depends-on): Likewise.
13900         * modules/poll (Depends-on): Likewise.
13901         * modules/popen (Depends-on): Likewise.
13902         * modules/posix_spawn (Depends-on): Likewise.
13903         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13904         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13905         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13906         * modules/posix_spawnp (Depends-on): Likewise.
13907         * modules/pread (Depends-on): Likewise.
13908         * modules/printf-posix (Depends-on): Likewise.
13909         * modules/ptsname (Depends-on): Likewise.
13910         * modules/putenv (Depends-on): Likewise.
13911         * modules/pwrite (Depends-on): Likewise.
13912         * modules/readline (Depends-on): Likewise.
13913         * modules/readlink (Depends-on): Likewise.
13914         * modules/readlinkat (Depends-on): Likewise.
13915         * modules/recv (Depends-on): Likewise.
13916         * modules/recvfrom (Depends-on): Likewise.
13917         * modules/regex (Depends-on): Likewise.
13918         * modules/remove (Depends-on): Likewise.
13919         * modules/rename (Depends-on): Likewise.
13920         * modules/renameat (Depends-on): Likewise.
13921         * modules/rmdir (Depends-on): Likewise.
13922         * modules/round (Depends-on): Likewise.
13923         * modules/roundf (Depends-on): Likewise.
13924         * modules/roundl (Depends-on): Likewise.
13925         * modules/rpmatch (Depends-on): Likewise.
13926         * modules/select (Depends-on): Likewise.
13927         * modules/send (Depends-on): Likewise.
13928         * modules/sendto (Depends-on): Likewise.
13929         * modules/setenv (Depends-on): Likewise.
13930         * modules/setlocale (Depends-on): Likewise.
13931         * modules/setsockopt (Depends-on): Likewise.
13932         * modules/shutdown (Depends-on): Likewise.
13933         * modules/sigaction (Depends-on): Likewise.
13934         * modules/signbit (Depends-on): Likewise.
13935         * modules/sigprocmask (Depends-on): Likewise.
13936         * modules/sinl (Depends-on): Likewise.
13937         * modules/sleep (Depends-on): Likewise.
13938         * modules/snprintf (Depends-on): Likewise.
13939         * modules/snprintf-posix (Depends-on): Likewise.
13940         * modules/socket (Depends-on): Likewise.
13941         * modules/sprintf-posix (Depends-on): Likewise.
13942         * modules/sqrtl (Depends-on): Likewise.
13943         * modules/stat (Depends-on): Likewise.
13944         * modules/strchrnul (Depends-on): Likewise.
13945         * modules/strdup-posix (Depends-on): Likewise.
13946         * modules/strerror (Depends-on): Likewise.
13947         * modules/strerror_r-posix (Depends-on): Likewise.
13948         * modules/strndup (Depends-on): Likewise.
13949         * modules/strnlen (Depends-on): Likewise.
13950         * modules/strptime (Depends-on): Likewise.
13951         * modules/strsep (Depends-on): Likewise.
13952         * modules/strsignal (Depends-on): Likewise.
13953         * modules/strstr-simple (Depends-on): Likewise.
13954         * modules/strtod (Depends-on): Likewise.
13955         * modules/strtoimax (Depends-on): Likewise.
13956         * modules/strtok_r (Depends-on): Likewise.
13957         * modules/strtoumax (Depends-on): Likewise.
13958         * modules/symlink (Depends-on): Likewise.
13959         * modules/symlinkat (Depends-on): Likewise.
13960         * modules/tanl (Depends-on): Likewise.
13961         * modules/tcgetsid (Depends-on): Likewise.
13962         * modules/tmpfile (Depends-on): Likewise.
13963         * modules/trunc (Depends-on): Likewise.
13964         * modules/truncf (Depends-on): Likewise.
13965         * modules/truncl (Depends-on): Likewise.
13966         * modules/uname (Depends-on): Likewise.
13967         * modules/unlink (Depends-on): Likewise.
13968         * modules/unlockpt (Depends-on): Likewise.
13969         * modules/unsetenv (Depends-on): Likewise.
13970         * modules/usleep (Depends-on): Likewise.
13971         * modules/utimensat (Depends-on): Likewise.
13972         * modules/vasprintf (Depends-on): Likewise.
13973         * modules/vdprintf (Depends-on): Likewise.
13974         * modules/vdprintf-posix (Depends-on): Likewise.
13975         * modules/vfprintf-posix (Depends-on): Likewise.
13976         * modules/vprintf-posix (Depends-on): Likewise.
13977         * modules/vsnprintf (Depends-on): Likewise.
13978         * modules/vsnprintf-posix (Depends-on): Likewise.
13979         * modules/vsprintf-posix (Depends-on): Likewise.
13980         * modules/wcrtomb (Depends-on): Likewise.
13981         * modules/wcscasecmp (Depends-on): Likewise.
13982         * modules/wcscspn (Depends-on): Likewise.
13983         * modules/wcsdup (Depends-on): Likewise.
13984         * modules/wcsncasecmp (Depends-on): Likewise.
13985         * modules/wcsnrtombs (Depends-on): Likewise.
13986         * modules/wcspbrk (Depends-on): Likewise.
13987         * modules/wcsrtombs (Depends-on): Likewise.
13988         * modules/wcsspn (Depends-on): Likewise.
13989         * modules/wcsstr (Depends-on): Likewise.
13990         * modules/wcstok (Depends-on): Likewise.
13991         * modules/wcswidth (Depends-on): Likewise.
13992         * modules/wctob (Depends-on): Likewise.
13993         * modules/wctomb (Depends-on): Likewise.
13994         * modules/wctype (Depends-on): Likewise.
13995         * modules/wcwidth (Depends-on): Likewise.
13996         * modules/write (Depends-on): Likewise.
13997
13998 2011-05-03  Bruno Haible  <bruno@clisp.org>
13999
14000         Support for conditional dependencies.
14001         * doc/gnulib.texi (Module description): Document the syntax of
14002         conditional dependencies.
14003         * gnulib-tool: New option --conditional-dependencies.
14004         (func_usage): Document it.
14005         (cond_dependencies): New variable.
14006         (func_get_automake_snippet_conditional,
14007         func_get_automake_snippet_unconditional): New functions, extracted from
14008         func_get_automake_snippet.
14009         (func_get_automake_snippet): Use them.
14010         (sed_first_32_chars): New variable.
14011         (func_module_shellfunc_name): New function.
14012         (func_module_shellvar_name): New function.
14013         (func_module_conditional_name): New function.
14014         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14015         func_cond_module_condition): New functions.
14016         (func_modules_transitive_closure): Add support for conditional
14017         dependencies.
14018         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14019         conditional automake snippet in an automake conditional.
14020         (func_emit_autoconf_snippets): Emit shell functions that contain the
14021         code for conditional modules.
14022         (func_import, func_create_testdir): Update specification.
14023
14024 2011-05-03  Eric Blake  <eblake@redhat.com>
14025
14026         test-getaddrinfo: report error information
14027         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14028
14029 2011-05-03  Jim Meyering  <meyering@redhat.com>
14030
14031         bootstrap: avoid build failure when $GZIP is set
14032         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14033         program name.  If defined at all, it is supposed to list gzip options.
14034         Reported by Alan Curry in http://debbugs.gnu.org/8609
14035
14036 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14037
14038         readme-release: new module with release instructions
14039         * modules/readme-release: New module.
14040         * top/README-release: New file, from coreutils, grep, diffutils.
14041         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14042
14043 2011-05-02  Eric Blake  <eblake@redhat.com>
14044
14045         fflush: also replace fclose when fixing fflush
14046         * modules/fflush (Depends-on): Add fclose.
14047         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14048         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14049         memstreams with no backing fd.
14050         * doc/posix-functions/fclose.texi (fclose): Document the use of
14051         fflush module to fix the bug.
14052         * tests/test-fclose.c (main): Relax test when fclose is used in
14053         isolation.
14054
14055         fclose: add some tests
14056         * modules/fclose-tests: New test module.
14057         * tests/test-fclose.c: New file.
14058         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14059
14060         fclose: reduced dependencies
14061         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14062         simpler lseek.
14063         * lib/fclose.c (rpl_fclose): Likewise.
14064         Reported by Simon Josefsson.
14065
14066         exit: drop remaining clients
14067         * modules/argmatch (Depends-on): Replace exit with stdlib.
14068         * modules/copy-file (Depends-on): Likewise.
14069         * modules/execute (Depends-on): Likewise.
14070         * modules/exitfail (Depends-on): Likewise.
14071         * modules/obstack (Depends-on): Likewise.
14072         * modules/pagealign_alloc (Depends-on): Likewise.
14073         * modules/pipe-filter-gi (Depends-on): Likewise.
14074         * modules/pipe-filter-ii (Depends-on): Likewise.
14075         * modules/savewd (Depends-on): Likewise.
14076         * modules/spawn-pipe (Depends-on): Likewise.
14077         * modules/wait-process (Depends-on): Likewise.
14078         * modules/xsetenv (Depends-on): Likewise.
14079         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14080         * modules/git-merge-changelog (Depends-on): Likewise.
14081         * modules/long-options (Depends-on): Likewise.
14082         * modules/pt_chown (Depends-on): Likewise.
14083         * modules/sysexits (Depends-on): Likewise.
14084
14085         freading: relax license from LGPLv3+ to LGPLv2+
14086         * modules/freading (License): Relax LGPL version.
14087
14088 2011-05-02  Bruno Haible  <bruno@clisp.org>
14089
14090         fchdir: Remove unused dependencies.
14091         * modules/fchdir (Depends-on): Remove include_next.
14092
14093 2011-05-02  Bruno Haible  <bruno@clisp.org>
14094
14095         gnulib-tool: Refactor.
14096         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14097         from func_emit_autoconf_snippets.
14098         (func_emit_autoconf_snippets): Use it.
14099
14100 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14101
14102         * NEWS: Document removal of 'exit'.
14103         * modules/exit: Remove file.
14104
14105 2011-05-01  Bruno Haible  <bruno@clisp.org>
14106
14107         Update DEPENDENCIES.
14108         * DEPENDENCIES (gettext): Recommend the newest release.
14109         Reported by Simon Josefsson.
14110
14111 2011-05-01  Bruno Haible  <bruno@clisp.org>
14112
14113         gnulib-tool: Reduce code duplication.
14114         * gnulib-tool (func_emit_autoconf_snippets): New function.
14115         (func_import, func_create_testdir): Use it.
14116
14117 2011-04-30  Eric Blake  <eblake@redhat.com>
14118
14119         fclose: don't fail on non-seekable input stream
14120         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14121         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14122         since fflush is allowed to fail in that case.
14123
14124 2011-04-30  Bruno Haible  <bruno@clisp.org>
14125
14126         dup3: cleanup
14127         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14128
14129 2011-04-30  Bruno Haible  <bruno@clisp.org>
14130
14131         netdb: Make it work in C++ mode.
14132         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14133         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14134         module.
14135         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14136         gl_MODULE_INDICATOR_FOR_TESTS.
14137         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14138         * modules/netdb-c++-tests: New file.
14139         * tests/test-netdb-c++.cc: New file.
14140
14141 2011-04-30  Bruno Haible  <bruno@clisp.org>
14142
14143         New modules 'vfscanf', 'vscanf'.
14144         * modules/vfscanf: New file.
14145         * modules/vscanf: New file.
14146         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14147         here.
14148         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14149         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14150
14151 2011-04-30  Bruno Haible  <bruno@clisp.org>
14152
14153         passfd: Add comments.
14154         * lib/passfd.c: Add comments about platforms.
14155
14156 2011-04-30  Bruno Haible  <bruno@clisp.org>
14157
14158         sys_uio: Make <sys/uio.h> self-contained.
14159         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14160         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14161
14162 2011-04-30  Bruno Haible  <bruno@clisp.org>
14163
14164         sys_socket: Ensure 'struct iovec' definition.
14165         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14166         <sys/socket.h>.
14167         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14168
14169 2011-04-30  Bruno Haible  <bruno@clisp.org>
14170
14171         sys_uio: Protect definition of 'struct iovec'.
14172         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14173         it as a C struct.
14174
14175 2011-04-30  Bruno Haible  <bruno@clisp.org>
14176
14177         manywarnings: fix indentation
14178         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14179
14180 2011-04-30  Pádraig Brady <P@draigBrady.com>
14181
14182         manywarnings: add -Wno-missing-field-initializers if needed.
14183         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14184         option if it's needed to allow initialization with { 0, }
14185
14186 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14187
14188         announce-gen: cosmetic improvement
14189         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
14190
14191 2011-04-29  Jim Meyering  <meyering@redhat.com>
14192
14193         vc-list-files: indent with spaces, not TABs
14194         * build-aux/vc-list-files: Convert leading TABs to spaces,
14195         to match the style of most other files in gnulib.
14196
14197         announce-gen: indent with spaces, not TABs
14198         * build-aux/announce-gen: Convert all TABs to spaces, to match
14199         the style of most other files in gnulib.
14200
14201 2011-04-29  Eric Blake  <eblake@redhat.com>
14202
14203         quotearg: avoid uninitialized variable use
14204         * lib/quotearg.c (quoting_options_from_style): Initialize
14205         remaining fields, and ensure that custom styles are only used via
14206         quoting_options rather than quoting_style.
14207
14208 2011-04-29  Jim Meyering  <meyering@redhat.com>
14209
14210         maint.mk: remove unused VC-tag variable
14211         * top/maint.mk (VC-tag): Remove unused variable.
14212
14213 2011-04-29  Bruno Haible  <bruno@clisp.org>
14214
14215         netdb: fix gai_strerror replacements
14216         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
14217         * modules/netdb: Substitute it.
14218
14219 2011-04-29  Jim Meyering  <meyering@redhat.com>
14220
14221         test-getcwd.c: avoid new set-but-not-used warning
14222         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
14223         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
14224         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
14225         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
14226
14227         test-hash.c: avoid a new shadowing warning
14228         * tests/test-hash.c (main): Don't shadow "dup".
14229
14230 2011-04-28  Eric Blake  <eblake@redhat.com>
14231
14232         getaddrinfo: fix gai_strerror signature
14233         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
14234         and work around mingw with UNICODE defined.
14235         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
14236         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
14237         * modules/netdb (Makefile.am): Substitute it.
14238         * lib/netdb.in.h (gai_strerror): Declare replacement.
14239         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
14240         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
14241         the fix.
14242
14243         getsockopt: avoid compiler warning
14244         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
14245         Reported by Matthias Bolte.
14246
14247         tests: drop unused link dependency
14248         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
14249         * modules/dirent-safer-tests (Makefile.am): Likewise.
14250         * modules/fdopendir-tests (Makefile.am): Likewise.
14251         * modules/mkfifoat-tests (Makefile.am): Likewise.
14252         * modules/openat-safer-tests (Makefile.am): Likewise.
14253         * modules/openat-tests (Makefile.am): Likewise.
14254         * modules/readlinkat-tests (Makefile.am): Likewise.
14255         * modules/symlinkat-tests (Makefile.am): Likewise.
14256         * modules/linkat-tests (Makefile.am): Likewise.
14257         (Depends-on): Switch to filenamecat-lgpl.
14258         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
14259         LIBINTL.
14260         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
14261         * tests/test-linkat.c (main): Don't require xalloc.
14262
14263         hash, mgetgroups: drop xalloc dependency
14264         * lib/hash.c (includes): Adjust includes.
14265         * lib/mgetgroups.c (includes): Likewise.
14266         (xgetgroups): Move...
14267         * lib/xgetgroups.c: ...to new file.
14268         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
14269         * modules/xgetgroups: New file, split from...
14270         * modules/mgetgroups: ...here.
14271         (Depends-on): Add xalloc-oversized.
14272         * modules/hash (Depends-on): Likewise.
14273         * modules/hash-tests (Depends-on): Drop xalloc.
14274         (test_hash_LDADD): Drop unused library.
14275         * tests/test-hash.c (main): Break xalloc dependency.
14276         (includes): Drop unused include.
14277
14278         xalloc-oversized: new module
14279         * modules/xalloc-oversized: New module.
14280         * modules/xalloc (Depends-on): Add it.
14281         * lib/xalloc.h (xalloc_oversized): Move...
14282         * lib/xalloc-oversized.h: ...into new file.
14283
14284         utimecmp: drop dependency on xmalloc
14285         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
14286         due to memory pressure.
14287         * modules/utimecmp (Depends-on): Drop xalloc.
14288
14289 2011-04-27  Eric Blake  <eblake@redhat.com>
14290
14291         getcwd: fix mingw bugs
14292         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
14293         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
14294         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
14295
14296 2011-04-27  Bruno Haible  <bruno@clisp.org>
14297
14298         mkstemps: Ensure declaration on MacOS X 10.5.
14299         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
14300         * doc/glibc-functions/mkstemps.texi: Document header file problem on
14301         MacOS X.
14302
14303 2011-04-27  Bruno Haible  <bruno@clisp.org>
14304
14305         mkstemp: More documentation.
14306         * doc/posix-functions/mkstemp.texi: Document header file problem on
14307         MacOS X.
14308
14309 2011-04-27  Bruno Haible  <bruno@clisp.org>
14310
14311         mkstemp: Tweak configure message when cross-compiling.
14312         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14313         result as a guess.
14314
14315 2011-04-27  Bruno Haible  <bruno@clisp.org>
14316
14317         clean-temp: Clarify what it does.
14318         * lib/clean-temp.h: Add more comments.
14319         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14320         module.
14321         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14322         * doc/glibc-functions/mkstemps.texi: Likewise.
14323         * doc/glibc-functions/mkostemps.texi: Likewise.
14324
14325 2011-04-27  Eric Blake  <eblake@redhat.com>
14326
14327         fchdir: avoid extra chdir and fix test
14328         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14329         getcwd-lgpl.
14330         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14331         have to be canonical.
14332         (canonicalize_file_name): Drop unused macro.
14333         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14334
14335         filenamecat-lgpl: fix licence
14336         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14337         when it was first created.
14338
14339         linkat, renameat: add missing dependency
14340         * modules/linkat (Depends-on): Require getcwd-lgpl.
14341         * modules/renameat (Depends-on): Likewise.
14342
14343         tests: reduce dependencies
14344         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14345         * tests/test-renameat.c (main): Likewise.
14346         * modules/linkat-tests (Depends-on): Relax dependency.
14347         * modules/renameat-tests (Depends-on): Likewise.
14348         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14349         dependency explicit.
14350
14351         save-cwd: reduce default dependency
14352         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14353         * lib/save-cwd.c: Update comments.
14354         * NEWS: Document the semantic change.
14355
14356         getcwd: enhance tests
14357         * tests/test-getcwd-lgpl.c: New file, taken from...
14358         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
14359         repeat long path stress tests from m4 probe.
14360         * modules/getcwd-lgpl-tests: New module.
14361         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
14362         * m4/getcwd-abort-bug.m4: Update comment.
14363         * m4/getcwd-path-max.m4: Likewise.
14364
14365         getcwd-lgpl: new module
14366         * modules/getcwd-lgpl: New module.
14367         * lib/getcwd-lgpl.c: New file.
14368         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14369         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14370         * modules/getcwd (configure.ac): Set C witness.
14371         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
14372
14373         getcwd: tweak comments
14374         * m4/getcwd-abort-bug.m4: Fix comments.
14375         * m4/getcwd-path-max.m4: Likewise.
14376         * m4/getcwd.m4: Likewise.
14377
14378 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14379         and Eric Blake  <eblake@redhat.com>
14380
14381         mkstemp: replace if system version uses wrong permissions
14382         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14383         read/write mode bits set in file created by mkstemp.
14384         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14385
14386 2011-04-27  Eric Blake  <eblake@redhat.com>
14387
14388         passfd: avoid compiler warning
14389         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14390         Reported by Laine Stump.
14391
14392 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14393
14394         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14395         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14396
14397 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14398         and Eric Blake  <eblake@redhat.com>
14399
14400         mkstemp: mention clean-temp module
14401         * lib/mkstemp.c: Add comment.
14402         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14403
14404 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14405
14406         inttypes: also provide default values for 32-bit tests
14407         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14408         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14409
14410 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14411
14412         strtoumax: remove dependency on strtoimax
14413         This is like the strtoull change of yesterday.
14414         * modules/strtoumax (Files): Add lib/strtoimax.c.
14415         (Depends-on): Remove strtoimax and add verify.
14416
14417         inttypes-incomplete: new module
14418         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
14419         all but the PRI* and SCN* parts of gl_INTTYPES_H.
14420         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
14421         of gl_INTTYPES_H.
14422         (gl_INTTYPES_H): Rewrite in terms of these new macros.
14423         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
14424         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
14425         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
14426         * modules/strtoumax, modules/xstrtol (Depends-on):
14427         Depend on inttypes-incomplete, not inttypes.
14428         * modules/inttypes-incomplete: New module, containing the contents
14429         of the old modules/inttypes module, except that the Files: section
14430         omits m4/inttypes-pri.m4, and the configure.ac section invokes
14431         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
14432         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
14433         (Depends-on): Depend only on inttypes-incomplete.
14434         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
14435
14436         inttypes: omit now-redundant strtoimax and strtoumax work
14437         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
14438         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
14439
14440         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
14441         This supports apps that need pointers to strtoimax and strtoumax,
14442         and ports to HP-UX 11.00 64.bit, which has macros that expand to
14443         nonexistent functions.  See
14444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
14445         et seq.
14446         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
14447         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
14448         a macro.
14449         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14450
14451 2011-04-25  Simon Josefsson  <simon@josefsson.org>
14452
14453         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
14454
14455 2011-04-25  Bruno Haible  <bruno@clisp.org>
14456
14457         strtol, strtoul: Mark modules as obsolete.
14458         * modules/strtol (Status, Notice): New sections.
14459         * modules/strtoul (Status, Notice): New sections.
14460
14461 2011-04-25  Bruno Haible  <bruno@clisp.org>
14462
14463         strtod: Remove check for strtod, unless supporting old platforms.
14464         * modules/strtod-obsolete: New file.
14465         * m4/strtod-obsolete.m4: New file.
14466         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
14467         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
14468         * modules/strtod (Depends-on): Add strtod-obsolete.
14469         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
14470
14471 2011-04-25  Bruno Haible  <bruno@clisp.org>
14472
14473         strcase: Make module obsolete.
14474         * modules/strcase (Status, Notice): New sections.
14475
14476 2011-04-25  Bruno Haible  <bruno@clisp.org>
14477
14478         dup2: Remove check for dup2, unless supporting old obsolete platforms.
14479         * modules/dup2-obsolete: New file.
14480         * m4/dup2-obsolete.m4: New file.
14481         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14482         gl_FUNC_DUP2_OBSOLETE is not also defined.
14483         * modules/dup2 (Depends-on): Add dup2-obsolete.
14484         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14485
14486 2011-04-25  Bruno Haible  <bruno@clisp.org>
14487
14488         strnlen: Avoid memchr related link error on old obsolete platforms.
14489         * modules/memchr-obsolete: New file.
14490         * m4/memchr-obsolete.m4: New file.
14491         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14492         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14493         * modules/memchr (Depends-on): Add memchr-obsolete.
14494         * modules/strnlen (Depends-on): Likewise.
14495         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14496
14497 2011-04-25  Jim Meyering  <meyering@redhat.com>
14498
14499         maint.mk: makefile_at_at_check extend and clean up
14500         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14501         in addition to */Makefile.am.
14502         Exempt legitimate uses of @VAR@ notation, e.g.,
14503         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14504         Remove obsolete coreutils-specific comment.
14505         Prompted by discussion here:
14506         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14507
14508 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14509
14510         strtoul: remove dependency on strtol
14511         This is so that 'configure' need not check for strtol merely because
14512         the application needs strtoul.
14513         * modules/strtoul (Files): Add lib/strtol.c.
14514         (Depends-on): Remove strtol.
14515
14516         strtoull: remove dependency on strtoul
14517         This is like the strtoll change.
14518         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14519         (Depends-on): Remove strtoul.
14520
14521         strtoll: remove dependency on strtol
14522         This is so that 'configure' need not check for strtol merely because
14523         the application needs strtoll.
14524         * modules/strtoll (Files): Add lib/strtol.c.
14525         (Depends-on): Remove strtol.
14526
14527 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14528
14529         inttypes: Move some configure check to module 'imaxdiv'.
14530         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14531         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14532         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14533
14534 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14535
14536         inttypes: Move some configure check to module 'imaxabs'.
14537         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14538         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14539         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14540
14541 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14542
14543         inttypes: Remove configure tests that are not needed since 2009-12-31.
14544         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14545         gl_cv_header_working_inttypes_h.
14546
14547 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14548
14549         * modules/strnlen (Depends-on): Remove memchr.
14550         The strnlen implementation doesn't need the memchr module's fixes; see
14551         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14552
14553         strtol: remove dependency on wchar
14554         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14555         * modules/strtol (Depends-on): Remove wchar.
14556
14557 2011-04-21  Eric Blake  <eblake@redhat.com>
14558
14559         passfd: fix test regression on Linux
14560         * modules/passfd-tests (configure.ac): Correct socketpair check.
14561
14562         passfd: speed up configure and drop unused code
14563         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14564         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14565         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14566         Instead of probing at configure for unix_scm_rights_bsd44_way,
14567         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14568         check to a struct member probe.
14569         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14570         (sendfd, recvfd): Update preprocessor checks.
14571         * modules/passfd (Files): Reflect rename, and drop unused file.
14572         (Depends-on): Drop unused dependency.
14573
14574         passfd: allow compilation on mingw
14575         * modules/sys_socket (Depends-on): Add sys_uio.
14576         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14577         iovec and a minimal struct msghdr.
14578         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14579         * tests/test-sys_socket.c (main): Enhance test.
14580         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14581         guaranteed to provide what we need.
14582         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14583         * modules/passfd-tests (Depends-on): Add sys_wait.
14584         * tests/test-passfd.c (main): Skip test on mingw, for now.
14585         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14586         partial 'struct msghdr' implementation.
14587
14588         sys_uio: new module
14589         * modules/sys_uio: New module.
14590         * modules/sys_uio-tests: Likewise.
14591         * lib/sys_uio.in.h: New file.
14592         * m4/sys_uio_h.m4: Likewise.
14593         * tests/test-sys_uio.c: Likewise.
14594         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14595         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14596
14597 2011-04-20  Jim Meyering  <meyering@redhat.com>
14598
14599         useless-if-before-free: avoid false-positive
14600         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14601         disjunct so that it too requires a terminating ";".  Without that,
14602         this script would identify as useless one statement from gcc that
14603         was not:
14604           if (aligned_ptr)
14605             free (((void **) aligned_ptr) [-1]);
14606
14607 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14608
14609         doc: update users.txt.
14610         * users.txt: Add barcode.
14611
14612 2011-04-19  Bruno Haible  <bruno@clisp.org>
14613
14614         ioctl: Remove link dependency on native Windows.
14615         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14616         (gl_close_fn, gl_ioctl_fn): New types.
14617         (struct fd_hook): Renamed from struct close_hook. Change type of
14618         private_close_fn field. Add private_ioctl_fn field.
14619         (close_hook_fn): Add parameter for primary close method.
14620         (execute_close_hooks, execute_all_close_hooks): Likewise.
14621         (ioctl_hook_fn): New type.
14622         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14623         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14624         argument.
14625         (unregister_fd_hook): Renamed from unregister_close_hook.
14626         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14627         Don't include <unistd.h>.
14628         (close): Remove undef.
14629         (anchor): Update.
14630         (execute_close_hooks): Add argument for primary close method.
14631         (execute_all_close_hooks): Likewise.
14632         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14633         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14634         argument. Allow each argument to be NULL.
14635         (unregister_fd_hook): Renamed from unregister_close_hook.
14636         * lib/close.c (rpl_close): Pass 'close' function pointer to
14637         execute_all_close_hooks.
14638         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14639         (primary_ioctl): New function.
14640         (ioctl): Don't call ioctlsocket here. Instead, call
14641         execute_all_ioctl_hooks.
14642         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14643         close method.
14644         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14645         (fd_sockets_hook): Renamed from close_sockets_hook.
14646         (gl_sockets_startup, gl_sockets_cleanup): Update.
14647         * modules/fd-hook: Renamed from modules/close-hook. Update.
14648         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14649         * modules/sockets (Depends-on): Likewise.
14650         * modules/ioctl (Depends-on): Add fd-hook.
14651         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14652         GNULIB_SOCKET.
14653
14654 2011-04-19  Bruno Haible  <bruno@clisp.org>
14655
14656         Move the support of O_NONBLOCK in open() to the 'open' module.
14657         * modules/nonblocking (Depends-on): Remove 'open'.
14658         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14659         gl_cv_have_open_O_NONBLOCK.
14660         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14661         O_NONBLOCK support.
14662         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14663
14664 2011-04-17  Bruno Haible  <bruno@clisp.org>
14665
14666         pipe2: Simplify code.
14667         * lib/pipe2.c (pipe2): Reduce code duplication.
14668
14669 2011-04-17  Bruno Haible  <bruno@clisp.org>
14670
14671         nonblocking: Add comment.
14672         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14673
14674 2011-04-17  Bruno Haible  <bruno@clisp.org>
14675
14676         nonblocking: Add tests for sockets.
14677         * tests/test-nonblocking-socket.sh: New file.
14678         * tests/test-nonblocking-socket-main.c: New file.
14679         * tests/test-nonblocking-socket-child.c: New file.
14680         * tests/test-nonblocking-socket.h: New file.
14681         * tests/socket-server.h: New file.
14682         * tests/socket-client.h: New file.
14683         * modules/nonblocking-socket-tests: New file.
14684         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14685
14686 2011-04-17  Bruno Haible  <bruno@clisp.org>
14687
14688         nonblocking: Add tests for pipes.
14689         * tests/test-nonblocking-pipe.sh: New file.
14690         * tests/test-nonblocking-pipe-main.c: New file.
14691         * tests/test-nonblocking-pipe-child.c: New file.
14692         * tests/test-nonblocking-pipe.h: New file.
14693         * tests/test-nonblocking-writer.h: New file.
14694         * tests/test-nonblocking-reader.h: New file.
14695         * tests/test-nonblocking-misc.h: New file.
14696         * modules/nonblocking-pipe-tests: New file.
14697         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14698
14699 2011-04-16  Bruno Haible  <bruno@clisp.org>
14700
14701         gettext: Clarify the needed programmer actions.
14702         * modules/gettext (Notice): New field.
14703         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14704
14705 2011-04-16  Bruno Haible  <bruno@clisp.org>
14706
14707         strchrnul: Tweak last commit.
14708         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14709         bug.
14710         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14711         as in _GL_FUNCDECL_SYS.
14712         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14713         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14714
14715 2011-04-15  Eric Blake  <eblake@redhat.com>
14716
14717         strchrnul: work around cygwin bug
14718         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14719         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14720         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14721         * modules/string (Makefile.am): Substitute it.
14722         * lib/string.in.h (strchrnul): Use it.
14723
14724 2011-04-15  Bruno Haible  <bruno@clisp.org>
14725
14726         Don't require lib/stdio-write.c when only module 'stdio' is used.
14727         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14728         invocation.
14729         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14730
14731 2011-04-14  Bruno Haible  <bruno@clisp.org>
14732
14733         Support non-blocking pipe I/O in read() on native Windows.
14734         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14735         (read): New declaration.
14736         * lib/read.c: New file.
14737         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14738         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14739         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14740         vscanf): New declarations.
14741         * lib/stdio-read.c: New file.
14742         * m4/read.m4: New file.
14743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14744         REPLACE_READ.
14745         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14746         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14747         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14748         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14749         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14750         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14751         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14752         * modules/read: New file.
14753         * modules/nonblocking (Files): Add lib/stdio-read.c.
14754         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14755         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14756         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14757         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14758         * modules/pread (Depends-on): Add read.
14759         * modules/safe-read (Depends-on): Likewise.
14760         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14761         gets, scanf, vfscanf, vscanf): Verify signatures.
14762         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14763         problem with non-blocking pipes.
14764         * doc/posix-functions/fgetc.texi: Likewise.
14765         * doc/posix-functions/fgets.texi: Likewise.
14766         * doc/posix-functions/fread.texi: Likewise.
14767         * doc/posix-functions/fscanf.texi: Likewise.
14768         * doc/posix-functions/getc.texi: Likewise.
14769         * doc/posix-functions/getchar.texi: Likewise.
14770         * doc/posix-functions/gets.texi: Likewise.
14771         * doc/posix-functions/scanf.texi: Likewise.
14772         * doc/posix-functions/vfscanf.texi: Likewise.
14773         * doc/posix-functions/vscanf.texi: Likewise.
14774
14775 2011-04-14  Bruno Haible  <bruno@clisp.org>
14776
14777         Support non-blocking pipe I/O in write() on native Windows.
14778         * lib/write.c (rpl_write): Split a write request that failed merely
14779         because the byte count was larger than the pipe buffer's size.
14780         * doc/posix-functions/write.texi: Mention the problem with large byte
14781         counts.
14782
14783 2011-04-14  Bruno Haible  <bruno@clisp.org>
14784
14785         wchar: Ensure that wchar_t gets defined on uClibc.
14786         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14787         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14788
14789 2011-04-13  Bruno Haible  <bruno@clisp.org>
14790
14791         safe-write, full-read: Avoid unnecessary compilation units.
14792         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14793         (Depends-on): Remove safe-read. Add ssize_t.
14794         * modules/full-read (Files): Add lib/full-write.c.
14795         (Depends-on): Add full-write.
14796
14797 2011-04-13  Bruno Haible  <bruno@clisp.org>
14798
14799         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14800         * modules/pwrite (Depends-on): Add 'write'.
14801
14802 2011-04-13  Bruno Haible  <bruno@clisp.org>
14803
14804         Support non-blocking pipe I/O in write() on native Windows.
14805         * lib/unistd.in.h (write): Enable replacement also if
14806         GNULIB_UNISTD_H_NONBLOCKING is 1.
14807         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14808         (rpl_write): When failing to write on a non-blocking pipe, change
14809         errno from ENOSPC to EAGAIN.
14810         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14811         putchar, puts, vfprintf, vprintf): Enable replacement also if
14812         GNULIB_STDIO_H_NONBLOCKING is 1.
14813         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14814         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14815         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14816         CALL_WITH_SIGPIPE_EMULATION.
14817         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14818         * m4/nonblocking.m4: New file.
14819         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14820         for non-blocking I/O support.
14821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14822         GNULIB_UNISTD_H_NONBLOCKING.
14823         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14824         required for non-blocking I/O support.
14825         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14826         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14827         lib/stdio-write.c, m4/asm-underscore.m4.
14828         (Depends-on): Add stdio, unistd.
14829         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14830         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14831         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14832         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14833         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14834         problem with non-blocking pipes.
14835         * doc/posix-functions/fputc.texi: Likewise.
14836         * doc/posix-functions/fputs.texi: Likewise.
14837         * doc/posix-functions/fwrite.texi: Likewise.
14838         * doc/posix-functions/printf.texi: Likewise.
14839         * doc/posix-functions/putc.texi: Likewise.
14840         * doc/posix-functions/putchar.texi: Likewise.
14841         * doc/posix-functions/puts.texi: Likewise.
14842         * doc/posix-functions/vfprintf.texi: Likewise.
14843         * doc/posix-functions/vprintf.texi: Likewise.
14844         * doc/posix-functions/write.texi: Likewise.
14845
14846 2011-04-10  Jim Meyering  <meyering@redhat.com>
14847
14848         maint.mk: prohibit doubled words
14849         Detect them also when they're separated by a newline.
14850         There are 3 ways to customize it:
14851           - disable the test on a per file basis, as usual with rules using
14852             $(VC_LIST_EXCEPT)
14853           - replace the default doubled-word-selecting regexp (affects all files)
14854           - ignore a particular file-vs-doubled-word match
14855         I nearly used that last one to ignore the "is is" match in
14856         coreutils' NEWS file, since the text was "ls -is is ..."
14857         To do that, I would have added this line to cfg.mk:
14858           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14859         but it would have ignored any "is is" match in NEWS.
14860         Low probability, but still...
14861         Instead, I changed the text, slightly:
14862           -  ls -is is now consistent with ls -lis in ignoring values returned
14863           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14864         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14865         (prohibit_doubled_word_): Define.
14866         (sc_prohibit_doubled_word): New rule.
14867         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14868
14869 2011-04-10  Jim Meyering  <meyering@redhat.com>
14870
14871         maint: fix doubled-word typo in comment
14872         * m4/gethostname.m4: s/is is/it is/
14873         * m4/getdomainname.m4: Likewise.
14874
14875 2011-04-10  Jim Meyering  <meyering@redhat.com>
14876
14877         maint: remove doubled word: s/it it/it/
14878         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14879
14880 2011-04-10  Jim Meyering  <meyering@redhat.com>
14881
14882         maint.mk: remove useless semicolon and backslash
14883         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14884         semicolon and backslash.
14885
14886 2011-04-10  Bruno Haible  <bruno@clisp.org>
14887
14888         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14889         * modules/stdint-tests (Depends-on): Add wchar.
14890
14891 2011-04-10  Jim Meyering  <meyering@redhat.com>
14892
14893         maint: remove doubled words in comments, e.g., s/a a/a/
14894         * lib/strptime.c (day_of_the_week): s/the the/the/
14895         * tests/test-chown.h (test_chown): s/a a/a/
14896
14897         test-chown.h: correct a cast
14898         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14899         when the destination is a stat.st_gid.
14900
14901 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14902
14903         getaddrinfo: Fix test for sa_len member.
14904         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14905         include <sys/types.h> before <sys/socket.h>.
14906
14907 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14908
14909         maint: change "can not" to "cannot"
14910         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14911         boundaries.
14912
14913 2011-04-09  Jim Meyering  <meyering@redhat.com>
14914
14915         maint: change "a a" to "a"
14916         * tests/test-lchown.h (test_lchown): s/a a/a/
14917
14918         maint.mk: prohibit \<the the\>
14919         * top/maint.mk (sc_prohibit_the_the): New rule.
14920
14921         maint: fix "the the" in comment
14922         * lib/count-one-bits.h: s/the the/the/
14923
14924         maint: change "can not" to "cannot"
14925         But do not change the occurrences in maintain.texi or in
14926         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14927         * doc/gnulib-tool.texi: s/can not/cannot/
14928         * doc/posix-functions/accept.texi (accept): Likewise.
14929         * doc/posix-functions/socket.texi (socket): Likewise.
14930         * lib/mbrtowc.c: Likewise.
14931
14932         maint.mk: prohibit use of "can not"
14933         * top/maint.mk (sc_prohibit_can_not): New rule.
14934         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14935
14936 2011-04-09  Bruno Haible  <bruno@clisp.org>
14937
14938         careadlinkat: Guard against misuse of careadlinkatcwd.
14939         * lib/careadlinkat.c: Include <stdlib.h>.
14940         (careadlinkatcwd): Check that the fd argument is as expected.
14941
14942 2011-04-09  Bruno Haible  <bruno@clisp.org>
14943
14944         careadlinkat: Use common coding style.
14945         * lib/careadlinkat.c: Move gnulib includes after system includes.
14946
14947 2011-04-09  Bruno Haible  <bruno@clisp.org>
14948
14949         careadlinkat: Clarify specification.
14950         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14951         (careadlinkatcwd): Add comment.
14952         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14953
14954 2011-04-09  Bruno Haible  <bruno@clisp.org>
14955
14956         areadlinkat: Avoid link error on many platforms.
14957         * modules/areadlinkat (Depends-on): Add areadlink.
14958
14959 2011-04-09  Bruno Haible  <bruno@clisp.org>
14960
14961         allocator, careadlinkat: Fix double-inclusion guard.
14962         * lib/allocator.h: Fix double-inclusion guard.
14963         * lib/careadlinkat.h: Likewise.
14964
14965 2011-04-09  Bruno Haible  <bruno@clisp.org>
14966
14967         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14968         * lib/relocwrapper.c: Update dependencies hierarchy.
14969         * build-aux/install-reloc: Update list of files to be compiled.
14970         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14971         lib/allocator.[hc].
14972
14973 2011-04-08  Eric Blake  <eblake@redhat.com>
14974
14975         strftime: silence gnulib-tool warning
14976         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14977
14978 2011-04-08  Bruno Haible  <bruno@clisp.org>
14979
14980         verify: Fix syntax error with GCC 4.6 in C++ mode.
14981         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14982         (HAVE_STATIC_ASSERT): New macro.
14983         (verify_true, verify): Use 'static_assert' if it is supported and
14984         '_Static_assert' is not supported.
14985
14986 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14987
14988         allocator: New module.
14989         * modules/allocator, lib/allocator.c: New files.
14990         * lib/allocator.h (stdlib_allocator): New decl.
14991         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14992         Remove.  Do not include <stdlib.h>.
14993         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14994         * modules/careadlinkat (Files): Remove lib/allocator.h.
14995         (Depends-on): Add allocator.
14996
14997         stdlib: let modules use system malloc, realloc
14998         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14999         if !_GL_USE_STDLIB_ALLOC.
15000         (malloc, realloc): Limit this change to a smaller scope.
15001
15002         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15003         (malloc, realloc): Don't #undef; no longer needed.
15004         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15005         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15006         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15007         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15008         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15009         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15010         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15011         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15012
15013         careadlinkat: rename members to avoid problem
15014         * lib/allocator.h (struct allocator): Rename members from
15015         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15016         and realloc are #define'd.  Reported by Eric Blake in
15017         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15018         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15019
15020 2011-04-08  Eric Blake  <eblake@redhat.com>
15021
15022         nonblocking: reduce dependency
15023         * tests/test-nonblocking.c: Only test sockets when in use.
15024         * modules/nonblocking-tests (Depends-on): Drop socket.
15025         (Makefile.am): Link even if sockets are not present.
15026         * modules/pipe2-tests (Makefile.am): Likewise.
15027         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15028
15029         pipe2: fix O_NONBLOCK support on mingw
15030         * modules/pipe2 (Depends-on): Add nonblocking.
15031         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15032         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15033         * tests/test-nonblocking.c (main): Likewise.
15034         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15035
15036         fcntl-h: fix O_ACCMODE on cygwin
15037         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15038         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15039
15040         pipe-filter: drop O_NONBLOCK workarounds
15041         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15042         * modules/pipe-filter-ii (Depends-on): Likewise.
15043         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15044
15045         nonblocking: provide O_NONBLOCK for mingw
15046         * modules/nonblocking (Depends-on): Add open.
15047         (configure.ac): Set new witness macro.
15048         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15049         * modules/fcntl-h (Makefile.am): Substitute it.
15050         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15051         nonblocking module is in use.
15052         * lib/nonblocking.c: Adjust portability test.
15053         * lib/open.c (open): Don't let native open see gnulib flag.
15054         * tests/test-fcntl-h.c (main): Enhance test.
15055         * tests/test-open.h (test_open): Likewise.
15056         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15057
15058         careadlinkat: fix compilation error on mingw
15059         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15060         within struct allocator.
15061
15062 2011-04-06  Eric Blake  <eblake@redhat.com>
15063
15064         binary-io: relicense under LGPLv2+
15065         * modules/binary-io (License): Relax to LGPLv2+.
15066         Requested for libvirt, and required by pipe2.
15067
15068 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15069
15070         verify: use _Static_assert if available
15071         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15072         (verify_true, verify): Use it if available.  This generates better
15073         diagnostics with GCC 4.6.0 and later.
15074
15075 2011-04-05  Bruno Haible  <bruno@clisp.org>
15076
15077         Remove leftover generated .h files after config.status changed.
15078
15079         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15080         GL_GENERATE_ALLOCA_H.
15081         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15082         GL_GENERATE_ALLOCA_H evaluates to false.
15083
15084         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15085         GL_GENERATE_ARGZ_H.
15086         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15087         evaluates to false.
15088
15089         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15090         GL_GENERATE_BYTESWAP_H.
15091         * modules/byteswap (Makefile.am): Remove byteswap.h if
15092         GL_GENERATE_BYTESWAP_H evaluates to false.
15093
15094         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15095         GL_GENERATE_ERRNO_H.
15096         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15097         evaluates to false.
15098
15099         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15100         GL_GENERATE_FLOAT_H.
15101         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15102         evaluates to false.
15103
15104         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15105         GL_GENERATE_FNMATCH_H.
15106         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15107         GL_GENERATE_FNMATCH_H evaluates to false.
15108
15109         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15110         GL_GENERATE_GLOB_H.
15111         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15112         evaluates to false.
15113
15114         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15115         automake conditional GL_GENERATE_ICONV_H.
15116         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15117         evaluates to false.
15118
15119         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15120         GL_GENERATE_NETINET_IN_H.
15121         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15122         GL_GENERATE_NETINET_IN_H evaluates to false.
15123
15124         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15125         conditional GL_GENERATE_PTHREAD_H.
15126         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15127         * modules/pthread (Makefile.am): Remove pthread.h if
15128         GL_GENERATE_PTHREAD_H evaluates to false.
15129
15130         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15131         GL_GENERATE_SCHED_H.
15132         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15133         evaluates to false.
15134
15135         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15136         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15137         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15138         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15139
15140         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15141         GL_GENERATE_STDARG_H.
15142         * modules/stdarg (Makefile.am): Remove stdarg.h if
15143         GL_GENERATE_STDARG_H evaluates to false.
15144
15145         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15146         GL_GENERATE_STDBOOL_H.
15147         * modules/stdbool (Makefile.am): Remove stdbool.h if
15148         GL_GENERATE_STDBOOL_H evaluates to false.
15149
15150         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15151         conditional GL_GENERATE_STDDEF_H.
15152         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15153         * modules/stddef (Makefile.am): Remove stddef.h if
15154         GL_GENERATE_STDDEF_H evaluates to false.
15155
15156         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15157         GL_GENERATE_STDINT_H.
15158         * modules/stdint (Makefile.am): Remove stdint.h if
15159         GL_GENERATE_STDINT_H evaluates to false.
15160
15161         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15162         GL_GENERATE_SYSEXITS_H.
15163         * modules/sysexits (Makefile.am): Remove sysexits.h if
15164         GL_GENERATE_SYSEXITS_H evaluates to false.
15165
15166         Reported by Karl Berry and Ralf Wildenhues.
15167
15168 2011-04-05  Bruno Haible  <bruno@clisp.org>
15169
15170         Ensure to rebuild generated .h files when config.status has changed.
15171         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15172         config.status.
15173         * modules/ctype (Makefile.am): Likewise.
15174         * modules/dirent (Makefile.am): Likewise.
15175         * modules/errno (Makefile.am): Likewise.
15176         * modules/fcntl-h (Makefile.am): Likewise.
15177         * modules/float (Makefile.am): Likewise.
15178         * modules/getopt-posix (Makefile.am): Likewise.
15179         * modules/glob (Makefile.am): Likewise.
15180         * modules/iconv-h (Makefile.am): Likewise.
15181         * modules/inttypes (Makefile.am): Likewise.
15182         * modules/langinfo (Makefile.am): Likewise.
15183         * modules/locale (Makefile.am): Likewise.
15184         * modules/math (Makefile.am): Likewise.
15185         * modules/netdb (Makefile.am): Likewise.
15186         * modules/netinet_in (Makefile.am): Likewise.
15187         * modules/poll-h (Makefile.am): Likewise.
15188         * modules/pthread (Makefile.am): Likewise.
15189         * modules/pty (Makefile.am): Likewise.
15190         * modules/sched (Makefile.am): Likewise.
15191         * modules/search (Makefile.am): Likewise.
15192         * modules/selinux-h (Makefile.am): Likewise.
15193         * modules/signal (Makefile.am): Likewise.
15194         * modules/spawn (Makefile.am): Likewise.
15195         * modules/stdarg (Makefile.am): Likewise.
15196         * modules/stdbool (Makefile.am): Likewise.
15197         * modules/stddef (Makefile.am): Likewise.
15198         * modules/stdint (Makefile.am): Likewise.
15199         * modules/stdio (Makefile.am): Likewise.
15200         * modules/stdlib (Makefile.am): Likewise.
15201         * modules/string (Makefile.am): Likewise.
15202         * modules/strings (Makefile.am): Likewise.
15203         * modules/sys_file (Makefile.am): Likewise.
15204         * modules/sys_ioctl (Makefile.am): Likewise.
15205         * modules/sys_select (Makefile.am): Likewise.
15206         * modules/sys_socket (Makefile.am): Likewise.
15207         * modules/sys_stat (Makefile.am): Likewise.
15208         * modules/sys_time (Makefile.am): Likewise.
15209         * modules/sys_times (Makefile.am): Likewise.
15210         * modules/sys_utsname (Makefile.am): Likewise.
15211         * modules/sys_wait (Makefile.am): Likewise.
15212         * modules/sysexits (Makefile.am): Likewise.
15213         * modules/termios (Makefile.am): Likewise.
15214         * modules/time (Makefile.am): Likewise.
15215         * modules/unistd (Makefile.am): Likewise.
15216         * modules/wchar (Makefile.am): Likewise.
15217         * modules/wctype-h (Makefile.am): Likewise.
15218         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
15219
15220 2011-04-05  Bruno Haible  <bruno@clisp.org>
15221
15222         pipe2: Relicense under LGPLv2+.
15223         * modules/pipe2 (License): Change to LGPLv2+.
15224         Requested by Eric Blake, for libvirt.
15225
15226 2011-04-05  Bruce Korb  <bkorb@gnu.org>
15227
15228         bootstrap: compute gnulib_extra_files after updating build_aux
15229         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
15230         change build_aux or also supply gnulib_extra_files.  Handle correctly.
15231
15232 2011-04-05  Eric Blake  <eblake@redhat.com>
15233
15234         bootstrap: preserve git whitelist item sorting
15235         * build-aux/bootstrap (sort_patterns): New function.
15236         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
15237
15238 2011-04-05  Simon Josefsson  <simon@josefsson.org>
15239
15240         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
15241         sc_space_tab check.
15242
15243 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
15244
15245         areadlink, areadlinkat: rewrite in terms of careadlinkat
15246         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
15247         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
15248         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
15249         (malloc, realloc): Remove #undefs.
15250         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
15251         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
15252         readlink, ssize_t, stdint, unistd.
15253         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
15254         areadlink, stdint.
15255
15256         careadlinkat: new module
15257         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
15258         * modules/careadlinkat: New files, written by me with
15259         a review and feedback from Ben Pfaff in
15260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
15261
15262 2011-04-01  Bruno Haible  <bruno@clisp.org>
15263
15264         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
15265         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
15266         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
15267         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
15268         Reported by Bruce Korb <bruce.korb@gmail.com>.
15269
15270 2011-04-01  Bruno Haible  <bruno@clisp.org>
15271
15272         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
15273         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
15274         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
15275         * modules/wcpcpy (Depends-on): Add extensions.
15276         * modules/wcpncpy (Depends-on): Likewise.
15277         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
15278         systems.
15279         * doc/posix-functions/wcpncpy.texi: Likewise.
15280         * doc/posix-functions/wcwidth.texi: Likewise.
15281
15282 2011-03-31  Eric Blake  <eblake@redhat.com>
15283
15284         nonblocking: fix mingw test failures
15285         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
15286         non-blocking flag on regular file.
15287         (get_nonblocking_flag): Set errno on invalid fd.
15288         * tests/test-nonblocking.c (main): Avoid test failure on
15289         directories if fchdir is not active.
15290         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
15291
15292 2011-03-31  Bruno Haible  <bruno@clisp.org>
15293
15294         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
15295         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
15296         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
15297         Reported by Simon Josefsson <simon@josefsson.org>.
15298
15299 2011-03-31  Bruno Haible  <bruno@clisp.org>
15300         and Eric Blake  <eblake@redhat.com>
15301
15302         nonblocking: new module
15303         * modules/nonblocking: New module.
15304         * modules/nonblocking-tests: Likewise.
15305         * lib/nonblocking.h: New file.
15306         * lib/nonblocking.c: Likewise.
15307         * tests/test-nonblocking.c: New test.
15308         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15309
15310 2011-03-30  Bruno Haible  <bruno@clisp.org>
15311
15312         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15313         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15314         instead of 'printf' format for GCC >= 4.4.
15315         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15316         (fprintf, printf, vfprintf, vprintf): Declare with
15317         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15318         the system's vfprintf() function.
15319         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15320
15321 2011-03-30  Eric Blake  <eblake@redhat.com>
15322
15323         passfd: fix scoping bug
15324         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15325         before sendmsg/recvmsg.
15326
15327         passfd: standardize coding conventions
15328         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15329         can be learned at compile time.
15330         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15331         ifdefs.
15332         (sendfd, recvfd): Follow gnulib code conventions.
15333
15334         passfd: fix incorrect sendmsg arguments
15335         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15336         incorrect msg_controllen value.
15337         * modules/passfd-tests (Depends-on): Check for alarm.
15338         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15339         Reported by Bastien ROUCARIES.
15340
15341 2011-03-30  Bruno Haible  <bruno@clisp.org>
15342
15343         c-strcasestr: Relicense under LGPLv2+.
15344         * modules/c-strcasestr (License): Change to LGPLv2+.
15345         Requested by Eric Blake, for libvirt.
15346
15347 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15348
15349         * users.txt: Add libidn2.  Fix libtasn1 link.
15350
15351 2011-03-30  Jim Meyering  <meyering@redhat.com>
15352
15353         tests: readlink* ("",... fails with EINVAL on newer kernels
15354         readlink and readlinkat have typically failed with ENOENT for
15355         the invalid, empty file name,  "".  However, with the advent
15356         of linux-2.6.39, they fail with EINVAL.
15357         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
15358         when operating on the empty file name.
15359         * tests/test-readlink.h (test_readlink): Likewise.
15360
15361 2011-03-29  Bruno Haible  <bruno@clisp.org>
15362
15363         Relicense some modules under LGPLv2+, for libidn2.
15364         * modules/array-mergesort (License): Change to LGPLv2+.
15365         * modules/c-strcaseeq (License): Likewise.
15366         * modules/striconveh (License): Likewise.
15367         * modules/striconveha (License): Likewise.
15368         * modules/uniconv/base (License): Likewise.
15369         * modules/uniconv/u8-conv-from-enc (License): Likewise.
15370         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
15371         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
15372         * modules/unictype/base (License): Likewise.
15373         * modules/unictype/bidiclass-of (License): Likewise.
15374         * modules/unictype/category-M (License): Likewise.
15375         * modules/unictype/category-none (License): Likewise.
15376         * modules/unictype/category-of (License): Likewise.
15377         * modules/unictype/category-test (License): Likewise.
15378         * modules/unictype/category-test-withtable (License): Likewise.
15379         * modules/unictype/combining-class (License): Likewise.
15380         * modules/unictype/joiningtype-of (License): Likewise.
15381         * modules/unictype/scripts (License): Likewise.
15382         * modules/uninorm/base (License): Likewise.
15383         * modules/uninorm/canonical-decomposition (License): Likewise.
15384         * modules/uninorm/composition (License): Likewise.
15385         * modules/uninorm/decompose-internal (License): Likewise.
15386         * modules/uninorm/decomposition-table (License): Likewise.
15387         * modules/uninorm/nfc (License): Likewise.
15388         * modules/uninorm/nfd (License): Likewise.
15389         * modules/uninorm/u32-normalize (License): Likewise.
15390         * modules/unistr/base (License): Likewise.
15391         * modules/unistr/u32-cpy (License): Likewise.
15392         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15393         * modules/unistr/u32-to-u8 (License): Likewise.
15394         * modules/unistr/u32-uctomb (License): Likewise.
15395         * modules/unistr/u8-check (License): Likewise.
15396         * modules/unistr/u8-mblen (License): Likewise.
15397         * modules/unistr/u8-mbtouc (License): Likewise.
15398         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15399         * modules/unistr/u8-mbtoucr (License): Likewise.
15400         * modules/unistr/u8-prev (License): Likewise.
15401         * modules/unistr/u8-strlen (License): Likewise.
15402         * modules/unistr/u8-to-u32 (License): Likewise.
15403         * modules/unistr/u8-uctomb (License): Likewise.
15404         * modules/unitypes (License): Likewise.
15405         Requested by Simon Josefsson.
15406
15407 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15408
15409         lib-symbol-visibility: Add a notice.
15410         * modules/lib-symbol-visibility (Notice): New field.
15411
15412 2011-03-29  Bruno Haible  <bruno@clisp.org>
15413
15414         getaddrinfo: Doc fix.
15415         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
15416         section "fixed in Gnulib".
15417
15418 2011-03-28  Simon Josefsson  <simon@josefsson.org>
15419
15420         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
15421         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
15422
15423 2011-03-26  Bruno Haible  <bruno@clisp.org>
15424
15425         unictype/property-byname: Reduce the number of load-time relocations.
15426         * lib/unictype/pr_byname.c: Include <stdlib.h>.
15427         (UC_PROPERTY_INDEX_*): New enumeration values.
15428         (uc_property_byname): Convert an index from the lookup table to an
15429         uc_property_t.
15430         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
15431         values.
15432
15433 2011-03-26  Bruno Haible  <bruno@clisp.org>
15434
15435         unictype/property-byname: Allow omitted word separators and aliases.
15436         * lib/unictype/pr_byname.gperf: Add property names without word
15437         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
15438         for 'space'.
15439
15440 2011-03-26  Bruno Haible  <bruno@clisp.org>
15441
15442         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
15443         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
15444         also hyphens to space.
15445         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
15446         without spaces.
15447         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
15448
15449 2011-03-26  Bruno Haible  <bruno@clisp.org>
15450
15451         unictype/joiningtype-byname: Recognize long names as well.
15452         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
15453         a long name.
15454         * lib/unictype/joiningtype_byname.c: Include <string.h>,
15455         unictype/joiningtype_byname.h.
15456         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
15457         * lib/unictype/joiningtype_byname.gperf: New file.
15458         * modules/unictype/joiningtype-byname (Files): Add
15459         lib/unictype/joiningtype_byname.gperf.
15460         (Depends-on): Add gperf.
15461         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
15462         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
15463         long names.
15464
15465         Tests for module 'unictype/joiningtype-longname'.
15466         * modules/unictype/joiningtype-longname-tests: New file.
15467         * tests/unictype/test-joiningtype_longname.c: New file.
15468
15469         New module 'unictype/joiningtype-longname'.
15470         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
15471         * lib/unictype/joiningtype_longname.c: New file.
15472         * modules/unictype/joiningtype-longname: New file.
15473         * modules/unictype/joiningtype-all (Depends-on): Add
15474         unictype/joiningtype-longname.
15475
15476 2011-03-26  Bruno Haible  <bruno@clisp.org>
15477
15478         unictype/bidiclass-byname: Recognize long names as well.
15479         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
15480         name.
15481         * lib/unictype/bidi_byname.c: Include <string.h>,
15482         unictype/bidi_byname.h.
15483         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15484         * lib/unictype/bidi_byname.gperf: New file.
15485         * modules/unictype/bidiclass-byname (Files): Add
15486         lib/unictype/bidi_byname.gperf.
15487         (Depends-on): Add gperf.
15488         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15489         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15490         long names.
15491
15492         Tests for module 'unictype/bidiclass-longname'.
15493         * modules/unictype/bidiclass-longname-tests: New file.
15494         * tests/unictype/test-bidi_longname.c: New file.
15495
15496         New module 'unictype/bidiclass-longname'.
15497         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15498         * lib/unictype/bidi_longname.c: New file.
15499         * modules/unictype/bidiclass-longname: New file.
15500         * modules/unictype/bidiclass-all (Depends-on): Add
15501         unictype/bidiclass-longname.
15502
15503 2011-03-26  Bruno Haible  <bruno@clisp.org>
15504
15505         unictype/bidi*: Rename modules.
15506         * modules/unictype/bidiclass-all: Renamed from
15507         modules/unictype/bidicategory-all.
15508         * modules/unictype/bidiclass-name: Renamed from
15509         modules/unictype/bidiclass-name.
15510         (Description): Update.
15511         * modules/unictype/bidiclass-name-tests: Renamed from
15512         modules/unictype/bidicategory-name-tests.
15513         * modules/unictype/bidiclass-byname: Renamed from
15514         modules/unictype/bidicategory-byname.
15515         (Description): Update.
15516         * modules/unictype/bidiclass-byname-tests: Renamed from
15517         modules/unictype/bidicategory-byname-tests.
15518         * modules/unictype/bidiclass-of: Renamed from
15519         modules/unictype/bidicategory-of.
15520         (Description): Update.
15521         * modules/unictype/bidiclass-of-tests: Renamed from
15522         modules/unictype/bidicategory-of-tests.
15523         * modules/unictype/bidiclass-test: Renamed from
15524         modules/unictype/bidicategory-test.
15525         (Description): Update.
15526         * modules/unictype/bidiclass-test-tests: Renamed from
15527         modules/unictype/bidicategory-test-tests.
15528         * modules/unictype/bidicategory-all: New file, a simple redirection.
15529         * modules/unictype/bidicategory-name: Likewise.
15530         * modules/unictype/bidicategory-byname: Likewise.
15531         * modules/unictype/bidicategory-of: Likewise.
15532         * modules/unictype/bidicategory-test: Likewise.
15533         * modules/unictype/property-bidi-* (Dependencies): Update.
15534         * lib/unictype/bidi_*.c: Update comment.
15535
15536 2011-03-26  Bruno Haible  <bruno@clisp.org>
15537
15538         unictype/bidi*: Rename functions, part 2.
15539         * modules/unictype/bidicategory-name (configure.ac): Update required
15540         libunistring version.
15541         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15542
15543 2011-03-25  Bruno Haible  <bruno@clisp.org>
15544
15545         New module 'unictype/combining-class-all'.
15546         * modules/unictype/combining-class-all: New file.
15547
15548         Tests for module 'unictype/combining-class-byname'.
15549         * modules/unictype/combining-class-byname-tests: New file.
15550         * tests/unictype/test-combiningclass_byname.c: New file.
15551
15552         New module 'unictype/combining-class-byname'.
15553         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15554         * lib/unictype/combiningclass_byname.c: New file.
15555         * lib/unictype/combiningclass_byname.gperf: New file.
15556         * modules/unictype/combining-class-byname: New file.
15557
15558         Tests for module 'unictype/combining-class-longname'.
15559         * modules/unictype/combining-class-longname-tests: New file.
15560         * tests/unictype/test-combiningclass_longname.c: New file.
15561
15562         New module 'unictype/combining-class-longname'.
15563         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15564         * lib/unictype/combiningclass_longname.c: New file.
15565         * modules/unictype/combining-class-longname: New file.
15566
15567         Tests for module 'unictype/combining-class-name'.
15568         * modules/unictype/combining-class-name-tests: New file.
15569         * tests/unictype/test-combiningclass_name.c: New file.
15570
15571         New module 'unictype/combining-class-name'.
15572         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15573         * lib/unictype/combiningclass_name.c: New file.
15574         * modules/unictype/combining-class-name: New file.
15575
15576 2011-03-25  Bruno Haible  <bruno@clisp.org>
15577
15578         unictype/combining-class: Rename source files.
15579         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15580         of unictype/combining.h.
15581         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15582         Update.
15583         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15584         * modules/unictype/combining-class (Description): Fix.
15585         (Files, Makefile.am): Update.
15586         * tests/unictype/test-combiningclass.c: Renamed from
15587         tests/unictype/test-combining.c.
15588         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15589
15590 2011-03-25  Bruno Haible  <bruno@clisp.org>
15591
15592         unictype: Update list of canonical combining classes.
15593         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15594
15595 2011-03-25  Bruno Haible  <bruno@clisp.org>
15596
15597         unictype/category-byname: Recognize long names as well.
15598         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15599         a long name.
15600         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15601         unictype/categ_byname.h.
15602         (UC_CATEGORY_INDEX_*): New enumeration values.
15603         (uc_general_category_byname): Use uc_general_category_lookup and
15604         convert from index to value.
15605         * lib/unictype/categ_byname.gperf: New file.
15606         * modules/unictype/category-byname (Files): Add
15607         lib/unictype/categ_byname.gperf.
15608         (Depends-on): Add gperf.
15609         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15610         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15611         long names.
15612
15613         Tests for module 'unictype/category-longname'.
15614         * modules/unictype/category-longname-tests: New file.
15615         * tests/unictype/test-categ_longname.c: New file.
15616
15617         New module 'unictype/category-longname'.
15618         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15619         * lib/unictype/categ_longname.c: New file.
15620         * modules/unictype/category-longname: New file.
15621         * modules/unictype/category-all (Depends-on): Add it.
15622
15623 2011-03-25  Bruno Haible  <bruno@clisp.org>
15624
15625         Tests for module 'unictype/category-LC'.
15626         * modules/unictype/category-LC-tests: New file.
15627         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15628
15629         New module 'unictype/category-LC'.
15630         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15631         (UC_CATEGORY_LC): New declaration.
15632         (UC_CASED_LETTER): New macro.
15633         * lib/gen-uni-tables.c (is_category_LC): New function.
15634         (output_categories): Also handle category LC.
15635         (UC_CATEGORY_MASK_LC): New enumeration value.
15636         (general_category_byname): Also handle category LC.
15637         * lib/unictype/categ_LC.c: New file.
15638         * lib/unictype/categ_LC.h: New file, automatically generated.
15639         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15640         category LC.
15641         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15642         * modules/unictype/category-LC: New file.
15643         * modules/unictype/category-byname (Depends-on): Add
15644         unictype/category-LC.
15645         * modules/unictype/category-all (Depends-on): Likewise.
15646
15647 2011-03-25  Eric Blake  <eblake@redhat.com>
15648
15649         xmalloc: revert yesterday's regression
15650         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15651         realloc's underlying behavior (allowing allocation of zero-size
15652         objects, especially if malloc-gnu is also in use).
15653
15654 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15655
15656         maint.mk: add missing version to VC-tag
15657         * top/maint.mk: git tag was missing actual tag name; add it.
15658
15659         valgrind: do leak checking, and exit with code 1 on error (not 0)
15660         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15661         to VALGRIND.
15662
15663 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15664
15665         posix-modules: say what it does.
15666         * posix-modules: Add a line to the --help output saying what it does.
15667
15668 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15669
15670         xmalloc: Do not leak if underlying realloc is C99 compatible.
15671         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15672         This avoids a leak on C99-based systems.  See
15673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15674
15675 2011-03-24  Eric Blake  <eblake@redhat.com>
15676
15677         realloc: document portability problem
15678         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15679         passing 0 size to realloc.
15680
15681 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15682
15683         doc: update users.txt
15684         * users.txt: Add cvsps, tmpwatch
15685
15686 2011-03-23  Matt Rice  <ratmice@gmail.com>
15687
15688         doc: update users.txt
15689         * users.txt: Add gdb.
15690
15691 2011-03-23  Jim Meyering  <meyering@redhat.com>
15692
15693         doc: update users.txt
15694         Looking through matches up to the following URL (there are still
15695         several more pages), I found several projects that use gnulib:
15696         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15697         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15698         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15699
15700 2011-03-22  Bruno Haible  <bruno@clisp.org>
15701
15702         unictype/bidi*: Rename functions.
15703         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15704         uc_bidi_class, uc_is_bidi_class): New declarations.
15705         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15706         uc_bidi_category_byname.
15707         (uc_bidi_category_byname): New function.
15708         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15709         u_bidi_category_name.
15710         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15711         (uc_bidi_category_name): New function.
15712         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15713         uc_bidi_category.
15714         (uc_bidi_category): New function.
15715         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15716         uc_is_bidi_category. Invoke uc_bidi_class.
15717         (uc_is_bidi_category): New function.
15718         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15719         instead of uc_bidi_category_byname.
15720         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15721         instead of uc_bidi_category_name.
15722         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15723         uc_bidi_category.
15724         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15725         instead of uc_is_bidi_category.
15726
15727 2011-03-21  Bruno Haible  <bruno@clisp.org>
15728
15729         New module 'unictype/joininggroup-all'.
15730         * modules/unictype/joininggroup-all: New file.
15731
15732         Tests for module 'unictype/joininggroup-of'.
15733         * modules/unictype/joininggroup-of-tests: New file.
15734         * tests/unictype/test-joininggroup_of.c: New file.
15735         * tests/unictype/test-joininggroup_of.h: New file, automatically
15736         generated by gen-uni-tables.
15737
15738         New module 'unictype/joininggroup-of'.
15739         * modules/unictype/joininggroup-of: New file.
15740         * lib/unictype/joininggroup_of.c: New file.
15741         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15742         gen-uni-tables.
15743
15744         Tests for module 'unictype/joininggroup-byname'.
15745         * modules/unictype/joininggroup-byname-tests: New file.
15746         * tests/unictype/test-joininggroup_byname.c: New file.
15747
15748         New module 'unictype/joininggroup-byname'.
15749         * modules/unictype/joininggroup-byname: New file.
15750         * lib/unictype/joininggroup_byname.c: New file.
15751         * lib/unictype/joininggroup_byname.gperf: New file.
15752
15753         Tests for module 'unictype/joininggroup-name'.
15754         * modules/unictype/joininggroup-name-tests: New file.
15755         * tests/unictype/test-joininggroup_name.c: New file.
15756
15757         New module 'unictype/joininggroup-name'.
15758         * modules/unictype/joininggroup-name: New file.
15759         * lib/unictype/joininggroup_name.c: New file.
15760         * lib/unictype/joininggroup_name.h: New file.
15761
15762         New module 'unictype/joiningtype-all'.
15763         * modules/unictype/joiningtype-all: New file.
15764
15765         Tests for module 'unictype/joiningtype-of'.
15766         * modules/unictype/joiningtype-of-tests: New file.
15767         * tests/unictype/test-joiningtype_of.c: New file.
15768         * tests/unictype/test-joiningtype_of.h: New file, automatically
15769         generated by gen-uni-tables.
15770
15771         New module 'unictype/joiningtype-of'.
15772         * modules/unictype/joiningtype-of: New file.
15773         * lib/unictype/joiningtype_of.c: New file.
15774         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15775         gen-uni-tables.
15776
15777         Tests for module 'unictype/joiningtype-byname'.
15778         * modules/unictype/joiningtype-byname-tests: New file.
15779         * tests/unictype/test-joiningtype_byname.c: New file.
15780
15781         New module 'unictype/joiningtype-byname'.
15782         * modules/unictype/joiningtype-byname: New file.
15783         * lib/unictype/joiningtype_byname.c: New file.
15784
15785         Tests for module 'unictype/joiningtype-name'.
15786         * modules/unictype/joiningtype-name-tests: New file.
15787         * tests/unictype/test-joiningtype_name.c: New file.
15788
15789         New module 'unictype/joiningtype-name'.
15790         * modules/unictype/joiningtype-name: New file.
15791         * lib/unictype/joiningtype_name.c: New file.
15792
15793         unictype: Add support for Arabic shaping properties.
15794         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15795         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15796         declarations.
15797         (UC_JOINING_GROUP_*): New enumeration values.
15798         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15799         declarations.
15800         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15801         (unicode_joining_type): New variable.
15802         (UC_JOINING_GROUP_*): New enumeration values.
15803         (unicode_joining_group): New variable.
15804         (fill_arabicshaping, joining_type_as_c_identifier,
15805         output_joining_type_test, output_joining_type,
15806         joining_group_as_c_identifier, output_joining_group_test,
15807         output_joining_group): New functions.
15808         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15809         fill_arabicshaping and output_joining_type_test, output_joining_type,
15810         output_joining_group_test, output_joining_group.
15811         Reported by Simon Josefsson.
15812
15813 2011-03-21  Jim Meyering  <meyering@redhat.com>
15814
15815         strftime: fix a bug in yesterday's change
15816         * lib/strftime.c (add): Accommodate width's initial value of -1.
15817         Otherwise, nstrftime would copy uninitialized data into
15818         the result buffer.
15819
15820 2011-03-21  Jim Meyering  <meyering@redhat.com>
15821
15822         tests: add strftime-tests module
15823         * tests/test-strftime.c: New file.
15824         * modules/strftime-tests: New module.
15825
15826 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15827
15828         strftime: don't assume a byte count fits in 'int'
15829         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15830         found this problem by static analysis, using gcc -Wstrict-overflow
15831         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15832         on an integer overflow having undefined behavior, but it turns out
15833         that the argument is a size, which might not fit in 'int' anyway,
15834
15835 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15836
15837         stdio: don't require ignore_value around fwrite
15838
15839         This patch works around libc bug 11959
15840         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15841         Without this patch, applications must often write
15842         ignore_value (fwrite (...)) even though the ignore_value is
15843         not helpful here.  It's common to write many objects, using
15844         fwrite/printf/etc., and then use ferror to detect output error.
15845
15846         I considered making this patch optional, but decided against it,
15847         because libc is obviously being inconsistent here: there is no
15848         reason libc should insist that user code must inspect fwrite
15849         return's value without also insisting that it inspect printf's,
15850         putchar's, etc.  If user code wants to have a strict style where
15851         all these functions' values are checked (so that ferror need not
15852         be checked), we could add support for that style in a new gnulib
15853         module, but in the meantime it's better to be consistent and to
15854         support common usage.
15855
15856         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15857         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15858         that we are compiling in checking mode, and if not C++, and
15859         if not already wrapping fwrite for some other reason.
15860         (fwrite): #define to rpl_fwrite if the latter is defined.
15861
15862 2011-03-20  Bruno Haible  <bruno@clisp.org>
15863
15864         verror: Fix compilation error introduced on 2011-02-13.
15865         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15866         instead of __attribute__.
15867         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15868
15869 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15870             Bruno Haible  <bruno@clisp.org>
15871
15872         socklen: do not depend on sys_socket
15873         While trying to modify Emacs to use gnulib's socklen module,
15874         I discovered a circular dependency: socklen depends on sys_socket
15875         and vice versa.  Emacs can use socklen, but it does not need
15876         sys_socket because it has its own substitute for sys/socket.h.
15877         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15878         gl_TYPE_SOCKLEN_T.
15879         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15880         gl_PREREQ_SYS_H_SOCKET.
15881         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15882         gl_PREREQ_SYS_H_SOCKET.
15883         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15884         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15885         * modules/socklen (Depends-on): Do not depend on sys_socket.
15886         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15887
15888 2011-03-20  Jim Meyering  <meyering@redhat.com>
15889
15890         maint.mk: sort file names *after* new transformation
15891         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15892         prefix would have led to an unwarranted failure in GNU parted.
15893         Sort after that transformation.
15894
15895 2011-03-19  Jim Meyering  <meyering@redhat.com>
15896
15897         maint.mk: fix po-file syntax-check rule
15898         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15899         Patch by Bruno Haible.
15900
15901 2011-03-19  Bruno Haible  <bruno@clisp.org>
15902
15903         socklen: Update comment.
15904         * m4/socklen.m4: Update comment about platforms.
15905
15906 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15907             Bruno Haible  <bruno@clisp.org>
15908
15909         inet_ntop, inet_pton: Simplify.
15910         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15911         documented to provide socklen_t and we already depend on sys_socket.
15912         * modules/inet_pton (Depends-on): Likewise.
15913         * lib/arpa_inet.in.h: Adjust comment.
15914
15915 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15916             Bruno Haible  <bruno@clisp.org>
15917
15918         netdb: Simplify.
15919         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15920         documented to provide socklen_t and we already depend on sys_socket.
15921         * lib/netdb.in.h: Adjust comment.
15922
15923 2011-03-19  Bruno Haible  <bruno@clisp.org>
15924
15925         sys_socket, netdb: Document problem with socklen_t.
15926         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15927         platforms.
15928         * doc/posix-headers/netdb.texi: Likewise.
15929
15930 2011-03-18  Eric Blake  <eblake@redhat.com>
15931
15932         maint.mk: let po check work in VPATH build
15933         * top/maint.mk (po_file): Allow cfg.mk override.
15934         (sc_po_check): Allow VPATH use.
15935         Reported by Jiri Denemark.
15936
15937 2011-03-16  Jim Meyering  <meyering@redhat.com>
15938
15939         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15940         Before, you would have had to create one .x-sc_ file per rule in order
15941         to exempt offending files.  Now, you may instead use a Make variable --
15942         usually defined in cfg.mk -- whose name identifies the affected rule.
15943         * top/maint.mk (_sc_excl): Define.
15944         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15945         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15946
15947 2011-03-13  Bruno Haible  <bruno@clisp.org>
15948
15949         ignore-value tests: Avoid warnings.
15950         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15951         empty for gcc < 3.4.
15952
15953 2011-03-13  Bruno Haible  <bruno@clisp.org>
15954
15955         passfd: Fix link error on Solaris.
15956         * modules/passfd (Description): Correct.
15957         (Depends-on): Add socketlib.
15958         (Link): New section.
15959         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15960
15961 2011-03-13  Bruno Haible  <bruno@clisp.org>
15962
15963         passfd: Fix link error on AIX 5.2.
15964         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15965
15966 2011-03-13  Bruno Haible  <bruno@clisp.org>
15967
15968         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15969         * lib/sys_socket.in.h: Include <stddef.h>.
15970         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15971         CMSG_FIRSTHDR. Remove unused variable.
15972
15973 2011-03-13  Bruno Haible  <bruno@clisp.org>
15974
15975         passfd: Fix compilation error on OpenBSD.
15976         * lib/passfd.c: Include <sys/uio.h>.
15977
15978 2011-03-13  Bruno Haible  <bruno@clisp.org>
15979
15980         passfd test: Fix warnings.
15981         * tests/test-passfd.c: Include <sys/wait.h>.
15982         (main): Fix typo.
15983
15984 2011-03-13  Bruno Haible  <bruno@clisp.org>
15985
15986         passfd module, part 4, tweaks.
15987         * tests/test-passfd.c: Reorder includes.
15988         (main): Fix perror and printf calls.
15989
15990 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15991
15992         passfd module, part 4.
15993         * modules/passfd-tests: New file.
15994         * tests/test-passfd.c: New file.
15995
15996 2011-03-13  Jim Meyering  <meyering@redhat.com>
15997
15998         Makefile: rely on GNU make; derive syntax-check rule names
15999         Rather than requiring that each sc_ rule be listed as a dependent
16000         of "check", use features of GNU make to derive the list.
16001         * Makefile (syntax-check-rules): Define.
16002         (check): Depend on the new variable, not the hard-coded list.
16003
16004 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16005             Bruno Haible  <bruno@clisp.org>
16006
16007         passfd module, part 3.
16008         * lib/passfd.h (recvfd): Add a flags argument.
16009         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16010         (recvfd): Add a flags argument.
16011         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16012         exists.
16013         * modules/passfd (Depends-on): Add cloexec.
16014         Suggested by Eric Blake.
16015
16016 2011-03-13  Bruno Haible  <bruno@clisp.org>
16017
16018         passfd module, part 2, tweaks.
16019         * modules/passfd (Files): Reorder.
16020         (Depends-on): Remove errno.
16021         (Include): Remove <sys/socket.h>, <sys/un.h>.
16022         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16023         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16024         specification header. Include <sys/socket.h> always. Don't include
16025         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16026         (sendfd): Clarify that it sets errno when it fails.
16027         (recvfd): Fix specification.
16028
16029 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16030
16031         passfd module, part 2.
16032         * modules/passfd: New file.
16033         * lib/passfd.h: New file.
16034         * lib/passfd.c: New file.
16035
16036 2011-03-12  Bruno Haible  <bruno@clisp.org>
16037
16038         wcswidth, mbswidth: Avoid integer overflow.
16039         * lib/wcswidth.c: Include <limits.h>.
16040         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16041         * lib/mbswidth.c: Include <limits.h>.
16042         (mbsnwidth): Avoid 'int' overflow.
16043         Reported by Jim Meyering.
16044
16045 2011-03-12  Bruno Haible  <bruno@clisp.org>
16046
16047         futimens, utimensat: Avoid endless recursion on Solaris 10.
16048         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16049         Solaris.
16050         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16051         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16052
16053 2011-03-11  Jim Meyering  <meyering@redhat.com>
16054
16055         maint.mk: relax a regexp to accommodate other formatting styles
16056         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16057         between "ngettext" and the following "(".
16058
16059 2011-03-11  Pádraig Brady <P@draigBrady.com>
16060
16061         maint.mk: suppress a false positive warning
16062         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16063         diagnostics are marked with ngettext.
16064
16065 2011-03-10  Eric Blake  <eblake@redhat.com>
16066
16067         wchar: add explicit dependencies, for Tru64
16068         * modules/mbmemcasecoll (Depends-on): Add wchar.
16069         * modules/mbtowc (Depends-on): Likewise.
16070         * modules/vasnprintf (Depends-on): Likewise.
16071         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16072         * modules/wctomb (Depends-on): Likewise.
16073         Reported by Peter O'Gorman.
16074
16075 2011-03-08  Bruno Haible  <bruno@clisp.org>
16076
16077         passfd module, part 1, tweaks.
16078         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16079         Improve indentation. Improve AC_MSG_CHECKING messages.
16080         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16081         gl_SOCKET_FAMILIES.
16082
16083 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16084
16085         passfd module, part 1.
16086         * m4/afunix.m4: New file.
16087         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16088         sockets.
16089
16090 2011-03-08  Bruno Haible  <bruno@clisp.org>
16091
16092         regex-quote: New API.
16093         * lib/regex-quote.h: Include <stdbool.h>.
16094         (struct regex_quote_spec): New type.
16095         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16096         New declarations.
16097         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16098         'const struct regex_quote_spec *' argument.
16099         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16100         (pcre_special): New constant.
16101         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16102         New functions.
16103         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16104         'const struct regex_quote_spec *' argument.
16105         * modules/regex-quote (Depends-on): Add stdbool.
16106         * tests/test-regex-quote.c (check): Update for new API. Add test for
16107         anchored results.
16108         * NEWS: Mention the API change.
16109         Reported by Reuben Thomas and Eric Blake.
16110
16111 2011-03-06  Bruno Haible  <bruno@clisp.org>
16112
16113         regex-quote: Fix creation of POSIX extended regular expressions.
16114         * lib/regex-quote.c (ere_special): Add grouping and alternation
16115         operators.
16116
16117 2011-03-05  Bruno Haible  <bruno@clisp.org>
16118
16119         doc: Improve doc regarding autopoint vs. gnulib.
16120         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16121         disable autopoint while running autoreconf.
16122         Suggested by Ralf Wildenhues.
16123
16124 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16125
16126         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16127         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16128
16129 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16130
16131         parse-duration: remove xalloc.h dependency
16132         * lib/parse-duration.c (parse_period): handle NULL return from
16133         strdup instead of calling xstrdup().
16134         * modules/parse-duration: remove "xalloc" dependency
16135
16136 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16137
16138         bootstrap: honor m4_base when running aclocal
16139         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16140
16141 2011-03-02  Jim Meyering  <meyering@redhat.com>
16142
16143         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16144         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16145         on request from Matt Booth.
16146
16147 2011-03-01  Eric Blake  <eblake@redhat.com>
16148
16149         test-link: work on Hurd
16150         * tests/test-link.h (test_link): Hurd rejects linking directories
16151         with EISDIR instead of the POSIX-mandated EPERM.
16152
16153 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16154
16155         stdio: simplify by moving files to printf-posix, sigpipe
16156         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16157         since this symbol is needed only if printf is replaced.
16158         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16159         Require gl_ASM_SYMBOL_PREFIX.
16160         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16161         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16162         (Depends-on): Add 'raise'.
16163         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16164         * modules/stdio (Files): Remove lib/stdio-write.c,
16165         m4/asm-underscore.m4.
16166         (Depends-on): Remove 'raise'.
16167
16168         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16169         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16170         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16171         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16172
16173 2011-02-28  Bruno Haible  <bruno@clisp.org>
16174
16175         localcharset: Assume ANSI C behaviour of free().
16176         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16177         calling free().
16178         Suggested by Simon Josefsson <simon@josefsson.org>.
16179
16180 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16181             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16182             Bruno Haible  <bruno@clisp.org>  (tiny change)
16183
16184         On Cygwin, use /proc file system instead of win32 API.
16185         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16186         Win32 file names.
16187         (DllMain): Simplify by removing Cygwin specific code.
16188         (find_shared_library_fullname): Use Linux specific implementation also
16189         for Cygwin.
16190         (get_shared_library_fullname): Update accordingly.
16191         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
16192         Win32 file names.
16193         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
16194         Cygwin specific code.
16195
16196 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
16197             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
16198
16199         Fix OpenMP flag detection for various Fortran compilers.
16200         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
16201         OpenMP-conditional compilation construct, to force compile
16202         failure with missing OpenMP flag.
16203         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
16204
16205 2011-02-25  Eric Blake  <eblake@redhat.com>
16206
16207         strstr: expand test coverage
16208         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
16209         compilation.
16210         * tests/test-memmem.c (main): Duplicate tests.
16211         * tests/test-strcasestr.c (main): Likewise.
16212         * tests/test-c-strcasestr.c (main): Likewise.
16213
16214 2011-02-25  Jim Meyering  <meyering@redhat.com>
16215
16216         maint.mk: detect missing-NL-at-EOF, too
16217         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
16218         it also detects when a file lacks a newline at EOF.
16219         (require_exactly_one_NL_at_EOF_): Renamed from
16220         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
16221         since people may well have .x-sc_... file names tied to the
16222         existing name.  Suggested by Eric Blake.
16223
16224 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16225
16226         dirname: move m4/dos.m4 functionality into lib/dosname.h
16227
16228         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
16229         extracts symbols from it, puts them into config.h; but it's much
16230         easier to use the symbols directly.  filename.h already does this,
16231         but it disagrees with dos.m4 in some respects.  This patch
16232         introduces a different include file dosname.h that packages up
16233         dos.m4, and then later we can work on merging filename.h and
16234         dosname.h.  Applications that need only the easy-to-configure
16235         symbols should consider including dosname.h rather than dirname.h.
16236         * NEWS: Mention incompatible changes.
16237         * m4/dos.m4: Remove.
16238         * lib/dosname.h, modules/dosname: New files.
16239         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
16240         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
16241         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
16242         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
16243         Include dosname.h, not dirname.h.
16244         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
16245         Include dosname.h, for definitions of symbols like ISSLASH
16246         that used to be in config.h.
16247         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
16248         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16249         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16250         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16251         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
16252         * modules/rmdir (Files): Likewise.
16253         * modules/stat (Files): Likewise.
16254         * modules/unlink (Files): Likewise.
16255         * modules/dirname-lgpl (Depends-on): Add dosname.
16256         * modules/lstat (Depends-on): Likewise.
16257         * modules/openat (Depends-on): Likewise.
16258         * modules/rmdir (Depends-on): Likewise.
16259         * modules/savewd (Depends-on): Likewise.
16260         * modules/stat (Depends-on): Likewise.
16261         * modules/unlink (Depends-on): Likewise.
16262         * modules/openat (Depends-on): Remove dirname-lgpl.
16263         * modules/savewd (Depends-on): Likewise.
16264         * tests/test-dirname.c: Do not use removed symbols like
16265         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
16266         the remaining symbols, e.g., ISSLASH ('\\').
16267
16268 2011-02-25  Eric Blake  <eblake@redhat.com>
16269
16270         strstr: revert patches that introduced bug and pessimization
16271         * lib/str-two-way.h: Add another reference.
16272         (two_way_short_needle, two_way_long_needle): Revert changes from
16273         2011-02-24; they pessimize search speed.
16274         (critical_factorization): Partially revert changes from
16275         2010-06-22; they violate the requirement that the left half of the
16276         needle be smaller than the period of the needle.
16277
16278 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16279
16280         filenamecat: remove unnecessary dependency on dirname-lgpl
16281         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
16282         is no direct dependency, just an indirect one via filenamecat-lgpl.
16283
16284         remove: remove unnecessary use of m4/dos.m4
16285         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
16286         * modules/remove (FILES): Remove m4/dos.m4.
16287
16288         * lib/openat-proc.c: Don't include dirname.h; not needed.
16289
16290         backupfile: remove unnecessary use of m4/dos.m4
16291         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
16292         of its symbols are used by the backupfile code.  backupfile.c does
16293         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
16294         for the rare case of programs that want all their backup file
16295         names to live within 8+3 limits, and dos.m4 doesn't address that.
16296         * modules/backupfile (Files): Remove m4/dos.m4.
16297
16298 2011-02-24  Jim Meyering  <meyering@redhat.com>
16299
16300         strstr: fix a bug whereby strstr would mistakenly return NULL
16301         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
16302         in period calculation.
16303         (two_way_long_needle): Likewise.
16304         The original problem was reported by Mike Stump in
16305         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
16306         Ralf Wildenhues provided the short needle and haystack.
16307         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16308         Add a more involved test to trigger the bug in two_way_long_needle.
16309
16310 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16311
16312         gnulib-tool: remove use of bold display in help screen
16313         * gnulib-tool (func_usage): Do not use bold display anymore in the
16314         help screen.  That was just meant to be a temporary emphasis for a
16315         backward-incompatible change.
16316
16317 2011-02-23  Bruno Haible  <bruno@clisp.org>
16318
16319         Fix misindentation of preprocessor directives.
16320         * lib/argp-namefrob.h: Reindent preprocessor directives.
16321         * lib/getopt_int.h (struct _getopt_data): Likewise.
16322         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16323         * lib/vasnprintf.c (decode_long_double): Likewise.
16324         * tests/test-argmatch.c: Insert blank lines, for clarity.
16325         * tests/test-exclude.c: Likewise.
16326
16327 2011-02-22  Bruno Haible  <bruno@clisp.org>
16328
16329         ioctl: Fix for MacOS X in 64-bit mode.
16330         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16331         value.
16332         Suggested by Eric Blake.
16333         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16334
16335 2011-02-22  Jim Meyering  <meyering@redhat.com>
16336
16337         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16338         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16339         in lib/.
16340
16341 2011-02-22  Eric Blake  <eblake@redhat.com>
16342
16343         maint: avoid any CDPATH issue
16344         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16345
16346         maint: adjust cpp indentation for my modules, as well
16347         * Makefile (sc_cpp_indent_check): Add my name.
16348         * lib/fbufmode.c: Filter through cppi.
16349         * lib/fpurge.c: Likewise.
16350         * lib/freadable.c: Likewise.
16351         * lib/freading.c: Likewise.
16352         * lib/fwritable.c: Likewise.
16353         * lib/fwriting.c: Likewise.
16354         * lib/sigaction.c: Likewise.
16355
16356 2011-02-22  Jim Meyering  <meyering@redhat.com>
16357
16358         maint: adjust cpp indentation to reflect nesting depth
16359         I.e., in a block of code that begins with an unnested "#if",
16360         put one space between the "#" in column 1 and following token.
16361         For example,
16362         -#include <sys/vfs.h>
16363         +# include <sys/vfs.h>
16364         Do this only in .c files that are part of a module I maintain.
16365         * lib/linkat.c: Filter through cppi.
16366         * lib/nanosleep.c: Likewise.
16367         * lib/openat.c: Likewise.
16368         * lib/openat-die.c: Likewise.
16369         * lib/dup3.c: Likewise.
16370         * lib/fchownat.c: Likewise.
16371         * lib/flock.c: Likewise.
16372         * lib/fsync.c: Likewise.
16373         * lib/fts.c: Likewise.
16374         * lib/getpass.c: Likewise.
16375         * lib/gettimeofday.c: Likewise.
16376         * lib/userspec.c: Likewise.
16377         * Makefile (sc_cpp_indent_check): New rule, to check this.
16378
16379 2011-02-22  Bruno Haible  <bruno@clisp.org>
16380
16381         New module 'wctomb'.
16382         * lib/stdlib.in.h (wctomb): New declaration.
16383         * lib/wctomb.c: New file.
16384         * lib/wctomb-impl.h: New file.
16385         * m4/wctomb.m4: New file.
16386         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16387         REPLACE_WCTOMB.
16388         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16389         REPLACE_WCTOMB.
16390         * modules/wctomb: New file.
16391         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16392         * doc/posix-functions/wctomb.texi: Mention the new module.
16393         * modules/wctob (Depends-on): Add wctomb.
16394
16395 2011-02-22  Bruno Haible  <bruno@clisp.org>
16396
16397         New module 'mbtowc'.
16398         * lib/stdlib.in.h (mbtowc): New declaration.
16399         * lib/mbtowc.c: New file.
16400         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16401         * m4/mbtowc.m4: New file.
16402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16403         REPLACE_MBTOWC.
16404         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16405         REPLACE_MBTOWC.
16406         * modules/mbtowc: New file.
16407         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16408         * doc/posix-functions/mbtowc.texi: Mention the new module.
16409         * modules/btowc (Depends-on): Add mbtowc.
16410
16411 2011-02-22  Bruno Haible  <bruno@clisp.org>
16412
16413         wcrtomb: Add more tests for native Windows platforms.
16414         * tests/test-wcrtomb-w32-1.sh: New file.
16415         * tests/test-wcrtomb-w32-2.sh: New file.
16416         * tests/test-wcrtomb-w32-3.sh: New file.
16417         * tests/test-wcrtomb-w32-4.sh: New file.
16418         * tests/test-wcrtomb-w32-5.sh: New file.
16419         * tests/test-wcrtomb-w32.c: New file.
16420         * modules/wcrtomb-tests (Files): Add them.
16421         (Makefile.am): Arrange to run these tests.
16422         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
16423         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
16424
16425 2011-02-20  Bruno Haible  <bruno@clisp.org>
16426
16427         wcrtomb: Enhance test.
16428         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
16429
16430 2011-02-20  Bruno Haible  <bruno@clisp.org>
16431
16432         mbrtowc: Tiny optimization.
16433         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
16434
16435 2011-02-20  Jim Meyering  <meyering@redhat.com>
16436
16437         test-exclude.c: remove unmatched #endif
16438         * tests/test-exclude.c: Remove stray #endif, left over from
16439         the change of a week ago.
16440
16441 2011-02-19  Jim Meyering  <meyering@redhat.com>
16442
16443         git-version-gen: skip "-dirty" check when appropriate
16444         * build-aux/git-version-gen: Don't run any git commands when the
16445         version string comes from .tarball-version.  Prior to this, we
16446         would run git update-index --refresh even from a just-unpacked
16447         tarball directory, and that could affect a .git/ directory in a
16448         parent of the build directory.  Reported by Mike Frysinger.
16449
16450 2011-02-19  Bruno Haible  <bruno@clisp.org>
16451
16452         unictype/property-byname: Reduce the size of the 'data' segment.
16453         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
16454
16455 2011-02-19  Bruno Haible  <bruno@clisp.org>
16456
16457         unictype/scripts: Reduce the size of the 'data' segment.
16458         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
16459         '%pic'.
16460         * lib/unictype/scripts_byname.gperf: Regenerated.
16461
16462 2011-02-19  Bruno Haible  <bruno@clisp.org>
16463
16464         stdint: Update documentation.
16465         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
16466
16467 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
16468
16469         stdint: omit redundant check for wchar.h
16470         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
16471         always tests whether wchar.h exists, so remove the now-redundant test.
16472
16473 2011-02-18  Bruno Haible  <bruno@clisp.org>
16474
16475         stdint: Cut dependency to module 'wchar'.
16476         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
16477         include the necessary prerequisites.
16478         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
16479         * modules/stdint (Depends-on): Remove wchar.
16480         (Makefile.am): Substitute HAVE_WCHAR_H.
16481         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16482
16483 2011-02-18  Eric Blake  <eblake@redhat.com>
16484
16485         longlong: skip, rather than fail, on cross-compilation
16486         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16487         when cross-compiling; regression from 2011-02-16.
16488
16489 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16490
16491         * NEWS: Mention 2011-02-08 change to stdlib.
16492
16493 2011-02-17  Bruno Haible  <bruno@clisp.org>
16494
16495         getloadavg: Add comments about platforms.
16496         * m4/getloadavg.m4: Add comment.
16497         * lib/getloadavg.c: Likewise.
16498
16499 2011-02-17  Bruno Haible  <bruno@clisp.org>
16500
16501         getloadavg: Fix link error on Solaris 2.6.
16502         * modules/getloadavg (Link): New section.
16503         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16504         linking test-getloadavg.
16505         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16506         getloadavg.
16507
16508 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16509
16510         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16511         It was 'int', but this doesn't match the IRIX 6.5 manual.
16512         Suggested by Bruno Haible in
16513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16514
16515 2011-02-17  Bruno Haible  <bruno@clisp.org>
16516
16517         havelib: Fix comments.
16518         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16519         change.
16520
16521 2011-02-17  Bruno Haible  <bruno@clisp.org>
16522
16523         havelib: Update config.rpath.
16524         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16525
16526 2011-02-17  Bruno Haible  <bruno@clisp.org>
16527
16528         getloadavg test: Add some plausibility checks.
16529         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16530         is improbable.
16531
16532 2011-02-16  Eric Blake  <eblake@redhat.com>
16533
16534         maintainer-makefile: make syntax-check a no-op from tarballs
16535         * top/maint.mk (no-vc-detected): New rule.
16536         (local-checks-available): Use it to avoid hanging if someone tries
16537         'make syntax-check' from a tarball.  Also append to any non-syntax
16538         checks already defined in cfg.mk.
16539
16540 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16541
16542         longlong: tune, particularly for common case of c99
16543
16544         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16545         or running anything if c99, or if unsigned long long int does not
16546         work.  In either case, we know the answer without further tests.
16547         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16548         it at most once, and use its results for both long long int and
16549         unsigned long long int.  This is more likely to be efficient in
16550         the common case where the program wants to check for both long
16551         long int and unsigned long long int.
16552         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16553         since the answer is already known.
16554
16555 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16556
16557         getloadavg: set errno
16558         * lib/getloadavg.c: Set errno when returning -1.  If no other
16559         error number looks appropriate, set it to ENOSYS if the getloadavg
16560         looks like it can't possibly ever work, ENOTSUP otherwise.
16561         Suggested by Bruno Haible in
16562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16563
16564         getloadavg: trim unused parts and speed up 'configure'
16565         * NEWS: Document this.
16566         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16567         always compiled if getloadavg is absent.
16568         Move test code to ...
16569         * tests/test-getloadavg.c: New file, containing previous
16570         contents of test from lib/getloadavg.c.  It also contains
16571         suggestions by Bruno Haible in
16572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16573         * modules/getloadavg-tests: New file.
16574         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16575         Do tests in the same order as they're needed for getloadavg.c.
16576         Omit setgid-related tests that generate symbols KMEM_GROUP,
16577         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16578         Do only the tests that are needed to see whether the system has
16579         getloadavg, moving the other tests into ...
16580         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16581         NLIST_NAME_UNION; nobody should be using it.  Do not define
16582         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16583         relevant, as the user of this module shouldn't care how getloadavg
16584         is implemented.
16585
16586         getloadavg: omit unused var
16587         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16588
16589 2011-02-15  Jim Meyering  <meyering@redhat.com>
16590
16591         doc: update users.txt
16592         * users.txt: Update iwhd's URL.
16593
16594 2011-02-13  Bruno Haible  <bruno@clisp.org>
16595
16596         Consistent macro naming for macros that use GCC __attribute__.
16597         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16598         _ATTRIBUTE_NONNULL_.
16599         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16600         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16601         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16602         ATTRIBUTE_DEPRECATED.
16603         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16604         ATTRIBUTE_NORETURN.
16605         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16606         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16607         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16608         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16609         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16610         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16611         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16612         ATTRIBUTE_SENTINEL.
16613         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16614         ATTRIBUTE_RETURN_CHECK.
16615         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16616         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16617         ATTRIBUTE_NORETURN.
16618         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16619         Reported by Paul Eggert.
16620
16621 2011-02-13  Bruno Haible  <bruno@clisp.org>
16622
16623         Don't interfere with a program's definition of __attribute__.
16624         * lib/argp.h (__attribute__): Remove definition.
16625         (_GL_ATTRIBUTE_FORMAT): New macro.
16626         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16627         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16628         (_GL_ATTRIBUTE_FORMAT): New macro.
16629         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16630         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16631         GCC 3 or newer.
16632         * lib/error.h (__attribute__): Remove definition.
16633         (_GL_ATTRIBUTE_FORMAT): New macro.
16634         (error, error_at_line): Use it.
16635         * lib/hash.h (__attribute__): Remove definition.
16636         (ATTRIBUTE_WUR): Update definition. Define always.
16637         * lib/openat.h (__attribute__): Remove definition.
16638         (ATTRIBUTE_NORETURN): Update definition. Define always.
16639         * lib/sigpipe-die.h (__attribute__): Remove definition.
16640         (ATTRIBUTE_NORETURN): Update definition. Define always.
16641         * lib/vasnprintf.h (__attribute__): Remove definition.
16642         (_GL_ATTRIBUTE_FORMAT): New macro.
16643         (asnprintf, vasnprintf): Use it.
16644         * lib/xalloc.h (__attribute__): Remove definition.
16645         (ATTRIBUTE_NORETURN): Update definition. Define always.
16646         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16647         * lib/xmemdup0.h (__attribute__): Remove definition.
16648         (ATTRIBUTE_NORETURN): Update definition. Define always.
16649         * lib/xprintf.h (__attribute__): Remove definition.
16650         (_GL_ATTRIBUTE_FORMAT): New macro.
16651         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16652         * lib/xstrtol.h (__attribute__): Remove definition.
16653         (ATTRIBUTE_NORETURN): Update definition. Define always.
16654         * lib/xvasprintf.h (__attribute__): Remove definition.
16655         (_GL_ATTRIBUTE_FORMAT): New macro.
16656         (xasprintf, xvasprintf): Use it.
16657         * tests/test-argmatch.c (__attribute__): Remove definition.
16658         (ATTRIBUTE_NORETURN): Update definition. Define always.
16659         * tests/test-exclude.c (__attribute__): Remove definition.
16660         (ATTRIBUTE_NORETURN): Update definition. Define always.
16661         Reported by Paul Eggert.
16662
16663 2011-02-13  Bruno Haible  <bruno@clisp.org>
16664
16665         mbrtowc: Add more tests for native Windows platforms.
16666         * tests/test-mbrtowc-w32-1.sh: New file.
16667         * tests/test-mbrtowc-w32-2.sh: New file.
16668         * tests/test-mbrtowc-w32-3.sh: New file.
16669         * tests/test-mbrtowc-w32-4.sh: New file.
16670         * tests/test-mbrtowc-w32-5.sh: New file.
16671         * tests/test-mbrtowc-w32.c: New file.
16672         * modules/mbrtowc-tests (Files): Add them.
16673         (Makefile.am): Arrange to run these tests.
16674         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16675         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16676
16677 2011-02-13  Bruno Haible  <bruno@clisp.org>
16678
16679         mbrtowc: Work around native Windows bug.
16680         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16681         guess when no suitable locale for testing was found.
16682         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16683
16684 2011-02-13  Bruno Haible  <bruno@clisp.org>
16685
16686         mbsinit: Work around mingw bug.
16687         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16688         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16689         Windows.
16690         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16691
16692 2011-02-13  Bruno Haible  <bruno@clisp.org>
16693
16694         mbsinit: Don't crash for a NULL argument.
16695         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16696         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16697
16698 2011-02-13  Bruno Haible  <bruno@clisp.org>
16699
16700         Don't interfere with a program's definition of __attribute__.
16701         * lib/stdio.in.h (__attribute__): Remove definition.
16702         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16703         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16704         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16705         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16706         * lib/string.in.h (__attribute__): Remove definition.
16707         Reported by Paul Eggert.
16708
16709 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16710
16711         stdlib: don't get in the way of non-GCC __attribute__
16712         See thread starting at
16713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16714         Revert previous stdlib change, installing the following instead:
16715         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16716         to get in the way of a non-GCC compiler that supports __attribute__.
16717         (_GL_ATTRIBUTE_RETURN): New macro.
16718         (_Exit): Use it instead of __attribute__.
16719
16720 2011-02-12  Bruno Haible  <bruno@clisp.org>
16721
16722         quotearg test: Avoid test failure on mingw.
16723         * tests/test-quotearg.sh: Convert the locale identifier from native
16724         Windows syntax to Unix syntax.
16725
16726 2011-02-12  Bruno Haible  <bruno@clisp.org>
16727
16728         setlocale: Prefer gnulib's override over libintl's override.
16729         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16730         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16731         GNULIB_defined_setlocale is set.
16732
16733 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16734
16735         stdlib: support non-GCC __attribute__
16736
16737         Fix a serious and tricky problem encountered when attempting to
16738         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16739         5.5, but it crashed due to memory corruption on Solaris 10 with
16740         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16741         bits that are otherwise zero.  This tagging is optional inside
16742         Emacs but is preferred and is used when __attribute__ ((__aligned
16743         (8))) works, as it does with both recent-enough GCC and with Sun C
16744         5.11.  However, Sun C 5.11 is not GCC and does not #define
16745         __GNUC__ and __GNUC_MINOR__.
16746
16747         When I added the getloadavg module to Emacs, it brought in
16748         stdlib.in.h, which contained this fragment:
16749
16750            #ifndef __attribute__
16751            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16752            #  define __attribute__(Spec)   /* empty */
16753            # endif
16754            #endif
16755
16756         When files that include <stdlib.h> were compiled with Sun C 5.11,
16757         the above code disabled __attribute__ ((__aligned (8))), which
16758         caused variables to not be properly aligned, which eventually led
16759         to the pointer corruption mentioned above.  (This was a bit hard
16760         to diagnose, unfortunately.)
16761
16762         Several "#define __attribute__(X) /* empty */" code snippets need
16763         to be eradicated from Gnulib to work with non-GCC compilers that
16764         support __attribute__.  The Autoconf way to do this is to test for
16765         each kind of attribute that we want support for, and selectively
16766         enable that in source code.
16767
16768         Fix this problem just for stdlib.h, by adding a test for the
16769         __noreturn__ attribute, and change stdlib.in.h to use that test
16770         when needed.  This technique can be easily generalized to the
16771         other *.in.h files and attributes, and a similar technique can be
16772         used for *.h and *.c files.  This patch is enough to solve the
16773         problem for Emacs + getloadavg, and I thought I'd publish it for
16774         feedback before undertaking further, similar fixes in other
16775         modules.
16776
16777         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16778         because it's not needed for stdlib.h.  It merely substitutes the
16779         value directly into stdlib.h.  We may well need to #define it, or
16780         similar symbols, for other modules, but it's nice to also have an
16781         option to not #define it for applications like Emacs that do not
16782         need it.
16783
16784         * lib/stdlib.in.h (__attribute__): Do not #define.
16785         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16786         be defined only if the _Exit module is also used.
16787         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16789         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16790         platforms.
16791         * modules/_Exit (Files): Add m4/attribute.m4.
16792         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16793         * m4/attribute.m4: New file.
16794
16795 2011-02-12  Bruno Haible  <bruno@clisp.org>
16796
16797         wcsrtombs: Work around bug on native Windows.
16798         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16799         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16800         instead of len.
16801         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16802
16803 2011-02-12  Bruno Haible  <bruno@clisp.org>
16804
16805         mbsrtowcs: Work around bug on native Windows.
16806         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16807         against mingw bug.
16808         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16809
16810 2011-02-12  Bruno Haible  <bruno@clisp.org>
16811
16812         Avoid setlocale bugs in tests.
16813         * modules/btowc (Dependencies): Add setlocale.
16814         * modules/c-strcase (Dependencies): Likewise.
16815         * modules/mbmemcasecmp (Dependencies): Likewise.
16816         * modules/mbmemcasecoll (Dependencies): Likewise.
16817         * modules/mbrtowc (Dependencies): Likewise.
16818         * modules/mbscasecmp (Dependencies): Likewise.
16819         * modules/mbscasestr (Dependencies): Likewise.
16820         * modules/mbschr (Dependencies): Likewise.
16821         * modules/mbscspn (Dependencies): Likewise.
16822         * modules/mbsinit (Dependencies): Likewise.
16823         * modules/mbsncasecmp (Dependencies): Likewise.
16824         * modules/mbsnrtowcs (Dependencies): Likewise.
16825         * modules/mbspbrk (Dependencies): Likewise.
16826         * modules/mbspcasecmp (Dependencies): Likewise.
16827         * modules/mbsrchr (Dependencies): Likewise.
16828         * modules/mbsrtowcs (Dependencies): Likewise.
16829         * modules/mbsspn (Dependencies): Likewise.
16830         * modules/mbsstr (Dependencies): Likewise.
16831         * modules/nl_langinfo (Dependencies): Likewise.
16832         * modules/quotearg (Dependencies): Likewise.
16833         * modules/unicase/locale-language (Dependencies): Likewise.
16834         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16835         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16836         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16837         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16838         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16839         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16840         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16841         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16842         * modules/vasnprintf-posix (Dependencies): Likewise.
16843         * modules/wcrtomb (Dependencies): Likewise.
16844         * modules/wcsnrtombs (Dependencies): Likewise.
16845         * modules/wcsrtombs (Dependencies): Likewise.
16846
16847 2011-02-12  Bruno Haible  <bruno@clisp.org>
16848
16849         setlocale: Workaround native Windows bug.
16850         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16851         succeeds but sets LC_CTYPE to "C", report a failure.
16852         * tests/test-setlocale2.sh: New file.
16853         * tests/test-setlocale2.c: New file.
16854         * modules/setlocale-tests (Files): Add the new files.
16855         (Makefile.am): Enable test-setlocale2.sh test.
16856         * doc/posix-functions/setlocale.texi: Mention workaround.
16857
16858 2011-02-11  Bruno Haible  <bruno@clisp.org>
16859
16860         Tests for module 'setlocale'.
16861         * modules/setlocale-tests: New file.
16862         * tests/test-setlocale1.sh: New file.
16863         * tests/test-setlocale1.c: New file.
16864
16865         New module 'setlocale'.
16866         * lib/locale.in.h (setlocale): New declaration.
16867         * lib/setlocale.c: New file, based on
16868         gettext/gettext-runtime/intl/setlocale.c.
16869         * m4/setlocale.m4: New file.
16870         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16871         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16872         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16873         REPLACE_SETLOCALE.
16874         * modules/setlocale: New file.
16875         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16876         * doc/posix-functions/setlocale.texi: Mention the new module.
16877
16878 2011-02-11  Bruno Haible  <bruno@clisp.org>
16879
16880         Prepare for locale dependent tests on mingw.
16881         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16882         because it has the wrong locale encoding.
16883         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16884         French_France.1252 instead of "fr".
16885         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16886         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16887         because it has the wrong locale encoding.
16888         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16889         native Windows, try Turkish_Turkey.65001.
16890         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16891         Chinese_China.54936.
16892
16893         Prepare for locale dependent tests on mingw.
16894         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16895         differently.
16896         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16897         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16898         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16899         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16900
16901 2011-02-11  Eric Blake  <eblake@redhat.com>
16902
16903         strptime: avoid compiler warnings
16904         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16905         compiler warnings about dead code.
16906         Reported by Daniel P. Berrange.
16907
16908 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16909
16910         doc: update users.txt
16911         * users.txt: Add rcs.
16912
16913 2011-02-10  John W. Eaton  <jwe@gnu.org>
16914
16915         doc: update users.txt
16916         * users.txt: Add octave.
16917
16918 2011-02-10  Jim Meyering  <meyering@redhat.com>
16919
16920         doc: update users.txt
16921         * users.txt: Add iwhd.
16922
16923 2011-02-09  Bruno Haible  <bruno@clisp.org>
16924
16925         gnulib-tool: Make copyright notice adjustment more robust.
16926         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16927         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16928         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16929         License".
16930         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16931
16932 2011-02-06  Bruno Haible  <bruno@clisp.org>
16933
16934         New module 'towctrans'.
16935         * modules/towctrans: New file.
16936         * lib/wctype.in.h (towctrans): New declaration.
16937         * lib/towctrans.c: New file.
16938         * lib/towctrans-impl.h: New file.
16939         * m4/towctrans.m4: New file.
16940         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16941         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16942         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16943         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16944         * doc/posix-functions/towctrans.texi: Mention the new module.
16945
16946 2011-02-06  Bruno Haible  <bruno@clisp.org>
16947
16948         New module 'wctrans'.
16949         * modules/wctrans: New file.
16950         * lib/wctype.in.h (wctrans): New declaration.
16951         * lib/wctrans.c: New file.
16952         * lib/wctrans-impl.h: New file.
16953         * m4/wctrans.m4: New file.
16954         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16955         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16956         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16957         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16958         * doc/posix-functions/wctrans.texi: Mention the new module.
16959
16960 2011-02-06  Bruno Haible  <bruno@clisp.org>
16961
16962         New module 'iswctype'.
16963         * modules/iswctype: New file.
16964         * lib/wctype.in.h (iswctype): New declaration.
16965         * lib/iswctype.c: New file.
16966         * lib/iswctype-impl.h: New file.
16967         * m4/iswctype.m4: New file.
16968         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16969         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16970         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16971         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16972         * doc/posix-functions/iswctype.texi: Mention the new module and the
16973         HP-UX 11.00 problem.
16974
16975 2011-02-06  Bruno Haible  <bruno@clisp.org>
16976
16977         New module 'wctype'.
16978         * modules/wctype: Change to represent the wctype() substitute.
16979         * lib/wctype.in.h (wctype): New declaration.
16980         * lib/wctype.c: New file.
16981         * lib/wctype-impl.h: New file.
16982         * m4/wctype.m4: New file.
16983         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16984         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16985         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16986         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16987         * doc/posix-functions/wctype.texi: Mention the new module and the
16988         HP-UX 11.00 problem.
16989
16990 2011-02-06  Bruno Haible  <bruno@clisp.org>
16991
16992         wctype-h: Ensure wctype_t and wctrans_t are defined.
16993         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16994         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16995         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16996         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16997         HAVE_WCTRANS_T.
16998         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16999
17000 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17001
17002         flock: fix license typo
17003
17004         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17005         omitted.
17006
17007 2011-02-08  Bruno Haible  <bruno@clisp.org>
17008
17009         Split large sed scripts, for HP-UX sed.
17010         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17011         to avoid HP-UX limit of 99 commands, in the near future.
17012         * modules/stdlib (Makefile.am): Likewise.
17013         * modules/unistd (Makefile.am): Likewise.
17014         * modules/wchar (Makefile.am): Likewise.
17015         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17016         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17017         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17018
17019 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17020             Bruno Haible  <bruno@clisp.org>
17021
17022         stdlib: improve random_r modularization
17023         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17024         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17025         you also need the random_r module to get this material right.
17026         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17027         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17028         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17029
17030 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17031
17032         stdlib: don't depend on stdint
17033         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17034         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17035         be independent of whether stdint.h is needed.
17036         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17037         here, instead of ...
17038         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17039         struct random_data should be using the random_r module, not just
17040         the stdlib module (which wouldn't make sense: what package needs
17041         just struct random_data without also needing random_r?).
17042         * modules/stdlib (Depends-on): Remove stdint.
17043
17044         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17045         See the thread rooted at
17046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17047         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17048         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17049         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17050         __VMS)); previously it was always included (via fcntl--.h).
17051         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17052         hand; this is good enough for load averages.  Also, do not use
17053         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17054         flags directly if available and don't bother otherwise.  (Packages
17055         that need the extra reliability should use the modules that define
17056         these flags on older platforms that lack them.)
17057         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17058         fcntl-safer.
17059
17060 2011-02-08  Jim Meyering  <meyering@redhat.com>
17061
17062         di-set.h, ino-map.h: add multiple-inclusion guard
17063         Technically, the guard is required only for ino-map.h, due to its
17064         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17065         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17066         * lib/ino-map.h: Likewise.
17067
17068 2011-02-06  Bruno Haible  <bruno@clisp.org>
17069
17070         iswblank: Ensure declaration on glibc systems.
17071         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17072         * modules/iswblank (Dependencies): Add 'extensions'.
17073         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17074
17075 2011-02-06  Bruno Haible  <bruno@clisp.org>
17076
17077         New module 'iswblank'.
17078         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17079         * modules/iswblank: New file.
17080         * modules/wctype-h (Files): Remove lib/iswblank.c.
17081         (Makefile.am): Substitute GNULIB_ISWBLANK.
17082         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17083         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17084         (gl_WCTYPE_H_DEFAULTS): New macro.
17085         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17086         * modules/iswblank-tests: New file.
17087         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17088         * tests/test-wctype-h.c (main): Remove iswblank tests.
17089         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17090         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17091         of 'wctype-h'.
17092         * NEWS: Mention the change.
17093         * modules/mbchar (Depends-on): Add iswblank.
17094
17095 2011-02-08  Bruno Haible  <bruno@clisp.org>
17096
17097         di-set tests: Refactor.
17098         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17099         unnecessary includes.
17100         (ASSERT): Remove macro.
17101         (main): Make C90 compliant by avoiding variable declaration after
17102         statement.
17103         * modules/di-set-tests (Files): Add tests/macros.h.
17104
17105 2011-02-08  Bruno Haible  <bruno@clisp.org>
17106
17107         ino-map tests: Refactor.
17108         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17109         unnecessary includes.
17110         (ASSERT): Remove macro.
17111         (main): Make C90 compliant by avoiding variable declaration after
17112         statement.
17113         * modules/ino-map-tests (Files): Add tests/macros.h.
17114
17115 2011-02-08  Jim Meyering  <meyering@redhat.com>
17116
17117         di-set: add "const" to a cast
17118         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17119         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17120
17121 2011-02-06  Bruno Haible  <bruno@clisp.org>
17122
17123         Rename module 'wctype' to 'wctype-h'.
17124         * modules/wctype-h: Renamed from modules/wctype.
17125         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17126         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17127         (Files, Depends-on, Makefile.am): Update.
17128         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17129         (Files, Makefile.am): Update.
17130         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17131         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17132         * doc/posix-headers/wctype.texi: Update.
17133         * doc/posix-functions/iswalnum.texi: Update.
17134         * doc/posix-functions/iswalpha.texi: Update.
17135         * doc/posix-functions/iswblank.texi: Update.
17136         * doc/posix-functions/iswcntrl.texi: Update.
17137         * doc/posix-functions/iswdigit.texi: Update.
17138         * doc/posix-functions/iswgraph.texi: Update.
17139         * doc/posix-functions/iswlower.texi: Update.
17140         * doc/posix-functions/iswprint.texi: Update.
17141         * doc/posix-functions/iswpunct.texi: Update.
17142         * doc/posix-functions/iswspace.texi: Update.
17143         * doc/posix-functions/iswupper.texi: Update.
17144         * doc/posix-functions/iswxdigit.texi: Update.
17145         * doc/posix-functions/towlower.texi: Update.
17146         * doc/posix-functions/towupper.texi: Update.
17147         * NEWS: Mention the change.
17148         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17149         * modules/mbchar (Dependencies): Likewise.
17150         * modules/mbswidth (Dependencies): Likewise.
17151         * modules/quotearg (Dependencies): Likewise.
17152         * modules/regex (Dependencies): Likewise.
17153         * modules/wcscasecmp (Dependencies): Likewise.
17154         * modules/wcsncasecmp (Dependencies): Likewise.
17155         * modules/wcwidth (Dependencies): Likewise.
17156
17157 2011-02-06  Bruno Haible  <bruno@clisp.org>
17158
17159         New module 'wcswidth'.
17160         * modules/wcswidth: New file.
17161         * lib/wchar.in.h (wcswidth): New declaration.
17162         * lib/wcswidth.c: New file.
17163         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17164         * m4/wcswidth.m4: New file.
17165         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17166         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17167         REPLACE_WCSWIDTH.
17168         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17169         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17170         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17171         * doc/posix-functions/wcswidth.texi: Mention the new module.
17172
17173 2011-02-06  Bruno Haible  <bruno@clisp.org>
17174
17175         New module 'wcstok'.
17176         * modules/wcstok: New file.
17177         * lib/wchar.in.h (wcstok): New declaration.
17178         * lib/wcstok.c: New file.
17179         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17180         * m4/wcstok.m4: New file.
17181         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17182         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17183         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17184         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17185         * doc/posix-functions/wcstok.texi: Mention the new module.
17186
17187 2011-02-06  Bruno Haible  <bruno@clisp.org>
17188
17189         New module 'wcsstr'.
17190         * modules/wcsstr: New file.
17191         * lib/wchar.in.h (wcsstr): New declaration.
17192         * lib/wcsstr.c: New file.
17193         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
17194         * m4/wcsstr.m4: New file.
17195         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
17196         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
17197         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
17198         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
17199         * doc/posix-functions/wcsstr.texi: Mention the new module.
17200
17201 2011-02-06  Bruno Haible  <bruno@clisp.org>
17202
17203         New module 'wcspbrk'.
17204         * modules/wcspbrk: New file.
17205         * lib/wchar.in.h (wcspbrk): New declaration.
17206         * lib/wcspbrk.c: New file.
17207         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
17208         * m4/wcspbrk.m4: New file.
17209         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
17210         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
17211         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
17212         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
17213         * doc/posix-functions/wcspbrk.texi: Mention the new module.
17214
17215 2011-02-06  Bruno Haible  <bruno@clisp.org>
17216
17217         New module 'wcsspn'.
17218         * modules/wcsspn: New file.
17219         * lib/wchar.in.h (wcsspn): New declaration.
17220         * lib/wcsspn.c: New file.
17221         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
17222         * m4/wcsspn.m4: New file.
17223         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
17224         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
17225         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
17226         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
17227         * doc/posix-functions/wcsspn.texi: Mention the new module.
17228
17229 2011-02-06  Bruno Haible  <bruno@clisp.org>
17230
17231         New module 'wcscspn'.
17232         * modules/wcscspn: New file.
17233         * lib/wchar.in.h (wcscspn): New declaration.
17234         * lib/wcscspn.c: New file.
17235         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
17236         * m4/wcscspn.m4: New file.
17237         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
17238         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
17239         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
17240         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
17241         * doc/posix-functions/wcscspn.texi: Mention the new module.
17242
17243 2011-02-06  Bruno Haible  <bruno@clisp.org>
17244
17245         New module 'wcsrchr'.
17246         * modules/wcsrchr: New file.
17247         * lib/wchar.in.h (wcsrchr): New declaration.
17248         * lib/wcsrchr.c: New file.
17249         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
17250         * m4/wcsrchr.m4: New file.
17251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
17252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
17253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
17254         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
17255         * doc/posix-functions/wcsrchr.texi: Mention the new module.
17256
17257 2011-02-06  Bruno Haible  <bruno@clisp.org>
17258
17259         New module 'wcschr'.
17260         * modules/wcschr: New file.
17261         * lib/wchar.in.h (wcschr): New declaration.
17262         * lib/wcschr.c: New file.
17263         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
17264         * m4/wcschr.m4: New file.
17265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
17266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
17267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
17268         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
17269         * doc/posix-functions/wcschr.texi: Mention the new module.
17270
17271 2011-02-06  Bruno Haible  <bruno@clisp.org>
17272
17273         New module 'wcsdup'.
17274         * modules/wcsdup: New file.
17275         * lib/wchar.in.h (wcsdup): New declaration.
17276         * lib/wcsdup.c: New file.
17277         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
17278         * m4/wcsdup.m4: New file.
17279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
17280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
17281         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
17282         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
17283         * doc/posix-functions/wcsdup.texi: Mention the new module.
17284
17285 2011-02-06  Bruno Haible  <bruno@clisp.org>
17286
17287         New module 'wcsxfrm'.
17288         * modules/wcsxfrm: New file.
17289         * lib/wchar.in.h (wcsxfrm): New declaration.
17290         * lib/wcsxfrm.c: New file.
17291         * lib/wcsxfrm-impl.h: New file.
17292         * m4/wcsxfrm.m4: New file.
17293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
17294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
17295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
17296         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
17297         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
17298
17299 2011-02-06  Bruno Haible  <bruno@clisp.org>
17300
17301         New module 'wcscoll'.
17302         * modules/wcscoll: New file.
17303         * lib/wchar.in.h (wcscoll): New declaration.
17304         * lib/wcscoll.c: New file.
17305         * lib/wcscoll-impl.h: New file.
17306         * m4/wcscoll.m4: New file.
17307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17310         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17311         * doc/posix-functions/wcscoll.texi: Mention the new module.
17312
17313 2011-02-06  Bruno Haible  <bruno@clisp.org>
17314
17315         New module 'wcsncasecmp'.
17316         * modules/wcsncasecmp: New file.
17317         * lib/wchar.in.h (wcsncasecmp): New declaration.
17318         * lib/wcsncasecmp.c: New file.
17319         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17320         * m4/wcsncasecmp.m4: New file.
17321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17324         HAVE_WCSNCASECMP.
17325         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17326         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17327
17328 2011-02-06  Bruno Haible  <bruno@clisp.org>
17329
17330         New module 'wcscasecmp'.
17331         * modules/wcscasecmp: New file.
17332         * lib/wchar.in.h (wcscasecmp): New declaration.
17333         * lib/wcscasecmp.c: New file.
17334         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17335         * m4/wcscasecmp.m4: New file.
17336         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17337         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17338         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17339         HAVE_WCSCASECMP.
17340         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17341         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17342
17343 2011-02-05  Bruno Haible  <bruno@clisp.org>
17344
17345         New module 'wcsncmp'.
17346         * modules/wcsncmp: New file.
17347         * lib/wchar.in.h (wcsncmp): New declaration.
17348         * lib/wcsncmp.c: New file.
17349         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17350         * m4/wcsncmp.m4: New file.
17351         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17352         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17353         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17354         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17355         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17356
17357 2011-02-05  Bruno Haible  <bruno@clisp.org>
17358
17359         New module 'wcscmp'.
17360         * modules/wcscmp: New file.
17361         * lib/wchar.in.h (wcscmp): New declaration.
17362         * lib/wcscmp.c: New file.
17363         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
17364         * m4/wcscmp.m4: New file.
17365         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
17366         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
17367         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
17368         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
17369         * doc/posix-functions/wcscmp.texi: Mention the new module.
17370
17371 2011-02-05  Bruno Haible  <bruno@clisp.org>
17372
17373         New module 'wcsncat'.
17374         * modules/wcsncat: New file.
17375         * lib/wchar.in.h (wcsncat): New declaration.
17376         * lib/wcsncat.c: New file.
17377         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17378         * m4/wcsncat.m4: New file.
17379         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17380         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17381         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17382         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17383         * doc/posix-functions/wcsncat.texi: Mention the new module.
17384
17385 2011-02-05  Bruno Haible  <bruno@clisp.org>
17386
17387         New module 'wcscat'.
17388         * modules/wcscat: New file.
17389         * lib/wchar.in.h (wcscat): New declaration.
17390         * lib/wcscat.c: New file.
17391         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17392         * m4/wcscat.m4: New file.
17393         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17394         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17395         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17396         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17397         * doc/posix-functions/wcscat.texi: Mention the new module.
17398
17399 2011-02-05  Bruno Haible  <bruno@clisp.org>
17400
17401         New module 'wcpncpy'.
17402         * modules/wcpncpy: New file.
17403         * lib/wchar.in.h (wcpncpy): New declaration.
17404         * lib/wcpncpy.c: New file.
17405         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17406         * m4/wcpncpy.m4: New file.
17407         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17408         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17409         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17410         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17411         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17412
17413 2011-02-05  Bruno Haible  <bruno@clisp.org>
17414
17415         New module 'wcsncpy'.
17416         * modules/wcsncpy: New file.
17417         * lib/wchar.in.h (wcsncpy): New declaration.
17418         * lib/wcsncpy.c: New file.
17419         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
17420         * m4/wcsncpy.m4: New file.
17421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
17422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
17423         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
17424         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
17425         * doc/posix-functions/wcsncpy.texi: Mention the new module.
17426
17427 2011-02-05  Bruno Haible  <bruno@clisp.org>
17428
17429         New module 'wcpcpy'.
17430         * modules/wcpcpy: New file.
17431         * lib/wchar.in.h (wcpcpy): New declaration.
17432         * lib/wcpcpy.c: New file.
17433         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
17434         * m4/wcpcpy.m4: New file.
17435         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
17436         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
17437         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
17438         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
17439         * doc/posix-functions/wcpcpy.texi: Mention the new module.
17440
17441 2011-02-05  Bruno Haible  <bruno@clisp.org>
17442
17443         New module 'wcscpy'.
17444         * modules/wcscpy: New file.
17445         * lib/wchar.in.h (wcscpy): New declaration.
17446         * lib/wcscpy.c: New file.
17447         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
17448         * m4/wcscpy.m4: New file.
17449         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
17450         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
17451         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
17452         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
17453         * doc/posix-functions/wcscpy.texi: Mention the new module.
17454
17455 2011-02-05  Bruno Haible  <bruno@clisp.org>
17456
17457         New module 'wcsnlen'.
17458         * modules/wcsnlen: New file.
17459         * lib/wchar.in.h (wcsnlen): New declaration.
17460         * lib/wcsnlen.c: New file.
17461         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
17462         * m4/wcsnlen.m4: New file.
17463         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
17464         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
17465         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
17466         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
17467         * doc/posix-functions/wcsnlen.texi: Mention the new module.
17468
17469 2011-02-05  Bruno Haible  <bruno@clisp.org>
17470
17471         New module 'wcslen'.
17472         * modules/wcslen: New file.
17473         * lib/wchar.in.h (wcslen): New declaration.
17474         * lib/wcslen.c: New file.
17475         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
17476         * m4/wcslen.m4: New file.
17477         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
17478         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
17479         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
17480         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
17481         * doc/posix-functions/wcslen.texi: Mention the new module.
17482
17483 2011-02-05  Bruno Haible  <bruno@clisp.org>
17484
17485         New module 'wmemset'.
17486         * modules/wmemset: New file.
17487         * lib/wchar.in.h (wmemset): New declaration.
17488         * lib/wmemset.c: New file.
17489         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17490         * m4/wmemset.m4: New file.
17491         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17492         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17493         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17494         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17495         * doc/posix-functions/wmemset.texi: Mention the new module.
17496
17497 2011-02-05  Bruno Haible  <bruno@clisp.org>
17498
17499         New module 'wmemmove'.
17500         * modules/wmemmove: New file.
17501         * lib/wchar.in.h (wmemmove): New declaration.
17502         * lib/wmemmove.c: New file.
17503         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17504         * m4/wmemmove.m4: New file.
17505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17507         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17508         HAVE_WMEMMOVE.
17509         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17510         * doc/posix-functions/wmemmove.texi: Mention the new module.
17511
17512 2011-02-05  Bruno Haible  <bruno@clisp.org>
17513
17514         New module 'wmemcpy'.
17515         * modules/wmemcpy: New file.
17516         * lib/wchar.in.h (wmemcpy): New declaration.
17517         * lib/wmemcpy.c: New file.
17518         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17519         * m4/wmemcpy.m4: New file.
17520         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17521         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17522         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17523         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17524         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17525
17526 2011-02-05  Bruno Haible  <bruno@clisp.org>
17527
17528         New module 'wmemcmp'.
17529         * modules/wmemcmp: New file.
17530         * lib/wchar.in.h (wmemcmp): New declaration.
17531         * lib/wmemcmp.c: New file.
17532         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17533         * m4/wmemcmp.m4: New file.
17534         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17535         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17536         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17537         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17538         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17539
17540 2011-02-07  Jim Meyering  <meyering@redhat.com>
17541
17542         di-set, ino-map: new modules, from coreutils
17543         * lib/di-set.c: New file.
17544         * lib/di-set.h: Likewise.
17545         * lib/ino-map.c: Likewise.
17546         * lib/ino-map.h: Likewise.
17547         * modules/di-set: Likewise.
17548         * modules/di-set-tests: Likewise.
17549         * modules/ino-map: Likewise.
17550         * modules/ino-map-tests: Likewise.
17551         * tests/test-di-set.c: Likewise.
17552         * tests/test-ino-map.c: Likewise.
17553
17554 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17555
17556         getloadavg: merge minor changes from Emacs
17557
17558         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17559         (getloadavg): Use memset, not bzero.
17560
17561         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17562         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17563         clash (bug#86).
17564
17565 2010-11-14  Bruno Haible  <bruno@clisp.org>
17566
17567         Allow multiple gnulib generated replacements to coexist.
17568         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17569         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17570         * lib/langinfo.in.h (nl_item): Likewise.
17571         * lib/math.in.h (_NaN, NAN): Likewise.
17572         * lib/netdb.in.h (struct addrinfo): Likewise.
17573         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17574         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17575         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17576         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17577         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17578         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17579         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17580         pthread_mutexattr_init, pthread_mutexattr_settype,
17581         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17582         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17583         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17584         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17585         * lib/sched.in.h (struct sched_param): Likewise.
17586         * lib/se-selinux.in.h (security_class_t, security_context_t,
17587         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17588         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17589         lsetfilecon, fsetfilecon, security_check_context,
17590         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17591         Likewise.
17592         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17593         Likewise.
17594         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17595         _gl_function_taking_int_returning_void_t, union sigval,
17596         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17597         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17598         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17599         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17600         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17601         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17602         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17603         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17604         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17605         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17606         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17607         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17608         socklen_t, rpl_fd_isset): Likewise.
17609         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17610         * lib/sys_time.in.h (struct timeval): Likewise.
17611         * lib/sys_times.in.h (struct tms): Likewise.
17612         * lib/sys_utsname.in.h (struct utsname):
17613         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17614         * lib/unistd.in.h (getpagesize): Likewise.
17615         * lib/wchar.in.h (mbstate_t): Likewise.
17616         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17617         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17618         towlower, towupper): Likewise.
17619         Reported by Sam Steingold <sds@gnu.org>.
17620
17621 2011-02-05  Eric Blake  <eblake@redhat.com>
17622
17623         unsetenv: work around Haiku issues
17624         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17625         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17626
17627 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17628
17629         libposix: avoid calling error() within libposix
17630         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17631         is defined.
17632
17633 2011-02-05  Eric Blake  <eblake@redhat.com>
17634
17635         strerror_r-posix: port to cygwin
17636         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17637         implementation.
17638         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17639         * tests/test-strerror_r.c (main): Fix test.
17640         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17641         issue.
17642
17643 2011-02-05  Bruno Haible  <bruno@clisp.org>
17644
17645         New module 'wmemchr'.
17646         * modules/wmemchr: New file.
17647         * lib/wchar.in.h (wmemchr): New declaration.
17648         * lib/wmemchr.c: New file.
17649         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17650         * m4/wmemchr.m4: New file.
17651         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17652         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17653         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17654         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17655         * doc/posix-functions/wmemchr.texi: Mention the new module.
17656
17657 2011-02-04  Eric Blake  <eblake@redhat.com>
17658
17659         fdopendir: detect FreeBSD bug
17660         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17661         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17662
17663 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17664
17665         stdbool: do not define HAVE_STDBOOL_H
17666         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17667         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17668         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17669         imported from the latest Autoconf git.  It was motivated by Emacs,
17670         which uses gnulib but does not need HAVE_STDBOOL_H.
17671
17672 2011-02-04  Bruno Haible  <bruno@clisp.org>
17673
17674         wcsnrtombs: Prepare for new module wwcsnrtombs.
17675         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17676         * lib/wcsnrtombs.c: Include it.
17677         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17678
17679         wcsrtombs: Prepare for new module wwcsrtombs.
17680         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17681         * lib/wcsrtombs.c: Include it.
17682         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17683
17684         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17685         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17686         * lib/mbsnrtowcs.c: Include it.
17687         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17688
17689         mbsrtowcs: Prepare for new module mbsrtowwcs.
17690         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17691         * lib/mbsrtowcs.c: Include it.
17692         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17693
17694 2011-02-04  Bruno Haible  <bruno@clisp.org>
17695
17696         vasnprintf: Reduce use of malloc for small format strings.
17697         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17698         (arguments): Add room for the first 7 arguments.
17699         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17700         (char_directives, u8_directives, u16_directives, u32_directives): Add
17701         room for the first 7 directives.
17702         * lib/printf-parse.c: Include <string.h>.
17703         (PRINTF_PARSE): Change memory handling code so that it uses the first
17704         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17705         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17706         Reported by Pádraig Brady <P@draigbrady.com>.
17707
17708 2011-01-31  Eric Blake  <eblake@redhat.com>
17709
17710         dup2: work around Haiku bug
17711         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17712         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17713         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17714         * tests/test-dup2.c (main): Enhance test.
17715
17716 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17717
17718         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17719         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17720         declared by eglibc 2.11.2.
17721         * lib/stdio.in.h: Likewise.
17722
17723 2011-01-31  Eric Blake  <eblake@redhat.com>
17724
17725         ignore-value: add missing test dependency
17726         * tests/test-ignore-value.c: Revert previous change; stdio.h
17727         provides off_t.
17728         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17729
17730 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17731
17732         mktime: clarify long_int width checking
17733         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17734         the top level, to make it clearer that the assumption about
17735         long_int width is being checked.  See
17736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17737
17738 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17739
17740         ignore-value: Fix self-test.
17741         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17742
17743 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17744
17745         TYPE_MAXIMUM: avoid theoretically undefined behavior
17746         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17747         negative number, which the C Standard says has undefined behavior.
17748         In practice this is not a problem, but might as well do it by the book.
17749         Reported by Rich Felker and Eric Blake; see
17750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17751         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17752         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17753         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17754         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17755         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17756         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17757
17758         mktime: #undef mktime before #defining it
17759         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17760
17761         mktime: systematically normalize tm_isdst comparisons
17762         * lib/mktime.c (isdst_differ): New function.
17763         (__mktime_internal): Use it systematically for all isdst comparisons.
17764         This completes the fix for libc BZ #6723, and removes the need for
17765         normalizing tm_isdst.  See
17766         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17767         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17768
17769         mktime: fix some integer overflow issues and sidestep the rest
17770
17771         This was prompted by a bug report by Benjamin Lindner for MinGW
17772         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17773         His bug is due to signed integer overflow (0 - INT_MIN), and I
17774         I scanned through mktime.c looking for other integer overflow
17775         problems, fixing all the bugs I found.
17776
17777         Although the C Standard says the resulting code is still not safe
17778         in the presence of integer overflow, in practice it should be good
17779         enough for all real-world two's-complement implementations, except
17780         for debugging environments that deliberately trap on integer
17781         overflow (e.g., gcc -ftrapv).
17782
17783         * lib/mktime.c (WRAPV): New macro.
17784         (SHR): Also check that long_int and time_t shift right in the
17785         usual way, before using the fast-but-unportable method.
17786         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17787         used.  The code already assumed two's complement, so there's
17788         no need to test for alternatives.  All uses removed.
17789         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17790         the C standard.  Problem reported by Rich Felker in
17791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17792         (twos_complement_arithmetic): Also check long_int and time_t.
17793         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17794         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17795         (__mktime_internal): Avoid integer overflow with unary subtraction
17796         in two instances where -1 - X is an adequate replacement for -X,
17797         since the calculations are approximate.
17798
17799 2011-01-29  Eric Blake  <eblake@redhat.com>
17800
17801         mktime: avoid infinite loop
17802         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17803         type; behavior is still undefined but portable to all known targets.
17804         Reported by Rich Felker.
17805
17806 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17807
17808         rename, unlink, same-inode: Relicense.
17809         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17810         * modules/unlink (License): Likewise.
17811         * modules/same-inode (License): Likewise.
17812
17813 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17814
17815         mktime: avoid problems on NetBSD 5 / i386
17816         * lib/mktime.c (long_int): New type.  This works around a problem
17817         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17818         but time_t is 64 bits, and where I expect the existing code is
17819         wrong in some cases.
17820         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17821         (ydhms_diff): Bring back the compile-time check for wide-enough
17822         year and yday.
17823
17824         mktime: fix misspelling in comment
17825         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17826         This merges all recent glibc changes of importance.
17827
17828 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17829
17830         move-if-change: cope with concurrent mv of identical file.
17831         * build-aux/move-if-change (CMPPROG): Accept environment
17832         variable as an override for `cmp'.
17833         (usage): Document CMPPROG.
17834         Adjust comparison to drop stdout.  Cope with failure of mv if
17835         the target file exists and is identical to the source, for
17836         parallel builds.
17837         Report from H.J. Lu against binutils in PR binutils/12283.
17838
17839 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17840
17841         * users.txt: Mention sharutils.
17842
17843 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17844
17845         * users.txt: Mention OATH Toolkit.
17846
17847 2011-01-27  Bruno Haible  <bruno@clisp.org>
17848
17849         Prepare for supporting FreeBSD 10.
17850         * build-aux/config.libpath: Remove handling of freebsd1*.
17851
17852 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17853
17854         Prepare for supporting FreeBSD 10.
17855         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17856         match FreeBSD 10.0.
17857
17858 2011-01-27  Bruno Haible  <bruno@clisp.org>
17859
17860         vma-iter, get-rusage-as: Add OpenBSD support.
17861         * modules/vma-iter (configure.ac): Test for mquery.
17862         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17863         * lib/vma-iter.c: Include <sys/mman.h>.
17864         (vma_iterate): Add an implementation based on mquery().
17865         * lib/resource-ext.h (get_rusage_as): Update comments.
17866         * lib/get-rusage-as.c: Likewise.
17867         * lib/get-rusage-data.c: Likewise.
17868
17869 2011-01-26  Karl Berry  <karl@gnu.org>
17870
17871         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17872         variables to make it easier to override the makeinfo program used.
17873
17874 2011-01-26  Eric Blake  <eblake@redhat.com>
17875
17876         fcntl: work around Haiku F_DUPFD bugs
17877         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17878         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17879         cloexec bit on duplication.
17880         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17881
17882 2011-01-26  Bruno Haible  <bruno@clisp.org>
17883
17884         Enable memory leak tests on AIX.
17885         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17886         * tests/test-fprintf-posix3.c (main): Likewise.
17887
17888 2011-01-26  Bruno Haible  <bruno@clisp.org>
17889
17890         Tests for module 'get-rusage-data'.
17891         * modules/get-rusage-data-tests: New file.
17892         * tests/test-get-rusage-data.c: New file.
17893
17894         New module 'get-rusage-data'.
17895         * lib/resource-ext.h (get_rusage_data): New declaration.
17896         * lib/get-rusage-data.c: New file.
17897         * modules/get-rusage-data: New file.
17898
17899 2011-01-25  Bruno Haible  <bruno@clisp.org>
17900
17901         get-rusage-as: Allow for easier testing.
17902         * lib/resource-ext.h (get_rusage_as): Add comment.
17903         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17904         (main): New function for interactive testing.
17905
17906 2011-01-25  Bruno Haible  <bruno@clisp.org>
17907
17908         vma-iter: Treat Haiku like BeOS.
17909         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17910         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17911
17912 2011-01-25  Eric Blake  <eblake@redhat.com>
17913
17914         c-stack: fix regression on cygwin when libsigsegv is present
17915         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17916
17917 2011-01-24  Bruno Haible  <bruno@clisp.org>
17918
17919         vma-iter: Avoid empty intervals.
17920         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17921         on an empty interval.
17922
17923 2011-01-24  Jim Meyering  <meyering@redhat.com>
17924
17925         u64: remove unnecessary #include
17926         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17927
17928 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17929
17930         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17931         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17932
17933 2011-01-23  Bruno Haible  <bruno@clisp.org>
17934
17935         New module 'vma-iter'.
17936         * lib/vma-iter.h: New file.
17937         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17938         * modules/vma-iter: New file.
17939         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17940         for get_rusage_as_via_iterator.
17941         (vma_iterate_callback): New function.
17942         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17943         * modules/get-rusage-as (Depends-on): Add vma-iter.
17944
17945 2011-01-23  Bruno Haible  <bruno@clisp.org>
17946
17947         uninorm: Tweak includes.
17948         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17949         Reported by Jim Meyering.
17950
17951 2011-01-23  Bruno Haible  <bruno@clisp.org>
17952
17953         get-rusage-as: Improve on NetBSD.
17954         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17955         /proc, like on FreeBSD.
17956
17957 2011-01-23  Jim Meyering  <meyering@redhat.com>
17958
17959         xreadlink.h: remove unnecessary #include
17960         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17961
17962         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17963         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17964
17965 2011-01-23  Bruno Haible  <bruno@clisp.org>
17966
17967         get-rusage-as: Fix bug.
17968         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17969         original limit when aborting the first loop.
17970
17971 2011-01-23  Bruno Haible  <bruno@clisp.org>
17972
17973         wctype: Ensure valid C syntax.
17974         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17975         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17976
17977 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17978
17979         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17980         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17981         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17982         as they are needed only for configure's test case.
17983         This removes two unnecessary symbols from config.h.
17984
17985         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17986         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17987         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17988         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17989         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17990         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17991         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17992         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17993         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17994         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17995         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17996         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17997         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17998         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17999         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18000         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18001         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18002         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18003
18004 2011-01-21  Eric Blake  <eblake@redhat.com>
18005
18006         maintainer-makefile: work with older git for submodule check
18007         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18008         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18009         Reported by Matthias Bolte.
18010
18011         bootstrap: minor portability fixes
18012         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18013         (usage): Omit leading capital and trailing . on help phrases, per
18014         GNU Coding Standards.
18015         (check_versions, top level): Prefix messages with script name.
18016
18017 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18018
18019         bootstrap: support --no-git option
18020         * build-aux/bootstrap: Add --no-git option, to be used when
18021         --gnulib-srcdir points to the exact desired checkout.
18022
18023 2011-01-21  Eric Blake  <eblake@redhat.com>
18024
18025         strerror_r-posix: work with glibc 2.13
18026         * lib/strerror_r.c (strerror_r): Fix return type.
18027
18028 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18029             Bruno Haible  <bruno@clisp.org>
18030
18031         uN_strstr: New unit tests.
18032         * modules/unistr/u8-strstr-tests: New file.
18033         * modules/unistr/u16-strstr-tests: New file.
18034         * modules/unistr/u32-strstr-tests: New file.
18035         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18036         * tests/unistr/test-u8-strstr.c: New file.
18037         * tests/unistr/test-u16-strstr.c: New file.
18038         * tests/unistr/test-u32-strstr.c: New file.
18039
18040 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18041             Bruno Haible  <bruno@clisp.org>
18042
18043         Make uN_strstr functions O(n) worst-case.
18044         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18045         16-bit and 32-bit unit cases, use the unibyte algorithm from
18046         lib/mbsstr.c.
18047         * lib/unistr/u8-strstr.c: Include <string.h>.
18048         (UNIT_IS_UINT8_T): New macro.
18049         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18050         (U_STRLEN, U_STRNLEN): New macros.
18051         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18052         (U_STRLEN, U_STRNLEN): New macros.
18053         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18054         (configure.ac): Update required libunistring version.
18055         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18056         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18057         malloca.
18058         (configure.ac): Update required libunistring version.
18059         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18060         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18061         malloca.
18062         (configure.ac): Update required libunistring version.
18063
18064 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18065             Bruno Haible  <bruno@clisp.org>
18066
18067         Prepare for faster uN_strstr functions.
18068         * lib/str-kmp.h: Support definable UNITs.
18069         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18070         needle_len argument.
18071         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18072         * lib/mbscasestr.c (mbscasestr): Likewise.
18073
18074 2011-01-21  Pádraig Brady <P@draigBrady.com>
18075
18076         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18077         * tests/test-malloca.c (main): Unset the environment variable
18078         to greatly speed up the test.
18079         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18080         * modules/malloca-tests: Depend on unsetenv.
18081
18082 2011-01-21  Pádraig Brady <P@draigBrady.com>
18083
18084         ignore-value: remove stdint dependency
18085         * lib/ignore-value.h: Remove <stdint.h>
18086         * modules/ignore-value: Remove stdint dependency.
18087
18088 2011-01-21  Jim Meyering  <meyering@redhat.com>
18089
18090         maint.mk: adjust variable name to be consistent with other gl_ vars
18091         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18092         to be lower case.
18093
18094 2011-01-20  Jim Meyering  <meyering@redhat.com>
18095
18096         maint.mk: make "check" depend on public-submodule-commit by default
18097         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18098
18099 2011-01-20  Bruno Haible  <bruno@clisp.org>
18100
18101         mbfile, mbiter: Complete change from 2008-12-21.
18102         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18103         * m4/mbiter.m4 (gl_MBITER): Likewise.
18104
18105 2011-01-20  Jim Meyering  <meyering@redhat.com>
18106
18107         init.sh: insert space between each function name and "()"
18108         * tests/init.sh: Make it a little easier to see that a function's
18109         name is "warn_", and not "warn" when looking at the first part of
18110         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18111
18112 2011-01-20  Jim Meyering  <meyering@redhat.com>
18113
18114         mountlist: clean up code formatting
18115         * lib/mountlist.c (read_file_system_list): Split a long line,
18116         correct bracing style, use NULL in place of "(struct statfs *)0",
18117         don't parenthesize return value, add spaces around "=" and after
18118         ";-in-for-stmt".
18119
18120 2011-01-14  Markus Duft <mduft@gentoo.org>
18121
18122         mountlist: add support for Interix
18123         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18124         Apply statvfs to all entries of /dev/fs.
18125         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18126         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18127
18128 2011-01-20  Jim Meyering  <meyering@redhat.com>
18129
18130         maint.mk: improve the public-submodule-commit rule
18131         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18132         to suppress printing of its commands... unless V=1.
18133         Add git submodule's --quiet option to suppress printing of e.g.,
18134         "Entering gnulib" output.
18135         "cd" into $(srcdir) before running git submodule.
18136
18137 2011-01-20  Bruno Haible  <bruno@clisp.org>
18138
18139         include_next: Fix bug introduced on 2011-01-18.
18140         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18141         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18142         ac_cv_header_... variable if the second argument is not 'check'.
18143         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18144         gl_NEXT_HEADERS_INTERNAL.
18145
18146 2011-01-20  Bruno Haible  <bruno@clisp.org>
18147
18148         Allow the user to avoid the GNULIB_TEST_* macros.
18149         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18150         Suggested by Paul Eggert.
18151
18152 2011-01-14  Jim Meyering  <meyering@redhat.com>
18153
18154         bootstrap: avoid failure when there is no .gitmodules file
18155         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18156         has been assigned to, even when its value is the empty string.
18157         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18158         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18159         Reported by John W. Eaton <jwe@gnu.org>.
18160
18161 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18162
18163         assume <ctype.h>, ..., <time.h> exist
18164         For years gnulib has been assuming the existence of the headers
18165         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18166         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18167         them, since they don't appear to be needed.
18168         * README (Portability guidelines): Document this.
18169         * lib/flock.c: Assume <fcntl.h> exists.
18170         * lib/regex_internal.h: Assume <locale.h> exists.
18171         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18172         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18173         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18174         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18175         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18176         * m4/regex.m4 (gl_REGEX): Likewise.
18177         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18178         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18179         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18180         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18181         * tests/test-argp.c: Likewise.
18182         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18183
18184         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18185         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18186         AA_APPLE_UNIVERSAL_BUILD.  See
18187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18188         * NEWS: Document this.
18189
18190 2011-01-19  Eric Blake  <eblake@redhat.com>
18191
18192         c-stack: assume stack overflow if SA_SIGINFO unsupported
18193         * lib/c-stack.c (SIGACTION_WORKS): Rename...
18194         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
18195         sigaction will work.
18196         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
18197         behavior match Linux.
18198         * tests/test-c-stack.c (main): Prefer NULL for pointers.
18199
18200         stdbool-tests: accomodate Haiku
18201         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
18202
18203         binary-io: fix O_TEXT on Haiku
18204         * modules/binary-io (Depends-on): Add fcntl-h.
18205         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
18206         than blindly undefining O_TEXT.
18207         Reported by Scott McCreary.
18208
18209 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18210
18211         include_next: do not check for standard headers like stddef.h
18212
18213         I found this problem when modifying Emacs to use gnulib.
18214         I noticed that it added HAVE_STDDEF_H to config.h, even though
18215         gnulib always assumes <stddef.h> exists as per README and this
18216         symbol is unnecessary.
18217         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
18218         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
18219         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
18220         faster for headers like stddef.h that are known to exist.
18221         (gl_CHECK_NEXT_HEADERS): Use it.
18222         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
18223         rather than gl_CHECK_NEXT_HEADERS.
18224         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
18225         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
18226
18227 2011-01-18  Eric Blake  <eblake@redhat.com>
18228
18229         ansi-c++-opt: skip C++ dependency style if C++ is unused
18230         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
18231         tests when we know C++ compilation is not desired.
18232         Reported by Scott McCreary.
18233
18234 2011-01-18  Bruno Haible  <bruno@clisp.org>
18235
18236         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
18237         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
18238         (main): Perform test also when getrlimit and setrlimit don't exist or
18239         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
18240         limiting the address space size using setrlimit, compare the address
18241         space size before and after the the test.
18242         * tests/test-dprintf-posix2.c: Likewise.
18243         * tests/test-fprintf-posix3.sh: Update skip messages.
18244         * tests/test-dprintf-posix2.sh: Likewise.
18245         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
18246         * modules/dprintf-posix-tests (Depends-on): Likewise.
18247         Reported by Bruce Korb <bkorb@gnu.org> and
18248         Gary V. Vaughan <gary@gnu.org>.
18249
18250 2011-01-18  Bruno Haible  <bruno@clisp.org>
18251
18252         get-rusage-as: Improvement for Cygwin.
18253         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
18254         areas that are merely reserved.
18255
18256 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18257
18258         strftime: remove dependencies on multibyte modules
18259
18260         strftime depended on mbrlen, mbsinit, and wchar, but these modules
18261         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
18262         only if __osf__ is defined, and I suspect OSF doesn't need these
18263         other modules.  If my guess is wrong, we'll need to come up with a
18264         variant of strftime that doesn't need the multibyte modules.
18265
18266         I discovered this problem when attempting modify Emacs to use the
18267         strftime module.  With the previous gnulib, this caused Emacs to
18268         need 31 new files, ranging from lib/config.charset to
18269         m4/wint_t.m4.  This was overkill and I expect would be offputting
18270         to the Emacs maintainers.  After this change, only 6 new files are
18271         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
18272         stdbool.m4, and tm_gmtoff.m4.
18273
18274         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
18275         Suggested by Bruno Haible in
18276         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
18277         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
18278         and do not check for wchar.h.
18279         * modules/strftime (Files): Remove m4/mbstate_t.m4.
18280         (Depends-on): Remove mbrlen, mbsinit, wchar.
18281
18282 2011-01-18  Bruno Haible  <bruno@clisp.org>
18283
18284         Tests for module 'get-rusage-as'.
18285         * modules/get-rusage-as-tests: New file.
18286         * tests/test-get-rusage-as.c: New file.
18287
18288         New module 'get-rusage-as'.
18289         * modules/get-rusage-as: New file.
18290         * lib/resource-ext.h: New file.
18291         * lib/get-rusage-as.c: New file.
18292
18293 2011-01-17  Eric Blake  <eblake@redhat.com>
18294
18295         sigaction: relax license from LGPLv3+ to LGPLv2+
18296         * modules/sigaction (License): Relax to LGPLv2+.
18297
18298 2011-01-14  Bruno Haible  <bruno@clisp.org>
18299
18300         filemode: Make function declarations usable in C++ mode.
18301         * lib/filemode.h: Enclose function declarations in extern "C" block.
18302         Reported by John W. Eaton <jwe@gnu.org>.
18303
18304 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
18305
18306         save-cwd: no longer include "xgetcwd.h"
18307         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18308         This avoids a compilation failure in projects that use save-cwd
18309         without also using the xgetcwd module.
18310
18311 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18312
18313         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18314         This is so that a program like Emacs, which needs only dtoastr,
18315         does not have to bother with distributing and compiling ftoastr
18316         and ldtoastr.
18317         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18318         * modules/dtoastr, modules/ldtoastr: New files.
18319         * modules/ftoastr: Now works just for 'float'.
18320         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18321         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18322         dtoastr.c, ldtoastr.c.
18323
18324 2011-01-11  Jim Meyering  <meyering@redhat.com>
18325
18326         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18327         There is no need to work around the lack of the fchdir function,
18328         since gnulib can now provide a replacement when required.
18329         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18330         * modules/save-cwd (Depends-on): Add fchdir.
18331
18332 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18333
18334         openat, save-cwd: avoid xmalloc
18335
18336         This removes a direct (but undocumented) dependency of openat on
18337         xalloc, along with an indirect dependency via save-cwd.  It also
18338         removes a dependency of save-cwd on xgetcwd, and thereby
18339         indirectly on xalloc.  This change causes the openat substitute
18340         to fall back on save_cwd when memory is tight, and for save_cwd to
18341         fail instead of dying when memory is tight, but that's good enough.
18342         Problem and initial idea for fix reported by Bastien Roucaries in
18343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18344
18345         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18346         xalloc.h (for xmalloc).
18347         (openat_proc_name): Use malloc, not xmalloc.
18348         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18349         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18350
18351         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18352         This avoids heap allocation for file names whose lengths are in
18353         the range 512..1023, with the upper bound increasing to at most
18354         4031 depending on the platform's PATH_MAX.  (We do not want
18355         pathmax.h here as it might supply a non-constant PATH_MAX.)
18356         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18357         Perhaps they should be moved to malloca.h?
18358         (OPENAT_BUFFER_SIZE): Use them.
18359
18360 2011-01-10  Bruno Haible  <bruno@clisp.org>
18361
18362         doc: Update users.txt.
18363         * users.txt: Add recutils.
18364
18365 2011-01-09  Karl Berry  <karl@gnu.org>
18366
18367         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
18368
18369         * doc/configmake.texi: New file.
18370         * doc/gnulib.texi: Include it.
18371         * modules/configmake: Move documentation from here.
18372
18373 2011-01-09  Bruno Haible  <bruno@clisp.org>
18374
18375         Update to Unicode 6.0.0.
18376         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
18377         (get_lbp): Update for Unicode 6.0.0.
18378         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18379         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18380         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18381         U+11001, U+11038..U+11046. Remove U+06DE.
18382         (uc_width): Fix bounds of planes.
18383         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18384         lib/uniwidth/width.c.
18385         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18386         trailing whitespace removed.
18387         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18388         without comments, but with the original copyright notice.
18389         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18390         * lib/unicase/ignorable.h: Likewise.
18391         * lib/unicase/tocasefold.h: Likewise.
18392         * lib/unicase/tolower.h: Likewise.
18393         * lib/unicase/totitle.h: Likewise.
18394         * lib/unicase/toupper.h: Likewise.
18395         * lib/unictype/bidi_of.h: Likewise.
18396         * lib/unictype/blocks.h: Likewise.
18397         * lib/unictype/categ_C.h: Likewise.
18398         * lib/unictype/categ_Cn.h: Likewise.
18399         * lib/unictype/categ_L.h: Likewise.
18400         * lib/unictype/categ_Ll.h: Likewise.
18401         * lib/unictype/categ_Lm.h: Likewise.
18402         * lib/unictype/categ_Lo.h: Likewise.
18403         * lib/unictype/categ_Lu.h: Likewise.
18404         * lib/unictype/categ_M.h: Likewise.
18405         * lib/unictype/categ_Mc.h: Likewise.
18406         * lib/unictype/categ_Me.h: Likewise.
18407         * lib/unictype/categ_Mn.h: Likewise.
18408         * lib/unictype/categ_N.h: Likewise.
18409         * lib/unictype/categ_Nd.h: Likewise.
18410         * lib/unictype/categ_No.h: Likewise.
18411         * lib/unictype/categ_P.h: Likewise.
18412         * lib/unictype/categ_Po.h: Likewise.
18413         * lib/unictype/categ_S.h: Likewise.
18414         * lib/unictype/categ_Sc.h: Likewise.
18415         * lib/unictype/categ_Sk.h: Likewise.
18416         * lib/unictype/categ_Sm.h: Likewise.
18417         * lib/unictype/categ_So.h: Likewise.
18418         * lib/unictype/categ_of.h: Likewise.
18419         * lib/unictype/combining.h: Likewise.
18420         * lib/unictype/ctype_alnum.h: Likewise.
18421         * lib/unictype/ctype_alpha.h: Likewise.
18422         * lib/unictype/ctype_graph.h: Likewise.
18423         * lib/unictype/ctype_lower.h: Likewise.
18424         * lib/unictype/ctype_print.h: Likewise.
18425         * lib/unictype/ctype_punct.h: Likewise.
18426         * lib/unictype/ctype_upper.h: Likewise.
18427         * lib/unictype/decdigit.h: Likewise.
18428         * lib/unictype/digit.h: Likewise.
18429         * lib/unictype/numeric.h: Likewise.
18430         * lib/unictype/pr_alphabetic.h: Likewise.
18431         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18432         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18433         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18434         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18435         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18436         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18437         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18438         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18439         * lib/unictype/pr_case_ignorable.h: Likewise.
18440         * lib/unictype/pr_cased.h: Likewise.
18441         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
18442         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
18443         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
18444         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
18445         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
18446         * lib/unictype/pr_combining.h: Likewise.
18447         * lib/unictype/pr_composite.h: Likewise.
18448         * lib/unictype/pr_currency_symbol.h: Likewise.
18449         * lib/unictype/pr_decimal_digit.h: Likewise.
18450         * lib/unictype/pr_deprecated.h: Likewise.
18451         * lib/unictype/pr_format_control.h: Likewise.
18452         * lib/unictype/pr_grapheme_base.h: Likewise.
18453         * lib/unictype/pr_grapheme_extend.h: Likewise.
18454         * lib/unictype/pr_grapheme_link.h: Likewise.
18455         * lib/unictype/pr_id_continue.h: Likewise.
18456         * lib/unictype/pr_id_start.h: Likewise.
18457         * lib/unictype/pr_ideographic.h: Likewise.
18458         * lib/unictype/pr_lowercase.h: Likewise.
18459         * lib/unictype/pr_math.h: Likewise.
18460         * lib/unictype/pr_numeric.h: Likewise.
18461         * lib/unictype/pr_other_alphabetic.h: Likewise.
18462         * lib/unictype/pr_other_id_continue.h: Likewise.
18463         * lib/unictype/pr_other_math.h: Likewise.
18464         * lib/unictype/pr_punctuation.h: Likewise.
18465         * lib/unictype/pr_sentence_terminal.h: Likewise.
18466         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18467         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18468         * lib/unictype/pr_unified_ideograph.h: Likewise.
18469         * lib/unictype/pr_uppercase.h: Likewise.
18470         * lib/unictype/pr_xid_continue.h: Likewise.
18471         * lib/unictype/pr_xid_start.h: Likewise.
18472         * lib/unictype/scripts.h: Likewise.
18473         * lib/unictype/scripts_byname.gperf: Likewise.
18474         * lib/unictype/sy_java_ident.h: Likewise.
18475         * lib/unigbrk/gbrkprop.h: Likewise.
18476         * lib/unilbrk/lbrkprop1.h: Likewise.
18477         * lib/unilbrk/lbrkprop2.h: Likewise.
18478         * lib/uninorm/decomposition-table2.h: Likewise.
18479         * lib/uniwbrk/wbrkprop.h: Likewise.
18480         * tests/unicase/test-cased.c: Likewise.
18481         * tests/unicase/test-ignorable.c: Likewise.
18482         * tests/unicase/test-uc_tolower.c: Likewise.
18483         * tests/unicase/test-uc_totitle.c: Likewise.
18484         * tests/unicase/test-uc_toupper.c: Likewise.
18485         * tests/unictype/test-categ_C.c: Likewise.
18486         * tests/unictype/test-categ_Cn.c: Likewise.
18487         * tests/unictype/test-categ_L.c: Likewise.
18488         * tests/unictype/test-categ_Ll.c: Likewise.
18489         * tests/unictype/test-categ_Lm.c: Likewise.
18490         * tests/unictype/test-categ_Lo.c: Likewise.
18491         * tests/unictype/test-categ_Lu.c: Likewise.
18492         * tests/unictype/test-categ_M.c: Likewise.
18493         * tests/unictype/test-categ_Mc.c: Likewise.
18494         * tests/unictype/test-categ_Me.c: Likewise.
18495         * tests/unictype/test-categ_Mn.c: Likewise.
18496         * tests/unictype/test-categ_N.c: Likewise.
18497         * tests/unictype/test-categ_Nd.c: Likewise.
18498         * tests/unictype/test-categ_No.c: Likewise.
18499         * tests/unictype/test-categ_P.c: Likewise.
18500         * tests/unictype/test-categ_Po.c: Likewise.
18501         * tests/unictype/test-categ_S.c: Likewise.
18502         * tests/unictype/test-categ_Sc.c: Likewise.
18503         * tests/unictype/test-categ_Sk.c: Likewise.
18504         * tests/unictype/test-categ_Sm.c: Likewise.
18505         * tests/unictype/test-categ_So.c: Likewise.
18506         * tests/unictype/test-ctype_alnum.c: Likewise.
18507         * tests/unictype/test-ctype_alpha.c: Likewise.
18508         * tests/unictype/test-ctype_graph.c: Likewise.
18509         * tests/unictype/test-ctype_lower.c: Likewise.
18510         * tests/unictype/test-ctype_print.c: Likewise.
18511         * tests/unictype/test-ctype_punct.c: Likewise.
18512         * tests/unictype/test-ctype_upper.c: Likewise.
18513         * tests/unictype/test-decdigit.h: Likewise.
18514         * tests/unictype/test-digit.h: Likewise.
18515         * tests/unictype/test-numeric.h: Likewise.
18516         * tests/unictype/test-pr_alphabetic.c: Likewise.
18517         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18518         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18519         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18520         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18521         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18522         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18523         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18524         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18525         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18526         * tests/unictype/test-pr_cased.c: Likewise.
18527         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18528         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18529         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18530         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18531         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18532         * tests/unictype/test-pr_combining.c: Likewise.
18533         * tests/unictype/test-pr_composite.c: Likewise.
18534         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18535         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18536         * tests/unictype/test-pr_deprecated.c: Likewise.
18537         * tests/unictype/test-pr_format_control.c: Likewise.
18538         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18539         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18540         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18541         * tests/unictype/test-pr_id_continue.c: Likewise.
18542         * tests/unictype/test-pr_id_start.c: Likewise.
18543         * tests/unictype/test-pr_ideographic.c: Likewise.
18544         * tests/unictype/test-pr_lowercase.c: Likewise.
18545         * tests/unictype/test-pr_math.c: Likewise.
18546         * tests/unictype/test-pr_numeric.c: Likewise.
18547         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18548         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18549         * tests/unictype/test-pr_other_math.c: Likewise.
18550         * tests/unictype/test-pr_punctuation.c: Likewise.
18551         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18552         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18553         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18554         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18555         * tests/unictype/test-pr_uppercase.c: Likewise.
18556         * tests/unictype/test-pr_xid_continue.c: Likewise.
18557         * tests/unictype/test-pr_xid_start.c: Likewise.
18558         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18559         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18560         changes.
18561         * lib/unictype/categ_Cc.h: Likewise.
18562         * lib/unictype/categ_Cf.h: Likewise.
18563         * lib/unictype/categ_Co.h: Likewise.
18564         * lib/unictype/categ_Cs.h: Likewise.
18565         * lib/unictype/categ_Lt.h: Likewise.
18566         * lib/unictype/categ_Nl.h: Likewise.
18567         * lib/unictype/categ_Pc.h: Likewise.
18568         * lib/unictype/categ_Pd.h: Likewise.
18569         * lib/unictype/categ_Pe.h: Likewise.
18570         * lib/unictype/categ_Pf.h: Likewise.
18571         * lib/unictype/categ_Pi.h: Likewise.
18572         * lib/unictype/categ_Ps.h: Likewise.
18573         * lib/unictype/categ_Z.h: Likewise.
18574         * lib/unictype/categ_Zl.h: Likewise.
18575         * lib/unictype/categ_Zp.h: Likewise.
18576         * lib/unictype/categ_Zs.h: Likewise.
18577         * lib/unictype/ctype_blank.h: Likewise.
18578         * lib/unictype/ctype_cntrl.h: Likewise.
18579         * lib/unictype/ctype_digit.h: Likewise.
18580         * lib/unictype/ctype_space.h: Likewise.
18581         * lib/unictype/ctype_xdigit.h: Likewise.
18582         * lib/unictype/mirror.h: Likewise.
18583         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18584         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18585         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18586         * lib/unictype/pr_bidi_control.h: Likewise.
18587         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18588         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18589         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18590         * lib/unictype/pr_bidi_pdf.h: Likewise.
18591         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18592         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18593         * lib/unictype/pr_dash.h: Likewise.
18594         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18595         * lib/unictype/pr_diacritic.h: Likewise.
18596         * lib/unictype/pr_extender.h: Likewise.
18597         * lib/unictype/pr_hex_digit.h: Likewise.
18598         * lib/unictype/pr_hyphen.h: Likewise.
18599         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18600         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18601         * lib/unictype/pr_ignorable_control.h: Likewise.
18602         * lib/unictype/pr_iso_control.h: Likewise.
18603         * lib/unictype/pr_join_control.h: Likewise.
18604         * lib/unictype/pr_left_of_pair.h: Likewise.
18605         * lib/unictype/pr_line_separator.h: Likewise.
18606         * lib/unictype/pr_logical_order_exception.h: Likewise.
18607         * lib/unictype/pr_non_break.h: Likewise.
18608         * lib/unictype/pr_not_a_character.h: Likewise.
18609         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18610         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18611         * lib/unictype/pr_other_id_start.h: Likewise.
18612         * lib/unictype/pr_other_lowercase.h: Likewise.
18613         * lib/unictype/pr_other_uppercase.h: Likewise.
18614         * lib/unictype/pr_paired_punctuation.h: Likewise.
18615         * lib/unictype/pr_paragraph_separator.h: Likewise.
18616         * lib/unictype/pr_pattern_syntax.h: Likewise.
18617         * lib/unictype/pr_pattern_white_space.h: Likewise.
18618         * lib/unictype/pr_private_use.h: Likewise.
18619         * lib/unictype/pr_quotation_mark.h: Likewise.
18620         * lib/unictype/pr_radical.h: Likewise.
18621         * lib/unictype/pr_soft_dotted.h: Likewise.
18622         * lib/unictype/pr_space.h: Likewise.
18623         * lib/unictype/pr_titlecase.h: Likewise.
18624         * lib/unictype/pr_variation_selector.h: Likewise.
18625         * lib/unictype/pr_white_space.h: Likewise.
18626         * lib/unictype/pr_zero_width.h: Likewise.
18627         * lib/unictype/sy_c_ident.h: Likewise.
18628         * lib/unictype/sy_c_whitespace.h: Likewise.
18629         * lib/unictype/sy_java_whitespace.h: Likewise.
18630         * lib/uninorm/composition-table.gperf: Likewise.
18631         * lib/uninorm/decomposition-table1.h: Likewise.
18632         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18633         LB8.
18634         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18635         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18636         * modules/unictype/*: Bump version number of expected libunistring
18637         version.
18638
18639 2011-01-09  Bruno Haible  <bruno@clisp.org>
18640
18641         Update to Unicode 5.2.0.
18642         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18643         trailing whitespace removed.
18644
18645 2011-01-09  Bruno Haible  <bruno@clisp.org>
18646
18647         New Unicode character properties, from Unicode 5.2.0.
18648         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18649         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18650         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18651         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18652         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18653         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18654         uc_is_property_cased, uc_is_property_case_ignorable,
18655         uc_is_property_changes_when_lowercased,
18656         uc_is_property_changes_when_uppercased,
18657         uc_is_property_changes_when_titlecased,
18658         uc_is_property_changes_when_casefolded,
18659         uc_is_property_changes_when_casemapped): New declarations.
18660         * lib/unictype/pr_byname.gperf: Add the new properties.
18661         * modules/unictype/property-byname (Depends-on): Depend on the new
18662         properties modules.
18663         * modules/unictype/property-all (Depends-on): Likewise.
18664         * MODULES.html.sh (Unicode string functions): Add
18665         unictype/property-case-ignorable, unictype/property-cased,
18666         unictype/property-changes-when-casefolded,
18667         unictype/property-changes-when-casemapped,
18668         unictype/property-changes-when-lowercased,
18669         unictype/property-changes-when-titlecased,
18670         unictype/property-changes-when-uppercased.
18671
18672         New module 'unictype/property-changes-when-casemapped'.
18673         * modules/unictype/property-changes-when-casemapped: New file.
18674         * lib/unictype/pr_changes_when_casemapped.c: New file.
18675         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18676         generated by gen-uni-tables.
18677         * modules/unictype/property-changes-when-casemapped-tests: New file.
18678         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18679         automatically generated by gen-uni-tables.
18680
18681         New module 'unictype/property-changes-when-casefolded'.
18682         * modules/unictype/property-changes-when-casefolded: New file.
18683         * lib/unictype/pr_changes_when_casefolded.c: New file.
18684         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18685         generated by gen-uni-tables.
18686         * modules/unictype/property-changes-when-casefolded-tests: New file.
18687         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18688         automatically generated by gen-uni-tables.
18689
18690         New module 'unictype/property-changes-when-titlecased'.
18691         * modules/unictype/property-changes-when-titlecased: New file.
18692         * lib/unictype/pr_changes_when_titlecased.c: New file.
18693         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18694         generated by gen-uni-tables.
18695         * modules/unictype/property-changes-when-titlecased-tests: New file.
18696         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18697         automatically generated by gen-uni-tables.
18698
18699         New module 'unictype/property-changes-when-uppercased'.
18700         * modules/unictype/property-changes-when-uppercased: New file.
18701         * lib/unictype/pr_changes_when_uppercased.c: New file.
18702         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18703         generated by gen-uni-tables.
18704         * modules/unictype/property-changes-when-uppercased-tests: New file.
18705         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18706         automatically generated by gen-uni-tables.
18707
18708         New module 'unictype/property-changes-when-lowercased'.
18709         * modules/unictype/property-changes-when-lowercased: New file.
18710         * lib/unictype/pr_changes_when_lowercased.c: New file.
18711         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18712         generated by gen-uni-tables.
18713         * modules/unictype/property-changes-when-lowercased-tests: New file.
18714         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18715         automatically generated by gen-uni-tables.
18716
18717         New module 'unictype/property-case-ignorable'.
18718         * modules/unictype/property-case-ignorable: New file.
18719         * lib/unictype/pr_case_ignorable.c: New file.
18720         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18721         by gen-uni-tables.
18722         * modules/unictype/property-case-ignorable-tests: New file.
18723         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18724         generated by gen-uni-tables.
18725
18726         New module 'unictype/property-cased'.
18727         * modules/unictype/property-cased: New file.
18728         * lib/unictype/pr_cased.c: New file.
18729         * lib/unictype/pr_cased.h: New file, automatically generated by
18730         gen-uni-tables.
18731         * modules/unictype/property-cased-tests: New file.
18732         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18733         gen-uni-tables.
18734
18735 2011-01-09  Bruno Haible  <bruno@clisp.org>
18736
18737         Update to Unicode 5.2.0.
18738         * lib/gen-uni-tables.c (output_predicate, output_category,
18739         output_combclass, output_bidi_category, output_decimal_digit_test,
18740         output_decimal_digit, output_digit_test, output_digit,
18741         output_numeric_test, output_numeric, output_mirror, output_scripts,
18742         output_scripts_byname, output_blocks, output_ident_category): Fix
18743         comment header.
18744         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18745         get_wbp.
18746         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18747         items.
18748         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18749         Changes_When_Lowercased, Changes_When_Uppercased,
18750         Changes_When_Titlecased, Changes_When_Casefolded,
18751         Changes_When_Casemapped.
18752         (is_property_alphabetic, is_property_default_ignorable_code_point):
18753         Update for Unicode 5.2.0.
18754         (is_property_cased, is_property_case_ignorable,
18755         is_property_changes_when_lowercased,
18756         is_property_changes_when_uppercased,
18757         is_property_changes_when_titlecased,
18758         is_property_changes_when_casefolded,
18759         is_property_changes_when_casemapped): New functions.
18760         (output_properties): Output also the properties cased, case_ignorable,
18761         changes_when_lowercased, changes_when_uppercased,
18762         changes_when_titlecased, changes_when_casefolded,
18763         changes_when_casemapped.
18764         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18765         Unicode TR#11 revision 17 -> 19.
18766         (LBP_CP): New enumeration value.
18767         (LBP_*): Adjust values accordingly.
18768         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18769         TR#14 revision 22 -> 24.
18770         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18771         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18772         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18773         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18774         is_WBP_MIDLETTER.
18775         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18776         the code1 and code2 of each composition rule.
18777         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18778         * lib/unicase/ignorable.h: Likewise.
18779         * lib/unicase/tocasefold.h: Likewise.
18780         * lib/unicase/tolower.h: Likewise.
18781         * lib/unicase/totitle.h: Likewise.
18782         * lib/unicase/toupper.h: Likewise.
18783         * lib/unictype/bidi_of.h: Likewise.
18784         * lib/unictype/blocks.h: Likewise.
18785         * lib/unictype/categ_C.h: Likewise.
18786         * lib/unictype/categ_Cf.h: Likewise.
18787         * lib/unictype/categ_Cn.h: Likewise.
18788         * lib/unictype/categ_L.h: Likewise.
18789         * lib/unictype/categ_Ll.h: Likewise.
18790         * lib/unictype/categ_Lm.h: Likewise.
18791         * lib/unictype/categ_Lo.h: Likewise.
18792         * lib/unictype/categ_Lu.h: Likewise.
18793         * lib/unictype/categ_M.h: Likewise.
18794         * lib/unictype/categ_Mc.h: Likewise.
18795         * lib/unictype/categ_Mn.h: Likewise.
18796         * lib/unictype/categ_N.h: Likewise.
18797         * lib/unictype/categ_Nd.h: Likewise.
18798         * lib/unictype/categ_Nl.h: Likewise.
18799         * lib/unictype/categ_No.h: Likewise.
18800         * lib/unictype/categ_P.h: Likewise.
18801         * lib/unictype/categ_Pd.h: Likewise.
18802         * lib/unictype/categ_Po.h: Likewise.
18803         * lib/unictype/categ_S.h: Likewise.
18804         * lib/unictype/categ_Sc.h: Likewise.
18805         * lib/unictype/categ_So.h: Likewise.
18806         * lib/unictype/categ_of.h: Likewise.
18807         * lib/unictype/combining.h: Likewise.
18808         * lib/unictype/ctype_alnum.h: Likewise.
18809         * lib/unictype/ctype_alpha.h: Likewise.
18810         * lib/unictype/ctype_graph.h: Likewise.
18811         * lib/unictype/ctype_lower.h: Likewise.
18812         * lib/unictype/ctype_print.h: Likewise.
18813         * lib/unictype/ctype_punct.h: Likewise.
18814         * lib/unictype/ctype_upper.h: Likewise.
18815         * lib/unictype/decdigit.h: Likewise.
18816         * lib/unictype/digit.h: Likewise.
18817         * lib/unictype/numeric.h: Likewise.
18818         * lib/unictype/pr_alphabetic.h: Likewise.
18819         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18820         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18821         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18822         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18823         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18824         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18825         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18826         * lib/unictype/pr_combining.h: Likewise.
18827         * lib/unictype/pr_composite.h: Likewise.
18828         * lib/unictype/pr_currency_symbol.h: Likewise.
18829         * lib/unictype/pr_dash.h: Likewise.
18830         * lib/unictype/pr_decimal_digit.h: Likewise.
18831         * lib/unictype/pr_deprecated.h: Likewise.
18832         * lib/unictype/pr_diacritic.h: Likewise.
18833         * lib/unictype/pr_extender.h: Likewise.
18834         * lib/unictype/pr_grapheme_base.h: Likewise.
18835         * lib/unictype/pr_grapheme_extend.h: Likewise.
18836         * lib/unictype/pr_grapheme_link.h: Likewise.
18837         * lib/unictype/pr_id_continue.h: Likewise.
18838         * lib/unictype/pr_id_start.h: Likewise.
18839         * lib/unictype/pr_ideographic.h: Likewise.
18840         * lib/unictype/pr_ignorable_control.h: Likewise.
18841         * lib/unictype/pr_logical_order_exception.h: Likewise.
18842         * lib/unictype/pr_lowercase.h: Likewise.
18843         * lib/unictype/pr_numeric.h: Likewise.
18844         * lib/unictype/pr_other_alphabetic.h: Likewise.
18845         * lib/unictype/pr_punctuation.h: Likewise.
18846         * lib/unictype/pr_sentence_terminal.h: Likewise.
18847         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18848         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18849         * lib/unictype/pr_unified_ideograph.h: Likewise.
18850         * lib/unictype/pr_uppercase.h: Likewise.
18851         * lib/unictype/pr_xid_continue.h: Likewise.
18852         * lib/unictype/pr_xid_start.h: Likewise.
18853         * lib/unictype/pr_zero_width.h: Likewise.
18854         * lib/unictype/scripts.h: Likewise.
18855         * lib/unictype/scripts_byname.gperf: Likewise.
18856         * lib/unictype/sy_java_ident.h: Likewise.
18857         * lib/unigbrk/gbrkprop.h: Likewise.
18858         * lib/unilbrk/lbrkprop1.h: Likewise.
18859         * lib/unilbrk/lbrkprop2.h: Likewise.
18860         * lib/unilbrk/lbrktables.h: Likewise.
18861         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18862         LBP_CP. Implement rule LB30.
18863         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18864         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18865         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18866         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18867         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18868         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18869         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18870         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18871         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18872         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18873         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18874         bits instead of 16 bits in the code1 and code2 of each composition
18875         rule.
18876         (uc_composition): Update for Unicode 5.2.0.
18877         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18878         * lib/uninorm/decomposition-table2.h: Likewise.
18879         * lib/uniwbrk/wbrkprop.h: Likewise.
18880         * tests/unicase/test-cased.c: Likewise.
18881         * tests/unicase/test-ignorable.c: Likewise.
18882         * tests/unicase/test-uc_tolower.c: Likewise.
18883         * tests/unicase/test-uc_totitle.c: Likewise.
18884         * tests/unicase/test-uc_toupper.c: Likewise.
18885         * tests/unictype/test-categ_C.c: Likewise.
18886         * tests/unictype/test-categ_Cf.c: Likewise.
18887         * tests/unictype/test-categ_Cn.c: Likewise.
18888         * tests/unictype/test-categ_L.c: Likewise.
18889         * tests/unictype/test-categ_Ll.c: Likewise.
18890         * tests/unictype/test-categ_Lm.c: Likewise.
18891         * tests/unictype/test-categ_Lo.c: Likewise.
18892         * tests/unictype/test-categ_Lu.c: Likewise.
18893         * tests/unictype/test-categ_M.c: Likewise.
18894         * tests/unictype/test-categ_Mc.c: Likewise.
18895         * tests/unictype/test-categ_Mn.c: Likewise.
18896         * tests/unictype/test-categ_N.c: Likewise.
18897         * tests/unictype/test-categ_Nd.c: Likewise.
18898         * tests/unictype/test-categ_Nl.c: Likewise.
18899         * tests/unictype/test-categ_No.c: Likewise.
18900         * tests/unictype/test-categ_P.c: Likewise.
18901         * tests/unictype/test-categ_Pd.c: Likewise.
18902         * tests/unictype/test-categ_Po.c: Likewise.
18903         * tests/unictype/test-categ_S.c: Likewise.
18904         * tests/unictype/test-categ_Sc.c: Likewise.
18905         * tests/unictype/test-categ_So.c: Likewise.
18906         * tests/unictype/test-ctype_alnum.c: Likewise.
18907         * tests/unictype/test-ctype_alpha.c: Likewise.
18908         * tests/unictype/test-ctype_graph.c: Likewise.
18909         * tests/unictype/test-ctype_lower.c: Likewise.
18910         * tests/unictype/test-ctype_print.c: Likewise.
18911         * tests/unictype/test-ctype_punct.c: Likewise.
18912         * tests/unictype/test-ctype_upper.c: Likewise.
18913         * tests/unictype/test-decdigit.h: Likewise.
18914         * tests/unictype/test-digit.h: Likewise.
18915         * tests/unictype/test-numeric.h: Likewise.
18916         * tests/unictype/test-pr_alphabetic.c: Likewise.
18917         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18918         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18919         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18920         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18921         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18922         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18923         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18924         * tests/unictype/test-pr_combining.c: Likewise.
18925         * tests/unictype/test-pr_composite.c: Likewise.
18926         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18927         * tests/unictype/test-pr_dash.c: Likewise.
18928         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18929         * tests/unictype/test-pr_deprecated.c: Likewise.
18930         * tests/unictype/test-pr_diacritic.c: Likewise.
18931         * tests/unictype/test-pr_extender.c: Likewise.
18932         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18933         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18934         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18935         * tests/unictype/test-pr_id_continue.c: Likewise.
18936         * tests/unictype/test-pr_id_start.c: Likewise.
18937         * tests/unictype/test-pr_ideographic.c: Likewise.
18938         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18939         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18940         * tests/unictype/test-pr_lowercase.c: Likewise.
18941         * tests/unictype/test-pr_numeric.c: Likewise.
18942         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18943         * tests/unictype/test-pr_punctuation.c: Likewise.
18944         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18945         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18946         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18947         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18948         * tests/unictype/test-pr_uppercase.c: Likewise.
18949         * tests/unictype/test-pr_xid_continue.c: Likewise.
18950         * tests/unictype/test-pr_xid_start.c: Likewise.
18951         * tests/unictype/test-pr_zero_width.c: Likewise.
18952         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18953         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18954         changed behaviour: line breaking is now disallowed between a letter
18955         or '=' and '('.
18956         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18957         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18958         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18959         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18960         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18961         lib/uniwidth/width.c.
18962         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18963         without comments, but with the original copyright notice.
18964         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18965         changes.
18966         * lib/unictype/categ_Cc.h: Likewise.
18967         * lib/unictype/categ_Co.h: Likewise.
18968         * lib/unictype/categ_Cs.h: Likewise.
18969         * lib/unictype/categ_Lt.h: Likewise.
18970         * lib/unictype/categ_Me.h: Likewise.
18971         * lib/unictype/categ_Pc.h: Likewise.
18972         * lib/unictype/categ_Pe.h: Likewise.
18973         * lib/unictype/categ_Pf.h: Likewise.
18974         * lib/unictype/categ_Pi.h: Likewise.
18975         * lib/unictype/categ_Ps.h: Likewise.
18976         * lib/unictype/categ_Sk.h: Likewise.
18977         * lib/unictype/categ_Sm.h: Likewise.
18978         * lib/unictype/categ_Z.h: Likewise.
18979         * lib/unictype/categ_Zl.h: Likewise.
18980         * lib/unictype/categ_Zp.h: Likewise.
18981         * lib/unictype/categ_Zs.h: Likewise.
18982         * lib/unictype/ctype_blank.h: Likewise.
18983         * lib/unictype/ctype_cntrl.h: Likewise.
18984         * lib/unictype/ctype_digit.h: Likewise.
18985         * lib/unictype/ctype_space.h: Likewise.
18986         * lib/unictype/ctype_xdigit.h: Likewise.
18987         * lib/unictype/mirror.h: Likewise.
18988         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18989         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18990         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18991         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18992         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18993         * lib/unictype/pr_bidi_control.h: Likewise.
18994         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18995         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18996         * lib/unictype/pr_bidi_pdf.h: Likewise.
18997         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18998         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18999         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19000         * lib/unictype/pr_format_control.h: Likewise.
19001         * lib/unictype/pr_hex_digit.h: Likewise.
19002         * lib/unictype/pr_hyphen.h: Likewise.
19003         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19004         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19005         * lib/unictype/pr_iso_control.h: Likewise.
19006         * lib/unictype/pr_join_control.h: Likewise.
19007         * lib/unictype/pr_left_of_pair.h: Likewise.
19008         * lib/unictype/pr_line_separator.h: Likewise.
19009         * lib/unictype/pr_math.h: Likewise.
19010         * lib/unictype/pr_non_break.h: Likewise.
19011         * lib/unictype/pr_not_a_character.h: Likewise.
19012         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19013         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19014         * lib/unictype/pr_other_id_continue.h: Likewise.
19015         * lib/unictype/pr_other_id_start.h: Likewise.
19016         * lib/unictype/pr_other_lowercase.h: Likewise.
19017         * lib/unictype/pr_other_math.h: Likewise.
19018         * lib/unictype/pr_other_uppercase.h: Likewise.
19019         * lib/unictype/pr_paired_punctuation.h: Likewise.
19020         * lib/unictype/pr_paragraph_separator.h: Likewise.
19021         * lib/unictype/pr_pattern_syntax.h: Likewise.
19022         * lib/unictype/pr_pattern_white_space.h: Likewise.
19023         * lib/unictype/pr_private_use.h: Likewise.
19024         * lib/unictype/pr_quotation_mark.h: Likewise.
19025         * lib/unictype/pr_radical.h: Likewise.
19026         * lib/unictype/pr_soft_dotted.h: Likewise.
19027         * lib/unictype/pr_space.h: Likewise.
19028         * lib/unictype/pr_titlecase.h: Likewise.
19029         * lib/unictype/pr_variation_selector.h: Likewise.
19030         * lib/unictype/pr_white_space.h: Likewise.
19031         * lib/unictype/sy_c_ident.h: Likewise.
19032         * lib/unictype/sy_c_whitespace.h: Likewise.
19033         * lib/unictype/sy_java_whitespace.h: Likewise.
19034         * modules/uni*/*: Bump version number of expected libunistring version.
19035         Reported by Simon Josefsson.
19036
19037 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19038
19039         useless-if-before-free: fix typo in --help and make the internal,
19040         automatic version date update process work once again.
19041         --help output contained a NUL character instead of the
19042         backslash-zero that was intended.  Also, the "must lie within
19043         the first 8 lines" line is on line 9, and hence not getting
19044         automatically updated.
19045         * build-aux/useless-if-before-free: Fix the former by adding a
19046         backslash, and the latter by condensing the three lines of what-it-does
19047         to a single line, leaving one line of slack for the future.
19048
19049 2011-01-09  Bruno Haible  <bruno@clisp.org>
19050
19051         uniwidth/width: Fix width of U+1D173..U+1D17A.
19052         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19053         symbolic_width, output_width_property_test): New functions.
19054         (main): Invoke output_nonspacing_property, output_width_property_test.
19055         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19056         U+1D173..U+1D17A.
19057         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19058         1.
19059         * modules/uniwidth/*: Bump version number of expected libunistring
19060         version.
19061         * modules/unilbrk/*: Likewise.
19062
19063 2011-01-08  Bruno Haible  <bruno@clisp.org>
19064
19065         uninorm tests: Preserve copyright of Unicode data file.
19066         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19067         Mention modifications.
19068
19069 2011-01-08  Bruno Haible  <bruno@clisp.org>
19070
19071         gen-uni-tables: Prepare for Unicode 5.2.0.
19072         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19073         (debug_output_lbp, output_lbp): Update.
19074
19075 2011-01-08  Bruno Haible  <bruno@clisp.org>
19076
19077         unilbrk: Clarify gen-uni-tables.c code.
19078         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19079         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19080         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19081
19082 2011-01-07  Bruno Haible  <bruno@clisp.org>
19083
19084         strtod: Restore errno when successfully parsing Infinity or NaN.
19085         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19086         restore the original errno.
19087
19088 2011-01-07  Bruno Haible  <bruno@clisp.org>
19089
19090         remove test: Avoid failure on HP-UX 11.
19091         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19092
19093 2011-01-07  Bruno Haible  <bruno@clisp.org>
19094
19095         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19096         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19097         error code.
19098
19099 2011-01-07  Pádraig Brady <P@draigBrady.com>
19100
19101         ignore-value: fixup comments, and add Eric Blake
19102         as an author since he rewrote the macros.
19103         * lib/ignore-value.h (ignore_value):  State that
19104         we now support aggregates.  Also specify exactly
19105         when the GCC warn_unused_result feature was added.
19106
19107 2011-01-06  Eric Blake  <eblake@redhat.com>
19108
19109         ignore-value: support aggregate types
19110         * lib/ignore-value.h (ignore_value): Provide separate gcc
19111         definition.
19112         * modules/ignore-value-tests: New test module.
19113         * tests/test-ignore-value.c: New test.
19114
19115         maint.mk: improve sc_prohibit_strcmp regex
19116         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19117         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19118         definition of STRNEQ.
19119
19120         signal: work around Haiku issue with SIGBUS
19121         * lib/siglist.h: Add comment.
19122         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19123         strsignal's favoring of SIGSEGV.
19124         * tests/test-signal.c (main): Avoid test failure.
19125         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19126         Reported by Scott McCreary.
19127
19128         maint.mk: add pre-release check to ensure submodule commits are public
19129         * top/maint.mk (public-submodule-commit): New rule.
19130         (submodule-checks): New variable.
19131         (alpha beta stable): Depend on the variable.
19132
19133 2011-01-05  Pádraig Brady <P@draigBrady.com>
19134         and Jim Meyering  <meyering@redhat.com>
19135
19136         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19137         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19138         (ATTRIBUTE_DEPRECATED): Define.
19139         (_ignore_case): New function.
19140         (ignore_value): New macro, to replace the old function.
19141         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19142         * modules/ignore-value (Depends-on): Add stdint.
19143
19144 2011-01-04  Eric Blake  <eblake@redhat.com>
19145
19146         doc: regenerate INSTALL
19147         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19148         @firstparagraphindent support, now that autoconf dropped it.
19149         (INSTALL_PRELUDE): Reinstate old macro.
19150         * doc/install.texi: Resync from autoconf.
19151         * doc/INSTALL: Reflect recent autoconf update.
19152         * doc/INSTALL.ISO: Likewise.
19153         * doc/INSTALL.UTF-8: Likewise.
19154         Reported by Karl Berry.
19155
19156 2011-01-04  Bruce Korb  <address@hidden>
19157
19158         git-version-gen: avoid a sub-shell
19159         * build-aux/git-version-gen: Redirect stderr in `...` via
19160         "exec 2>...", rather than via an added sub-shell.
19161
19162 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19163
19164         git-version-gen: use (...) rather than sh -c '...'
19165         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19166         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19167
19168 2011-01-03  Jim Meyering  <meyering@redhat.com>
19169
19170         git-version-gen: convert leading TABs to spaces
19171         * build-aux/git-version-gen: Expand leading TABs.
19172
19173         git-version-gen: handle failed "git rev-list"
19174         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19175         from git and proceeding as if it had succeeded but printed no SHA1
19176         checksums, suppress the diagnostic and handle the failure.
19177         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19178
19179         git-version-gen: include command name in one more diagnostic
19180         * build-aux/git-version-gen: When the required .tarball-version file
19181         was missing or unreadable, you might see the diagnostic from "cat",
19182         but no trace of the name of the invoking script.  Now, you still see
19183         the diagnostic from cat, but also get one from "git-version-gen: ".
19184         Inspired by a patch from Bruce Korb.
19185
19186         update-copyright: adjust test to match changed code
19187         * tests/test-update-copyright.sh: Change test's expected output
19188         to match new actual output.
19189
19190 2011-01-02  Bruno Haible  <bruno@clisp.org>
19191
19192         getlogin_r: Avoid test failure on HP-UX 11.
19193         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
19194         ERANGE when the second argument is zero.
19195         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
19196         portability problem.
19197
19198 2011-01-02  Bruce Korb  <bkorb@gnu.org>
19199
19200         * build-aux/update-copyright: doc Simon's changes
19201
19202 2011-01-02  Simon Josefsson  <simon@josefsson.org>
19203
19204         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
19205         environment variable.
19206
19207 2011-01-02  Bruno Haible  <bruno@clisp.org>
19208
19209         unigbrk: Avoid gcc warnings.
19210         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
19211         unused variable.
19212         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
19213         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
19214         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
19215         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
19216         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
19217         Change type of first argument to 'const char *'.
19218         (main): Remove unused variable.
19219         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
19220         type of first argument to 'const char *'.
19221         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
19222         Likewise.
19223         (main): Change type of variable 's'.
19224         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
19225         to 'int'.
19226
19227 2011-01-02  Bruno Haible  <bruno@clisp.org>
19228
19229         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
19230         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
19231         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
19232         bug.
19233         * lib/pwrite.c: Undo 2010-12-31 patch.
19234         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
19235
19236 2011-01-02  Bruno Haible  <bruno@clisp.org>
19237
19238         pread: Fix test whether it works.
19239         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
19240
19241 2011-01-02  Bruno Haible  <bruno@clisp.org>
19242
19243         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
19244         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
19245         ends in "6". Don't require a specific month name. Try also the locale
19246         names found on HP-UX 11 and Solaris 7.
19247
19248 2011-01-02  Bruno Haible  <bruno@clisp.org>
19249
19250         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
19251         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
19252         C linkage.
19253         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
19254
19255 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19256
19257         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
19258         for consistency, since the "cluster" term is not used elsewhere.
19259         * lib/unigbrk.in.h: Update name.
19260         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
19261         * lib/unigbrk/u16-grapheme-next.c: Update name.
19262         * lib/unigbrk/u16-grapheme-prev.c: Update name.
19263         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
19264         * lib/unigbrk/u32-grapheme-next.c: Update name.
19265         * lib/unigbrk/u32-grapheme-prev.c: Update name.
19266         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
19267         * lib/unigbrk/u8-grapheme-next.c: Update name.
19268         * lib/unigbrk/u8-grapheme-prev.c: Update name.
19269         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
19270         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
19271         Suggested by Bruno Haible.
19272
19273 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19274
19275         Remove module 'u8-grapheme-len' as too redundant with
19276         'u8-grapheme-next'.
19277         * modules/unigbrk/u8-grapheme-len: Delete file.
19278         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
19279         * lib/unigbrk.in.h: Remove prototype for deleted function.
19280         * lib/unigbrk/u8-grapheme-len.c: Delete file.
19281         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
19282
19283         Remove module 'u16-grapheme-len' as too redundant with
19284         'u16-grapheme-next'.
19285         * modules/unigbrk/u16-grapheme-len: Delete file.
19286         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
19287         * lib/unigbrk.in.h: Remove prototype for deleted function.
19288         * lib/unigbrk/u16-grapheme-len.c: Delete file.
19289         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
19290
19291         Remove module 'u32-grapheme-len' as too redundant with
19292         'u32-grapheme-next'.
19293         * modules/unigbrk/u32-grapheme-len: Delete file.
19294         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
19295         * lib/unigbrk.in.h: Remove prototype for deleted function.
19296         * lib/unigbrk/u32-grapheme-len.c: Delete file.
19297         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
19298
19299         Suggested by Bruno Haible.
19300
19301 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19302
19303         * unigbrk.in.h: Fix typo: "ben" => "been".
19304         Reported by Bruno Haible.
19305
19306 2011-01-01  Jim Meyering  <meyering@redhat.com>
19307
19308         maint: update almost all copyright ranges to include 2011
19309         Run the new "make update-copyright" rule.
19310
19311 2011-01-01  Jim Meyering  <meyering@redhat.com>
19312
19313         maint: update-copyright: exempt doc/INSTALL*
19314         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19315         since they are generated.  Suggested by Bruno Haible.
19316
19317 2011-01-01  Jim Meyering  <meyering@redhat.com>
19318
19319         maint: refine the update-copyright rule
19320         * Makefile (update-copyright): Also exclude any file that includes
19321         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19322         code that merely generates the comment.
19323
19324 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19325
19326         New module 'u8-grapheme-len'.
19327         * modules/unigbrk/u8-grapheme-len: New file.
19328         * modules/unigbrk/u8-grapheme-len-tests: New file.
19329         * lib/unigbrk.in.h: Add prototype for new function.
19330         * lib/unigbrk/u8-grapheme-len.c: New file.
19331         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19332
19333         New module 'u16-grapheme-len'.
19334         * modules/unigbrk/u16-grapheme-len: New file.
19335         * modules/unigbrk/u16-grapheme-len-tests: New file.
19336         * lib/unigbrk.in.h: Add prototype for new function.
19337         * lib/unigbrk/u16-grapheme-len.c: New file.
19338         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19339
19340         New module 'u32-grapheme-len'.
19341         * modules/unigbrk/u32-grapheme-len: New file.
19342         * modules/unigbrk/u32-grapheme-len-tests: New file.
19343         * lib/unigbrk.in.h: Add prototype for new function.
19344         * lib/unigbrk/u32-grapheme-len.c: New file.
19345         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19346
19347         New module 'u8-grapheme-next'.
19348         * modules/unigbrk/u8-grapheme-next: New file.
19349         * modules/unigbrk/u8-grapheme-next-tests: New file.
19350         * lib/unigbrk.in.h: Add prototype for new function.
19351         * lib/unigbrk/u8-grapheme-next.c: New file.
19352         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19353
19354         New module 'u16-grapheme-next'.
19355         * modules/unigbrk/u16-grapheme-next: New file.
19356         * modules/unigbrk/u16-grapheme-next-tests: New file.
19357         * lib/unigbrk.in.h: Add prototype for new function.
19358         * lib/unigbrk/u16-grapheme-next.c: New file.
19359         * tests/unigbrk/test-u16-grapheme-next.c: New file.
19360
19361         New module 'u32-grapheme-next'.
19362         * modules/unigbrk/u32-grapheme-next: New file.
19363         * modules/unigbrk/u32-grapheme-next-tests: New file.
19364         * lib/unigbrk.in.h: Add prototype for new function.
19365         * lib/unigbrk/u32-grapheme-next.c: New file.
19366         * tests/unigbrk/test-u32-grapheme-next.c: New file.
19367
19368         New module 'u8-grapheme-prev'.
19369         * modules/unigbrk/u8-grapheme-prev: New file.
19370         * modules/unigbrk/u8-grapheme-prev-tests: New file.
19371         * lib/unigbrk.in.h: Add prototype for new function.
19372         * lib/unigbrk/u8-grapheme-prev.c: New file.
19373         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
19374
19375         New module 'u16-grapheme-prev'.
19376         * modules/unigbrk/u16-grapheme-prev: New file.
19377         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19378         * lib/unigbrk.in.h: Add prototype for new function.
19379         * lib/unigbrk/u16-grapheme-prev.c: New file.
19380         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19381
19382         New module 'u32-grapheme-prev'.
19383         * modules/unigbrk/u32-grapheme-prev: New file.
19384         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19385         * lib/unigbrk.in.h: Add prototype for new function.
19386         * lib/unigbrk/u32-grapheme-prev.c: New file.
19387         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19388
19389         New module 'u8-grapheme-breaks'.
19390         * modules/unigbrk/u8-grapheme-breaks: New file.
19391         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19392         * lib/unigbrk.in.h: Add prototype for new function.
19393         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19394         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19395
19396         New module 'u16-grapheme-breaks'.
19397         * modules/unigbrk/u16-grapheme-breaks: New file.
19398         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19399         * lib/unigbrk.in.h: Add prototype for new function.
19400         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19401         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19402
19403         New module 'u32-grapheme-breaks'.
19404         * modules/unigbrk/u32-grapheme-breaks: New file.
19405         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19406         * lib/unigbrk.in.h: Add prototype for new function.
19407         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19408         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19409
19410         New module 'ulc-grapheme-breaks'.
19411         * modules/unigbrk/ulc-grapheme-breaks: New file.
19412         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
19413         * m4/locale-ar.m4: New file.
19414         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
19415         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
19416         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
19417
19418 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19419
19420         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
19421         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
19422         modified how this file was generated before I initially submitted
19423         the module, but failed to regenerate it.  This meant that several
19424         of the level2 entries were wrong.
19425         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
19426         Remove the division-by-2 that is folded into the table now that
19427         gbrkprop.h has been regenerated properly.  Now -1 entries are
19428         handled correctly.
19429
19430         New module 'unigbrk/uc-gbrk-prop-tests'.
19431         * modules/unigbrk/uc-gbrk-prop-tests: New file.
19432         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
19433         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
19434         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
19435
19436 2011-01-01  Bruno Haible  <bruno@clisp.org>
19437
19438         Avoid use of hexadecimal escapes.
19439         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
19440         instead of hexadecimal escapes.
19441
19442 2011-01-01  Jim Meyering  <meyering@redhat.com>
19443
19444         maint: new rule to update copyright year ranges
19445         * Makefile (update-copyright): New rule.
19446
19447         maint: indent with TABs in Makefile
19448         * Makefile: Expand leading sequences of spaces to TABs
19449
19450         version-etc: update the copyright year it reports
19451         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
19452
19453 2010-12-31  Bruno Haible  <bruno@clisp.org>
19454
19455         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
19456         * lib/isfinite.c (zerof, zerod, zerol): New variables.
19457         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
19458         zero.
19459
19460 2010-12-31  Bruno Haible  <bruno@clisp.org>
19461
19462         pwrite: Work around HP-UX 11.11 bug.
19463         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
19464         works and set REPLACE_PWRITE if not.
19465         * lib/pwrite.c (pwrite): Add an implementation that uses the system
19466         function.
19467         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
19468
19469 2010-12-31  Bruno Haible  <bruno@clisp.org>
19470
19471         pread: Work around HP-UX 11 bugs.
19472         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
19473         and set REPLACE_PREAD if not.
19474         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
19475
19476 2010-12-31  Eric Blake  <eblake@redhat.com>
19477
19478         nl_langinfo: fix YESEXPR on Irix 6.5
19479         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
19480         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
19481         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19482         it.
19483
19484 2010-12-31  Bruno Haible  <bruno@clisp.org>
19485
19486         iconv: Document HP-UX 11 bug.
19487         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19488
19489 2010-12-31  Bruno Haible  <bruno@clisp.org>
19490
19491         ldexpl: Fix link error on HP-UX 11.
19492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19493         LDEXPL_LIBM, using $ISNANL_LIBM.
19494
19495 2010-12-31  Eric Blake  <eblake@redhat.com>
19496
19497         ftello: avoid compilation failure with SunStudio c89
19498         * lib/ftello.c (ftello): Use lseek, not llseek.
19499
19500         tests: avoid failing coreutils tests on cygwin
19501         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19502         (create_exe_shims_): Return 0 when skipping.
19503
19504 2010-12-31  Bruno Haible  <bruno@clisp.org>
19505
19506         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19507         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19508
19509 2010-12-31  Bruno Haible  <bruno@clisp.org>
19510
19511         waitpid: Fix link error in C++ mode.
19512         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19513
19514 2010-12-31  Bruno Haible  <bruno@clisp.org>
19515
19516         isnan: Use GCC built-ins when possible.
19517         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19518         __builtin_isnan.
19519         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19520         (isnan): Define using GCC built-ins for GCC >= 4.0.
19521
19522 2010-12-31  Bruno Haible  <bruno@clisp.org>
19523
19524         isnand: Fix mistake.
19525         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19526         __builtin_isnand.
19527
19528 2010-12-31  Bruno Haible  <bruno@clisp.org>
19529
19530         open: Avoid C++ error on HP-UX 11.
19531         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19532
19533 2010-12-31  Bruno Haible  <bruno@clisp.org>
19534
19535         time_r: Add missing declarations on HP-UX 11.
19536         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19537         instead of HAVE_LOCALTIME_R.
19538         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19539         HAVE_LOCALTIME_R always.
19540         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19541         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19542         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19543         HAVE_LOCALTIME_R.
19544         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19545         * doc/posix-functions/localtime_r.texi: Likewise.
19546
19547 2010-12-29  Eric Blake  <eblake@redhat.com>
19548
19549         mountlist: tweak previous commit
19550         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19551         Reported by Paul Eggert.
19552
19553         mountlist: fix local drive detection on cygwin
19554         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19555         that works for cygwin.
19556
19557 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19558
19559         ftoastr, snprintf: ftoastr + snprintf module
19560         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19561         since the snprintf module now should be good enough here.
19562         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19563         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19564         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19565         GNULIB_SNPRINTF only for the test directory, and the latter
19566         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19567         seems to suffice by itself.
19568
19569 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19570
19571         alloca: one step towards thread-safety
19572         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19573         need for a static variable.  All callers changed.  This does not
19574         make the alloca replacement thread-safe, but it's one step.
19575
19576         tests: minor indenting change
19577         * tests/init.sh: Sync from coreutils housekeeping patch
19578         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19579         to keep lines within 80 columns.
19580
19581 2010-12-28  Jim Meyering  <meyering@redhat.com>
19582
19583         regex: don't infloop on persistent failing calloc
19584         * lib/regexec.c (build_trtable): Return failure indication upon
19585         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19586         In glibc, this was fixed for version 2.13:
19587         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19588
19589 2010-12-28  Bruno Haible  <bruno@clisp.org>
19590             Paul Eggert <eggert@cs.ucla.edu>
19591
19592         linkat: Make implementation robust against system behaviour variations.
19593         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19594         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19595         way, and to -2 if it needs a generic runtime test.
19596         * lib/linkat.c (solaris_optimized_link_immediate,
19597         solaris_optimized_link_follow): New functions.
19598         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19599         (check_same_link): Use it.
19600
19601 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19602
19603         New module 'unigbrk/base'.
19604         * modules/unigbrk/base: New file.
19605         * lib/unigbrk.in.h: New file.
19606
19607         New module 'unigbrk/uc-gbrk-prop'.
19608         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19609         * modules/unigbrk/uc-gbrk-prop: New file.
19610         * lib/unigbrk/gbrkprop.h: New file.
19611         * lib/unigbrk/uc-gbrk-prop.c: New file.
19612
19613         New module 'unigbrk/uc-is-grapheme-break'.
19614         * modules/unigbrk/uc-is-grapheme-break: New file.
19615         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19616         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19617         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19618         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19619         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19620
19621         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19622
19623 2010-12-27  Bruno Haible  <bruno@clisp.org>
19624
19625         linkat test: Avoid failure on Solaris 11 2010-11.
19626         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19627
19628 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19629
19630         utimens: work around glibc rounding bug on more platforms
19631         * lib/utimens.c (fdutimens): Work around rounding bug even if
19632         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19633         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19634
19635 2010-12-27  Bruno Haible  <bruno@clisp.org>
19636
19637         select tests: Improve comments.
19638         * tests/test-select.c (do_select): Add comments.
19639
19640 2010-12-27  Bruno Haible  <bruno@clisp.org>
19641
19642         select tests: Safer way of handling timeout.
19643         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19644         at every invocation.
19645
19646 2010-12-27  Bruno Haible  <bruno@clisp.org>
19647
19648         select tests: Use 'bool' where appropriate.
19649         * tests/test-select.c (connect_to_socket): Change argument type to
19650         'bool'.
19651
19652 2010-12-27  Bruno Haible  <bruno@clisp.org>
19653
19654         select tests: Use existing modules.
19655         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19656         (configure.ac): Don't test for unistd.h.
19657         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19658         declared in <unistd.h>.
19659
19660 2010-12-27  Bruno Haible  <bruno@clisp.org>
19661
19662         mbrtowc: Work around a Solaris 7 bug.
19663         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19664         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19665         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19666         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19667         MBRTOWC_NULL_ARG1_BUG.
19668         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19669         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19670         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19671         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19672
19673 2010-12-27  Jim Meyering  <meyering@redhat.com>
19674
19675         read-file.c: tweak syntax
19676         * lib/read-file.c (fread_file): Remove space after "*" in function
19677         definitions.
19678
19679 2010-12-27  Bruno Haible  <bruno@clisp.org>
19680
19681         times test: Avoid gcc warnings on OSF/1.
19682         * tests/test-times.c (main): Cast printf arguments from clock_t to
19683         'long int'.
19684
19685 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19686
19687         utimens: work around glibc rounding bug on older Linux kernels
19688         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19689         on Linux with a glibc whose utimes might not work, then work
19690         around a longstanding glibc bug involving rounding rather than
19691         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19692         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19693
19694 2010-12-26  Bruno Haible  <bruno@clisp.org>
19695
19696         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19697         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19698         _GL_CXXALIAS_SYS.
19699         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19700
19701 2010-12-26  Bruno Haible  <bruno@clisp.org>
19702
19703         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19704         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19705         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19706         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19707         looking for the declaration.
19708         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19709         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19710         problem.
19711         * doc/posix-functions/inet_pton.texi: Likewise.
19712
19713 2010-12-26  Bruno Haible  <bruno@clisp.org>
19714
19715         arpa_inet: Use the common idioms with C++ support.
19716         * lib/arpa_inet.in.h: Include c++defs.h.
19717         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19718         support.
19719         * modules/arpa_inet (Depends-on): Add c++defs.
19720         (Makefile.am): Substitute the contents of c++defs.h.
19721         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19722         * modules/arpa_inet-c++-tests: New file.
19723         * tests/test-arpa_inet-c++.cc: New file.
19724
19725 2010-12-25  Bruno Haible  <bruno@clisp.org>
19726
19727         Fix more C++ link errors on Solaris 8.
19728         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19729         $(LIB_EACCESS).
19730         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19731         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19732         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19733         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19734         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19735
19736 2010-12-25  Bruno Haible  <bruno@clisp.org>
19737
19738         printf-posix: Fix link error when a non-GCC compiler is used.
19739         * lib/stdio.in.h (printf): When not using GCC, override printf
19740         correctly.
19741         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19742
19743 2010-12-25  Bruno Haible  <bruno@clisp.org>
19744
19745         strerror_r-posix: Update doc.
19746         * doc/posix-functions/strerror_r.texi: Update doc about the return
19747         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19748
19749 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19750
19751         utimens: simplify the logic of the previous change
19752         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19753         This should not affect whether the test succeeds or fails.
19754
19755         utimens: configure better on hosts with NFS clock skew
19756         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19757         uses the clock of the local host.  It might use the clock of the
19758         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19759         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19760
19761 2010-12-25  Bruno Haible  <bruno@clisp.org>
19762
19763         ptsname test: Avoid failure on Solaris.
19764         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19765         open a pseudo-terminal; don't use BSD-style ptys.
19766         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19767
19768 2010-12-25  Bruno Haible  <bruno@clisp.org>
19769
19770         ptsname: Avoid ERANGE failure on some systems.
19771         * lib/ptsname.c (buffer): Increase size.
19772
19773 2010-12-25  Bruno Haible  <bruno@clisp.org>
19774
19775         rename, renameat: Avoid test failures at NFS mounted locations.
19776         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19777         so that subsequent mkdir calls succeed.
19778
19779 2010-12-25  Bruno Haible  <bruno@clisp.org>
19780
19781         iswblank: Fix C++ link error on Solaris 8.
19782         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19783         _GL_FUNCDECL_SYS.
19784
19785 2010-12-25  Bruno Haible  <bruno@clisp.org>
19786
19787         unistd: Fix C++ link error on Solaris 8.
19788         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19789
19790 2010-12-25  Bruno Haible  <bruno@clisp.org>
19791
19792         readlink doc: Mention an old glibc bug.
19793         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19794
19795 2010-12-25  Bruno Haible  <bruno@clisp.org>
19796
19797         fcntl-h: Fix for use of C++ on glibc systems.
19798         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19799         also on glibc systems in C++ mode.
19800         Reported by Gary V. Vaughan <gary@gnu.org>.
19801
19802 2010-12-25  Bruno Haible  <bruno@clisp.org>
19803
19804         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19805         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19806
19807 2010-12-25  Bruno Haible  <bruno@clisp.org>
19808
19809         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19810         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19811         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19812         test whether truncl works according to ISO C 99 with IEC 60559.
19813         * m4/truncl-ieee.m4: New file.
19814         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19815         m4/signbit.m4.
19816         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19817
19818 2010-12-25  Bruno Haible  <bruno@clisp.org>
19819
19820         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19821         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19822         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19823         test whether ceill works according to ISO C 99 with IEC 60559.
19824         * m4/ceill-ieee.m4: New file.
19825         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19826         m4/signbit.m4.
19827         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19828
19829 2010-12-25  Bruno Haible  <bruno@clisp.org>
19830
19831         Ensure all prerequisites of <wchar.h> are included.
19832         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19833         before <wchar.h>.
19834         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19835         gl_MBRLEN_NUL_RETVAL): Likewise.
19836         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19837         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19838         AC_FUNC_MBRTOWC): Likewise.
19839         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19840         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19841         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19842         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19843         Likewise.
19844         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19845         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19846         (gl_WCHAR_H): Improve comments.
19847         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19848
19849 2010-12-25  Bruno Haible  <bruno@clisp.org>
19850
19851         strtok_r: Fix C syntax error in autoconf macro.
19852         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19853         characters in test program.
19854
19855 2010-12-24  Bruno Haible  <bruno@clisp.org>
19856
19857         ceil, trunc, round: Fix gcc warnings.
19858         * lib/ceil.c (MIN): Undefine before redefining.
19859         * lib/trunc.c (MIN): Likewise.
19860         * lib/round.c (MIN): Likewise.
19861         Include <math.h> first.
19862
19863 2010-12-24  Bruno Haible  <bruno@clisp.org>
19864
19865         select tests: Avoid failures on OSF/1 5.1.
19866         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19867         failure of closing the last socket; it may fail with ECONNRESET.
19868
19869 2010-12-24  Eric Blake  <eblake@redhat.com>
19870
19871         stdint: avoid HP-UX 10.20 preprocessor bug
19872         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19873         than #if.
19874         * tests/test-floor2.c (main): Likewise.
19875         Reported by Peter O'Gorman.
19876
19877         pipe: make obsoletion transition easier
19878         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19879         * modules/pipe (Files): Include revived file.
19880         (Include): Drop reference, to mirror getdate's behavior.
19881
19882 2010-12-24  Bruno Haible  <bruno@clisp.org>
19883
19884         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19885         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19886         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19887         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19888
19889 2010-12-24  Bruno Haible  <bruno@clisp.org>
19890
19891         gethostname: Ensure declaration on NonStop Kernel.
19892         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19893         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19894
19895 2010-12-24  Bruno Haible  <bruno@clisp.org>
19896
19897         sys_select: Ensure all necessary types on NonStop Kernel.
19898         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19899         include <sys/time.h>.
19900         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19901         NonStop Kernel.
19902         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19903
19904 2010-12-24  Bruno Haible  <bruno@clisp.org>
19905
19906         sys_select: Remove unneeded include.
19907         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19908         have <sys/select.h>.
19909
19910 2010-12-24  Bruno Haible  <bruno@clisp.org>
19911
19912         gethostname: Provide a fallback for HOST_NAME_MAX.
19913         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19914         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19915         instead.
19916         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19917
19918 2010-12-24  Bruno Haible  <bruno@clisp.org>
19919
19920         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19921         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19922         (SA_RESTART): Likewise.
19923         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19924
19925 2010-12-24  Bruno Haible  <bruno@clisp.org>
19926
19927         signal: Define NSIG.
19928         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19929         * tests/test-signal.c (nsig): New variable.
19930         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19931
19932 2010-12-24  Bruno Haible  <bruno@clisp.org>
19933
19934         rename, renameat: Avoid test failures on OSF/1 5.1.
19935         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19936         alternative error codes.
19937         * tests/test-renameat.c (main): Likewise.
19938
19939 2010-12-24  Bruno Haible  <bruno@clisp.org>
19940
19941         *printf: Detect large precisions bug on Solaris 10/SPARC.
19942         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19943         by Paul Eggert.
19944         * tests/test-snprintf-posix.h (test_function): Add this test code here
19945         too.
19946         * tests/test-sprintf-posix.h (test_function): Likewise.
19947         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19948         * tests/test-vasprintf-posix.c (test_function): Likewise.
19949         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19950         around by gnulib.
19951         * doc/posix-functions/printf.texi: Likewise.
19952         * doc/posix-functions/snprintf.texi: Likewise.
19953         * doc/posix-functions/sprintf.texi: Likewise.
19954         * doc/posix-functions/vfprintf.texi: Likewise.
19955         * doc/posix-functions/vprintf.texi: Likewise.
19956         * doc/posix-functions/vsnprintf.texi: Likewise.
19957         * doc/posix-functions/vsprintf.texi: Likewise.
19958         * doc/posix-functions/dprintf.texi: Undo last commit.
19959         * doc/posix-functions/vdprintf.texi: Likewise.
19960
19961 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19962
19963         tests: port test-fdutimensat.c to Solaris 8
19964         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19965         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19966         On Solaris 8, it fails with errno == ENOSYS, because there is no
19967         futimens (so it can't use the fd), and there is no lutimens (so it
19968         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19969
19970         vsnprintf: make more consistent with snprintf; doc fixes
19971
19972         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19973         the byte count return problem was promoted from the snprintf-posix
19974         to the snprintf module.
19975         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19976         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19977         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19978         * tests/test-snprintf.c (main): Check the byte count returned.
19979         * tests/test-vsnprintf.c (main): Likewise.
19980
19981 2010-12-23  Eric Blake  <eblake@redhat.com>
19982
19983         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19984         * modules/sigpipe (License): Relax license.
19985
19986 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19987
19988         doc: document Solaris printf bug with large float precisions
19989         * doc/posix-functions/dprintf.texi (dprintf):
19990         * doc/posix-functions/fprintf.texi (fprintf):
19991         * doc/posix-functions/printf.texi (printf):
19992         * doc/posix-functions/snprintf.texi (snprintf):
19993         * doc/posix-functions/sprintf.texi (sprintf):
19994         * doc/posix-functions/vdprintf.texi (vdprintf):
19995         * doc/posix-functions/vfprintf.texi (vfprintf):
19996         * doc/posix-functions/vprintf.texi (vprintf):
19997         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19998         * doc/posix-functions/vsprintf.texi (vsprintf):
19999         Mention that these functions mishandle large floating point
20000         precisions on Solaris 10.  The same bug is also present in Solaris
20001         8, and I assume earlier.  This causes "cd gnulib-tests; make
20002         check" to fail on Solaris 8 (and I assume, later) when building
20003         the latest coreutils, in test-vasprintf-posix's call to
20004         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20005         the wide flavors (e.g., wprintf) so this patch just updates the
20006         documentation for the narrow ones.
20007
20008         test-posixtm.c: add two tests
20009         * tests/test-posixtm.c: Add two tests, to highlight the
20010         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20011         around this bug; this is merely to document it.
20012
20013 2010-12-22  Bruno Haible  <bruno@clisp.org>
20014
20015         getlogin_r: Work around portability problem on OSF/1.
20016         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20017         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20018         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20019         test for a truncated result.
20020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20021         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20022         * modules/getlogin_r (Depends-on): Add memchr.
20023         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20024
20025 2010-12-22  Bruno Haible  <bruno@clisp.org>
20026
20027         ptsname: Avoid test failure on OSF/1 5.1.
20028         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20029         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20030         (same_slave): New function.
20031         (main): Use it to compare ptsname's result with the expected file name.
20032
20033 2010-12-22  Bruno Haible  <bruno@clisp.org>
20034
20035         Port extended stdio modules to HP NonStop Kernel.
20036         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20037         macros.
20038         * lib/fbufmode.c: Update comments.
20039         * lib/fflush.c: Likewise.
20040         * lib/fpurge.c: Likewise.
20041         * lib/freadable.c: Likewise.
20042         * lib/freadahead.c: Likewise.
20043         * lib/freading.c: Likewise.
20044         * lib/freadptr.c: Likewise.
20045         * lib/freadseek.c: Likewise.
20046         * lib/fseeko.c: Likewise.
20047         * lib/fseterr.c: Likewise.
20048         * lib/fwritable.c: Likewise.
20049         * lib/fwriting.c: Likewise.
20050         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20051
20052 2010-12-22  Bruno Haible  <bruno@clisp.org>
20053
20054         ttyname_r: Work around bug on OSF/1 5.1.
20055         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20056         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20057         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20058         present.
20059         * lib/ttyname_r.c (ttyname_r): Update comments.
20060
20061 2010-12-22  Bruno Haible  <bruno@clisp.org>
20062
20063         round: Implement result sign according to IEEE 754.
20064         * lib/round.c (MIN, MINUS_ZERO): New macros.
20065         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20066         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20067         * tests/test-round-ieee.c (main): Likewise.
20068         * tests/test-roundl-ieee.c (main): Likewise.
20069
20070         trunc: Implement result sign according to IEEE 754.
20071         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20072         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20073         * tests/test-trunc2.c: Include minus-zero.h.
20074         (MINUS_ZERO): New macro.
20075         (trunc_reference): Keep in sync with lib/trunc.c.
20076         * tests/test-truncf2.c: Include minus-zero.h.
20077         (MINUS_ZERO): New macro.
20078         (truncf_reference): Keep in sync with lib/trunc.c.
20079         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20080         * tests/test-trunc-ieee.c (main): Likewise.
20081         * tests/test-truncl-ieee.c (main): Likewise.
20082
20083         ceil: Implement result sign according to IEEE 754.
20084         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20085         (FUNC): Return -0.0 for -1 < x < 0.
20086         * tests/test-ceil2.c: Include minus-zero.h.
20087         (MINUS_ZERO): New macro.
20088         (ceil_reference): Keep in sync with lib/ceil.c.
20089         * tests/test-ceilf2.c: Include minus-zero.h.
20090         (MINUS_ZERO): New macro.
20091         (ceilf_reference): Keep in sync with lib/ceil.c.
20092         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20093         * tests/test-ceil-ieee.c (main): Likewise.
20094         * tests/test-ceill-ieee.c (main): Likewise.
20095
20096         floor: Implement result sign according to IEEE 754.
20097         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20098         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20099         * tests/test-floorf2.c (floorf_reference): Likewise.
20100         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20101         * tests/test-floor-ieee.c (main): Likewise.
20102         * tests/test-floorl-ieee.c (main): Likewise.
20103
20104 2010-12-22  Bruno Haible  <bruno@clisp.org>
20105
20106         getaddrinfo: Update doc.
20107         * doc/posix-functions/gai_strerror.texi: Return type is also different
20108         on AIX and HP-UX.
20109
20110 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20111
20112         getaddrinfo, inet_ntop: Update doc for Solaris.
20113         * doc/posix-functions/gai_strerror.texi: Return type is also an
20114         issue on Solaris 9 and earlier.
20115         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20116         on Solaris 10 and earlier.
20117
20118 2010-12-21  Bruno Haible  <bruno@clisp.org>
20119
20120         New module 'roundl-ieee'.
20121         * modules/roundl-ieee: New file.
20122         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20123         test whether roundl works according to ISO C 99 with IEC 60559.
20124         * m4/roundl-ieee.m4: New file.
20125         * modules/roundl-ieee-tests: New file.
20126         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20127         * tests/test-roundl.c (main): Remove signbit tests.
20128         * modules/roundl-tests (Depends-on): Remove signbit.
20129         * doc/posix-functions/roundl.texi: Mention the new module.
20130
20131 2010-12-21  Bruno Haible  <bruno@clisp.org>
20132
20133         New module 'truncl-ieee'.
20134         * modules/truncl-ieee: New file.
20135         * modules/truncl-ieee-tests: New file.
20136         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20137         * tests/test-truncl.c (main): Remove signbit tests.
20138         * modules/truncl-tests (Depends-on): Remove signbit.
20139         * doc/posix-functions/truncl.texi: Mention the new module.
20140
20141 2010-12-21  Bruno Haible  <bruno@clisp.org>
20142
20143         New module 'ceill-ieee'.
20144         * modules/ceill-ieee: New file.
20145         * modules/ceill-ieee-tests: New file.
20146         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20147         * tests/test-ceill.c (main): Remove signbit tests.
20148         * modules/ceill-tests (Depends-on): Remove signbit.
20149         * doc/posix-functions/ceill.texi: Mention the new module.
20150
20151 2010-12-21  Bruno Haible  <bruno@clisp.org>
20152
20153         New module 'floorl-ieee'.
20154         * modules/floorl-ieee: New file.
20155         * modules/floorl-ieee-tests: New file.
20156         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20157         * tests/test-floorl.c (main): Remove signbit tests.
20158         * modules/floorl-tests (Depends-on): Remove signbit.
20159         * doc/posix-functions/floorl.texi: Mention the new module.
20160
20161 2010-12-21  Bruno Haible  <bruno@clisp.org>
20162
20163         New module 'round-ieee'.
20164         * modules/round-ieee: New file.
20165         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20166         whether round works according to ISO C 99 with IEC 60559.
20167         * m4/round-ieee.m4: New file.
20168         * modules/round-ieee-tests: New file.
20169         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20170         * tests/test-round1.c (main): Remove signbit tests.
20171         * modules/round-tests (Depends-on): Remove 'signbit'.
20172         * doc/posix-functions/round.texi: Mention the new module.
20173
20174 2010-12-21  Bruno Haible  <bruno@clisp.org>
20175
20176         New module 'trunc-ieee'.
20177         * modules/trunc-ieee: New file.
20178         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20179         whether trunc works according to ISO C 99 with IEC 60559.
20180         * m4/trunc-ieee.m4: New file.
20181         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20182         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20183         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20184         * modules/trunc-ieee-tests: New file.
20185         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20186         * tests/test-trunc1.c (main): Remove signbit tests.
20187         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20188         * doc/posix-functions/trunc.texi: Mention the new module.
20189
20190 2010-12-21  Bruno Haible  <bruno@clisp.org>
20191
20192         New module 'ceil-ieee'.
20193         * modules/ceil-ieee: New file.
20194         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
20195         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
20196         ISO C 99 with IEC 60559.
20197         * m4/ceil-ieee.m4: New file.
20198         * modules/ceil (Files): Add lib/ceil.c.
20199         (Depends-on): Add 'float'.
20200         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20201         * lib/math.in.h (ceil): New declaration.
20202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
20203         REPLACE_CEIL.
20204         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
20205         * modules/ceil-ieee-tests: New file.
20206         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
20207         * tests/test-math-c++.cc: Check the signature of 'ceil'.
20208         * doc/posix-functions/ceil.texi: Mention the new module.
20209
20210 2010-12-21  Bruno Haible  <bruno@clisp.org>
20211
20212         New module 'floor-ieee'.
20213         * modules/floor-ieee: New file.
20214         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
20215         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
20216         ISO C 99 with IEC 60559.
20217         * m4/floor-ieee.m4: New file.
20218         * modules/floor (Files): Add lib/floor.c.
20219         (Depends-on): Add 'float'.
20220         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20221         * lib/math.in.h (floor): New declaration.
20222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
20223         REPLACE_FLOOR.
20224         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
20225         * modules/floor-ieee-tests: New file.
20226         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
20227         * tests/test-math-c++.cc: Check the signature of 'floor'.
20228         * doc/posix-functions/floor.texi: Mention the new module.
20229
20230 2010-12-21  Bruno Haible  <bruno@clisp.org>
20231
20232         New module 'roundf-ieee'.
20233         * modules/roundf-ieee: New file.
20234         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
20235         test whether roundf works according to ISO C 99 with IEC 60559.
20236         * m4/roundf-ieee.m4: New file.
20237         * modules/roundf-ieee-tests: New file.
20238         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
20239         * tests/test-roundf1.c (main): Remove signbit tests.
20240         * modules/roundf-tests (Depends-on): Remove 'signbit'.
20241         * doc/posix-functions/roundf.texi: Mention the new module.
20242
20243 2010-12-21  Bruno Haible  <bruno@clisp.org>
20244
20245         New module 'truncf-ieee'.
20246         * modules/truncf-ieee: New file.
20247         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
20248         test whether truncf works according to ISO C 99 with IEC 60559.
20249         * m4/truncf-ieee.m4: New file.
20250         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
20251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
20252         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
20253         * modules/truncf-ieee-tests: New file.
20254         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
20255         * tests/test-truncf1.c (main): Remove signbit tests.
20256         * modules/truncf-tests (Depends-on): Remove 'signbit'.
20257         * doc/posix-functions/truncf.texi: Mention the new module.
20258
20259 2010-12-21  Bruno Haible  <bruno@clisp.org>
20260
20261         New module 'ceilf-ieee'.
20262         * modules/ceilf-ieee: New file.
20263         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
20264         test whether ceilf works according to ISO C 99 with IEC 60559.
20265         * m4/ceilf-ieee.m4: New file.
20266         * modules/ceilf-ieee-tests: New file.
20267         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
20268         * tests/test-ceilf1.c (main): Remove signbit tests.
20269         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
20270         * doc/posix-functions/ceilf.texi: Mention the new module.
20271
20272 2010-12-21  Bruno Haible  <bruno@clisp.org>
20273
20274         New module 'floorf-ieee'.
20275         * modules/floorf-ieee: New file.
20276         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
20277         test whether floorf works according to ISO C 99 with IEC 60559.
20278         * m4/floorf-ieee.m4: New file.
20279         * modules/floorf-ieee-tests: New file.
20280         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
20281         * tests/test-floorf1.c (main): Remove signbit tests.
20282         * modules/floorf-tests (Depends-on): Remove 'signbit'.
20283         * doc/posix-functions/floorf.texi: Mention the new module.
20284
20285 2010-12-21  Bruno Haible  <bruno@clisp.org>
20286
20287         Support for minus zero in autoconf macros.
20288         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
20289         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
20290         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
20291         * tests/minus-zero.h: Update comments.
20292
20293 2010-12-21  Bruno Haible  <bruno@clisp.org>
20294
20295         Tests for module 'ceil'.
20296         * modules/ceil-tests: New file.
20297         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
20298         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
20299
20300 2010-12-21  Bruno Haible  <bruno@clisp.org>
20301
20302         Tests for module 'floor'.
20303         * modules/floor-tests: New file.
20304         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
20305         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
20306
20307 2010-12-21  Bruno Haible  <bruno@clisp.org>
20308
20309         math: Fix indentation.
20310         * lib/math.in.h (floorf): Fix indentation.
20311
20312 2010-12-21  Bruno Haible  <bruno@clisp.org>
20313
20314         Fix cross-compilation guesses on Solaris.
20315         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20316         not match "solaris2.10".
20317         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20318         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20319         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20320
20321 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20322
20323         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20324         This fixes a problem observed with the latest coreutils snapshot
20325         that caused a test to fail on Solaris 8.  src/csplit.c's call
20326         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20327         earlier, instead of returning the number of bytes that would have
20328         been generated; this causes csplit to incorrectly report memory
20329         exhaustion.
20330         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20331         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20332         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20333         comments to match.
20334         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20335         Fix typo in matching older versions of Solaris: "solaris2.10"
20336         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20337         only for guessing while cross-compiling.
20338         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20339
20340 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20341
20342         ftoastr: fix comment again
20343         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20344         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20345         Also, simplify example a bit by using flags = 0.
20346
20347 2010-12-20  Bruno Haible  <bruno@clisp.org>
20348
20349         round*, trunc*: Update documentation regarding glibc.
20350         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20351         * doc/posix-functions/round.texi: Likewise.
20352         * doc/posix-functions/roundl.texi: Likewise.
20353         * doc/posix-functions/truncf.texi: Likewise.
20354         * doc/posix-functions/trunc.texi: Likewise.
20355         * doc/posix-functions/truncl.texi: Likewise.
20356
20357 2010-12-20  Bruno Haible  <bruno@clisp.org>
20358
20359         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
20360         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
20361         * doc/posix-functions/round.texi: Likewise.
20362         * doc/posix-functions/roundl.texi: Likewise.
20363
20364 2010-12-20  Bruno Haible  <bruno@clisp.org>
20365
20366         ttyname_r: Add missing declaration on HP-UX 11.
20367         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
20368         HAVE_TTYNAME_R.
20369         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
20370         declared. Set HAVE_TTYNAME_R always.
20371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20372         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
20373         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
20374         HAVE_TTYNAME_R.
20375         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
20376
20377 2010-12-20  Bruno Haible  <bruno@clisp.org>
20378
20379         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20380         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20381         * doc/posix-functions/getlogin_r.texi: Likewise.
20382         * tests/test-getlogin.c: Include <errno.h>.
20383         (main): Avoid test failure on HP-UX 11.11.
20384         * tests/test-getlogin_r.c (main): Likewise.
20385
20386 2010-12-20  Bruno Haible  <bruno@clisp.org>
20387
20388         getlogin_r: Add missing declaration on HP-UX 11.
20389         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20390         declared also when it exists as a function.
20391         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20392
20393 2010-12-20  Bruno Haible  <bruno@clisp.org>
20394
20395         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20396         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20397         through wcrtomb.
20398
20399 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20400
20401         ftoastr: fix comment
20402         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20403         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20404
20405 2010-12-19  Bruno Haible  <bruno@clisp.org>
20406
20407         isnan: Ensure it is a macro.
20408         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20409         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20410         Solaris.
20411
20412 2010-12-19  Bruno Haible  <bruno@clisp.org>
20413
20414         ldexpl test: Fix link error on OSF/1 5.1.
20415         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
20416
20417 2010-12-19  Bruno Haible  <bruno@clisp.org>
20418
20419         wctype: Make it work in C++ mode on OSF/1 5.1.
20420         * lib/wctype.in.h (iswblank): Declare but not define here.
20421         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
20422         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
20423         * modules/wctype (Files): Add lib/iswblank.c.
20424
20425 2010-12-19  Bruno Haible  <bruno@clisp.org>
20426
20427         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
20428         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
20429         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
20430
20431 2010-12-19  Bruno Haible  <bruno@clisp.org>
20432
20433         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
20434         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
20435         _POSIX_PII_SOCKET.
20436         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
20437         * doc/posix-functions/recvfrom.texi: Likewise.
20438         * doc/posix-functions/send.texi: Likewise.
20439         * doc/posix-functions/sendto.texi: Likewise.
20440
20441 2010-12-19  Bruno Haible  <bruno@clisp.org>
20442
20443         tcgetsid: Add missing declaration on OSF/1 5.1.
20444         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
20445         HAVE_TCGETSID.
20446         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
20447         Don't set HAVE_TCGETSID.
20448         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
20449         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
20450         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
20451         HAVE_TCGETSID.
20452         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
20453
20454 2010-12-19  Bruno Haible  <bruno@clisp.org>
20455
20456         stdio: Fix problem with popen() declaration on OSF/1 5.1.
20457         * lib/stdio.in.h: During the include_next statement, let recursive
20458         includes of this file include only the system header file.
20459
20460 2010-12-19  Bruno Haible  <bruno@clisp.org>
20461
20462         iconv_open: Fix regression from 2010-12-04.
20463         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
20464         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
20465
20466 2010-12-19  Bruno Haible  <bruno@clisp.org>
20467
20468         stdbool test: Avoid a gcc warning.
20469         * tests/test-stdbool.c (main): Fail if e1 is false.
20470         Reported by Jim Meyering.
20471
20472 2010-12-19  Jim Meyering  <meyering@redhat.com>
20473
20474         setenv: restore to working order
20475         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
20476         mistakenly removed.
20477         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
20478         HAVE_SETENV.
20479         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
20480         HAVE_SETENV.
20481
20482 2010-12-19  Bruno Haible  <bruno@clisp.org>
20483
20484         Document some different function declarations on OSF/1 5.1.
20485         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20486         * doc/posix-functions/inet_ntop.texi: Likewise.
20487         * doc/posix-functions/gethostname.texi: Likewise.
20488         * lib/unistd.in.h (gethostname): Update comment.
20489
20490 2010-12-19  Bruno Haible  <bruno@clisp.org>
20491
20492         doc: Mention vasprintf-posix module.
20493         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20494         the 'vasprintf-posix' module.
20495         * doc/glibc-functions/vasprintf.texi: Likewise.
20496
20497 2010-12-19  Bruno Haible  <bruno@clisp.org>
20498
20499         unsetenv: Add missing declaration on OSF/1 5.1.
20500         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20501         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20502         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20504         not HAVE_UNSETENV.
20505         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20506         HAVE_UNSETENV.
20507         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20508
20509 2010-12-19  Bruno Haible  <bruno@clisp.org>
20510
20511         setenv: Add missing declaration on OSF/1 5.1.
20512         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20513         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20514         declared. Don't set HAVE_SETENV.
20515         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20516         not HAVE_SETENV.
20517         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20518         HAVE_SETENV.
20519         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20520
20521 2010-12-19  Bruno Haible  <bruno@clisp.org>
20522
20523         nl_langinfo tests: Avoid gcc warning.
20524         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20525
20526 2010-12-19  Bruno Haible  <bruno@clisp.org>
20527
20528         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20529         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20530         _GL_CXXALIAS_SYS.
20531
20532 2010-12-19  Bruno Haible  <bruno@clisp.org>
20533
20534         stdbool: Relax test.
20535         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20536         address to 'bool' work in static initializer, for compilers other than
20537         GCC.
20538
20539 2010-12-19  Bruno Haible  <bruno@clisp.org>
20540
20541         ftello: Add missing declaration on OSF/1 5.1.
20542         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20543         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20544         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20545         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20546         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20547
20548 2010-12-19  Bruno Haible  <bruno@clisp.org>
20549
20550         fseeko: Add missing declaration on OSF/1 5.1.
20551         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20552         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20554         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20555         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20556
20557 2010-12-19  Bruno Haible  <bruno@clisp.org>
20558
20559         fchdir: Add missing declaration on OSF/1 5.1.
20560         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20562         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20563         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20564         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20565
20566 2010-12-19  Bruno Haible  <bruno@clisp.org>
20567
20568         relocatable-prog-wrapper: Separate from relocatable-prog.
20569         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20570         uninstall-relocwrapper rule here.
20571         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20572         Reported by Ian Beckwith <ianb@erislabs.net>.
20573
20574 2010-12-19  Bruno Haible  <bruno@clisp.org>
20575
20576         unistr/u8-mbsnlen: Add missing dependency.
20577         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20578         Reported by Ian Beckwith <ianb@erislabs.net>.
20579
20580 2010-12-19  Bruno Haible  <bruno@clisp.org>
20581
20582         iconv: Make it possible again to use this module without 'iconv-h'.
20583         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20584         if it is not defined.
20585         Reported by Ian Beckwith <ianb@erislabs.net>.
20586
20587 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20588
20589         acl: port to Solaris 8 when copying from tmpfs to ufs
20590         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20591         error number.  Problem observed on Solaris 8 with latest
20592         coreutils, with "mv A B", where A is on a tmpfs file system and B
20593         is on a ufs file system.  This caused coreutils' mv/part-symlink
20594         test to fail.
20595
20596         tests: set fail=0 at start
20597         * tests/init.sh (setup_): Move fail=0 initialization here ...
20598         (mktempd_): ... from here, so that tests can rely on fail being
20599         set to 0 initially.  This fixes a problem in coreutils; see:
20600         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20601
20602 2010-12-18  Bruno Haible  <bruno@clisp.org>
20603
20604         memmem-simple: Stylistic changes.
20605         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20606         Fix preprocessor directive indentation.
20607
20608 2010-12-15  Pádraig Brady <P@draigBrady.com>
20609
20610         memmem, memmem-simple: reorganize and expand empty needle check
20611         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20612         functional checks to memmem-simple so that one has a fully functional
20613         memmem by using just this module.
20614         Restrict the performance only check to the memmem module.
20615         Also expand the empty needle check to ensure the correct
20616         pointer is returned, not just a non NULL pointer.
20617         * doc/glibc-functions/memmem.texi: Rearrange the portability
20618         documentation to correlate with the rearranged checks.
20619         Clarify exactly how the memmem and memmem-simple modules
20620         relate to each other.
20621
20622 2010-12-15  Pádraig Brady <P@draigBrady.com>
20623             Bruno Haible  <bruno@clisp.org>
20624
20625         Improve cross-compilation guesses for uClibc.
20626         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20627         that uClibc does not have the glibc bug.
20628         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20629         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20630
20631 2010-12-14  Eric Blake  <eblake@redhat.com>
20632
20633         configmake: provide fallbacks for oldest supported autotools
20634         * m4/configmake.m4: New file.
20635         * modules/configmake (Files): Ship it.
20636         (configure.ac): Use it to guarantee fallbacks.
20637
20638 2010-12-13  Pádraig Brady <P@draigBrady.com>
20639
20640         read-file: Improve handling of large files
20641         * lib/read-file.c (fread_file): Minimize realloc()s
20642         for regular files, and better manage sizes around SIZE_MAX.
20643
20644 2010-12-13  Eric Blake  <eblake@redhat.com>
20645
20646         cloexec, fcntl: relax license
20647         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20648         consent from all contributors.
20649         * modules/fcntl (License): Likewise.
20650
20651 2010-12-10  Bruno Haible  <bruno@clisp.org>
20652
20653         Tests for module 'pipe-posix'.
20654         * modules/pipe-posix-tests: New file.
20655         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20656
20657 2010-12-10  Bruno Haible  <bruno@clisp.org>
20658
20659         pipe-posix: Make it work in C++ mode.
20660         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20661         (pipe): Use common idiom, not a macro definition.
20662         * lib/pipe.c: New file.
20663         * m4/pipe.m4: New file.
20664         * modules/pipe-posix (Description): Enhance.
20665         (Files): Add lib/pipe.c, m4/pipe.m4.
20666         (configure.ac): Invoke gl_FUNC_PIPE.
20667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20668         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20669         * tests/test-unistd-c++.cc: Check the signature of pipe.
20670
20671 2010-12-10  Bruno Haible  <bruno@clisp.org>
20672
20673         Rename module 'pipe' to 'spawn-pipe'.
20674         * modules/spawn-pipe: New file, renamed from modules/pipe.
20675         (Files, configure.ac, Makefile.am): Update.
20676         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20677         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20678         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20679         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20680         "spawn-pipe.h" instead of "pipe.h".
20681         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20682         to gl_SPAWN_PIPE.
20683         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20684         (Files, Makefile.am): Update.
20685         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20686         Update.
20687         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20688         Include "spawn-pipe.h" instead of "pipe.h".
20689         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20690         * lib/javacomp.c: Likewise.
20691         * lib/javaversion.c: Likewise.
20692         * lib/pipe-filter-gi.c: Likewise.
20693         * lib/pipe-filter-ii.c: Likewise.
20694         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20695         * modules/javacomp (Depends-on): Likewise.
20696         * modules/javaversion (Depends-on): Likewise.
20697         * modules/pipe-filter-gi (Depends-on): Likewise.
20698         * modules/pipe-filter-ii (Depends-on): Likewise.
20699         * MODULES.html.sh (Executing programs): Update.
20700         * NEWS: Mention the change.
20701
20702 2010-12-10  Eric Blake  <eblake@redhat.com>
20703
20704         pipe-posix: new module
20705         * modules/pipe-posix: New file.
20706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20707         (gl_UNISTD_H): Check for declaration.
20708         * modules/unistd (Makefile.am): Substitute it.
20709         * lib/unistd.in.h (pipe): Provide it for mingw.
20710         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20711         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20712
20713 2010-12-07  Bruno Haible  <bruno@clisp.org>
20714
20715         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20716         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20717         u8_strcmp_gnu.
20718         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20719
20720 2010-12-06  Bruno Haible  <bruno@clisp.org>
20721
20722         Update internal documentation.
20723         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20724
20725 2010-12-04  Bruno Haible  <bruno@clisp.org>
20726
20727         Put more information about failed tests into the test return codes.
20728         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20729         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20730         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20731         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20732         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20733         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20734         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20735         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20736         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20737         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20738         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20739         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20740         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20741         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20742         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20743         returns a bit mask.
20744         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20745         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20746         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20747         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20748         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20749         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20750         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20752         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20753         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20754         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20755         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20756         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20758         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20759         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20760         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20761         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20762         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20764         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20765         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20766         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20767         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20768         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20769         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20770         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20771         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20772         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20773         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20774         gl_PRINTF_PRECISION): Likewise.
20775         * m4/regex.m4 (gl_REGEX): Likewise.
20776         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20777         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20778         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20779         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20780         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20782         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20783         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20784         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20785         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20786         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20787         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20788         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20789         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20790         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20791         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20792         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20793         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20794         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20795         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20796         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20797         enumerated value.
20798         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20799
20800 2010-12-04  Bruno Haible  <bruno@clisp.org>
20801
20802         Update for Solaris 11 2010-11.
20803         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20804         Express, released in November 2010.
20805
20806 2010-12-04  Bruno Haible  <bruno@clisp.org>
20807
20808         nproc: Relax license.
20809         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20810         and Paul Eggert.
20811         Requested by Ludovic Courtès <ludo@gnu.org>.
20812
20813 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20814
20815         utimecmp: fine-grained src to nearby coarse-grained dest
20816
20817         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20818         and the source is on a file system with higher-resolution time
20819         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20820         not work, and the time stamps are close together, the algorithm to
20821         determine the exact resolution from the read-back mtime was buggy:
20822         it had a "!=" where it should have had an "==".  This bug has been
20823         in the code ever since it was introduced to gnulib.
20824         Problem reported by Dan Jacobson in
20825         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20826
20827 2010-11-30  Bruno Haible  <bruno@clisp.org>
20828
20829         strerror_r-posix: Fix autoconf test.
20830         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20831
20832 2010-11-28  Bruno Haible  <bruno@clisp.org>
20833             Paul Eggert  <eggert@cs.ucla.edu>
20834
20835         Tests for module 'getdomainname'.
20836         * modules/getdomainname-tests: New file.
20837         * tests/test-getdomainname.c: New file, based on
20838         tests/test-gethostname.c.
20839
20840 2010-11-28  Bruno Haible  <bruno@clisp.org>
20841             Paul Eggert  <eggert@cs.ucla.edu>
20842
20843         getdomainname: Use the system function when possible.
20844         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20845         (getdomainname): Replace if needed. Provide the declaration if it is
20846         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20847         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20848         (getdomainname): When the system has getdomainname, call the system
20849         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20850         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20851         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20852         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20853         the function if its second argument is of type 'int' or if it is found
20854         in libnsl.
20855         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20856         <sys/systeminfo.h> and sysinfo().
20857         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20859         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20860         HAVE_GETDOMAINNAME.
20861         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20862         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20863         * doc/glibc-functions/getdomainname.texi: Document the problems with
20864         the getdomainname declaration.
20865
20866 2010-11-28  Bruno Haible  <bruno@clisp.org>
20867
20868         sys_socket: Ensure ss_family field on AIX.
20869         * lib/sys_socket.in.h (ss_family): New macro definition.
20870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20871         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20872         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20873         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20874         * modules/sys_socket (Makefile.am): Substitute
20875         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20876         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20877
20878 2010-11-27  Bruno Haible  <bruno@clisp.org>
20879
20880         readline: Improve configure output.
20881         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20882         "checking for readline..." result understandable.
20883
20884 2010-11-27  Bruno Haible  <bruno@clisp.org>
20885
20886         *printf-posix: Detect a bug on Solaris 10/x86.
20887         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20888         for floating-point output.
20889         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20890         directive.
20891         * tests/test-snprintf-posix.h (test_function): Likewise.
20892         * tests/test-sprintf-posix.h (test_function): Likewise.
20893         * tests/test-vasprintf-posix.c (test_function): Likewise.
20894         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20895         * doc/posix-functions/printf.texi: Likewise.
20896         * doc/posix-functions/snprintf.texi: Likewise.
20897         * doc/posix-functions/sprintf.texi: Likewise.
20898         * doc/posix-functions/vfprintf.texi: Likewise.
20899         * doc/posix-functions/vprintf.texi: Likewise.
20900         * doc/posix-functions/vsnprintf.texi: Likewise.
20901         * doc/posix-functions/vsprintf.texi: Likewise.
20902         * doc/glibc-functions/obstack_printf.texi: Likewise.
20903         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20904
20905 2010-11-27  Bruno Haible  <bruno@clisp.org>
20906
20907         Fix link error when module libunistring-optional is in use.
20908         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20909         * modules/striconveha-tests (Makefile.am): Likewise.
20910
20911 2010-11-27  Bruno Haible  <bruno@clisp.org>
20912
20913         regex: Mention link dependencies.
20914         * modules/regex (Link): New section.
20915         * modules/rpmatch (Link): Likewise.
20916         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20917
20918 2010-11-27  Bruno Haible  <bruno@clisp.org>
20919
20920         ftoastr: Fix compilation error on Solaris.
20921         * lib/ftoastr.c: Include <config.h>.
20922
20923 2010-11-27  Bruno Haible  <bruno@clisp.org>
20924
20925         getloadavg: Update documentation.
20926         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20927
20928 2010-11-27  Bruno Haible  <bruno@clisp.org>
20929
20930         sys_socket: Fix test whether the functions are declared.
20931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20932         not <sys/select.h>.
20933
20934 2010-11-27  Bruno Haible  <bruno@clisp.org>
20935
20936         getpass: Make sure to get system declaration on some platforms.
20937         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20938         gl_USE_SYSTEM_EXTENSIONS.
20939         * modules/getpass (Depends-on): Add extensions.
20940
20941 2010-11-26  Bruno Haible  <bruno@clisp.org>
20942
20943         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20944         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20945         'iconv' module is present.
20946         (ICONV_CONST): New macro.
20947         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20948         ICONV_CONST.
20949         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20950         set ICONV_CONST.
20951         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20952         here.
20953         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20954         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20955         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20956         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20957         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20958         present.
20959
20960 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20961
20962         ftoastr: comment fix
20963         * lib/ftoastr.c: "little" -> "little or no" in comment
20964
20965 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20966
20967         stdint: port to GCC 4.3 + OSX + Octave
20968         On this platform, stdint.h is buggy and defines int64_t to long
20969         long int.  The replacement defined it to long int, causing
20970         problems with C++ style name mangling.  Instead, trust the system
20971         definition if INT64_MAX is defined, and likewise for the unsigned
20972         variant.   Problem reported by Jarno Rajahalme in
20973         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20974         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20975         and don't mess with int64_t and INT64_MAX in this case.
20976         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20977
20978 2010-11-24  Bruno Haible  <bruno@clisp.org>
20979
20980         doc: Corrections regarding MacOS X 10.4 and 10.5.
20981         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20982         MacOS X.
20983         Reported by Simon Josefsson.
20984
20985 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20986
20987         Uninstall ".bin" files installed by relocwrapper.
20988         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20989         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20990         unless it is already there.
20991
20992 2010-11-21  Bruno Haible  <bruno@clisp.org>
20993
20994         Update for NetBSD 5.0.
20995         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20996         NetBSD; the test fails on NetBSD 5.0.
20997         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20998         about NetBSD.
20999
21000 2010-11-21  Bruno Haible  <bruno@clisp.org>
21001
21002         Update for HP-UX 11.23 and HP-UX 11.31.
21003         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21004         HP-UX.
21005
21006 2010-11-21  Bruno Haible  <bruno@clisp.org>
21007
21008         Update for MacOS X 10.5.
21009         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21010         MacOS X; the test fails on MacOS X 10.5.8.
21011         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21012         about MacOS X.
21013
21014 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21015
21016         bootstrap: add bootstrap_sync option.
21017         See discussion at
21018         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21019         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21020         * build-aux/bootstrap: Accept --bootstrap-sync to update
21021         bootstrap if it is not identical to the local gnulib's
21022         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21023         enable this by default.  Accept --no-bootstrap-sync to disable
21024         it.
21025
21026 2010-11-20  Bruno Haible  <bruno@clisp.org>
21027
21028         Ensure that <features.h> is included before __GLIBC__ is tested.
21029         * lib/printf-parse.h: Include <features.h>.
21030         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21031         Reported by Mike Frysinger <vapier@gentoo.org>.
21032
21033         Ensure that <features.h> is included before __GLIBC__ is tested.
21034         * lib/wchar.in.h: Include <features.h>.
21035         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21036         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21037         Reported by Mike Frysinger <vapier@gentoo.org>.
21038
21039         Ensure that <features.h> is included before __GLIBC__ is tested.
21040         * lib/arpa_inet.in.h: Include <features.h>.
21041         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21042         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21043         Reported by Mike Frysinger <vapier@gentoo.org>.
21044
21045         Ensure that <features.h> is included before __GLIBC__ is tested.
21046         * build-aux/link-warning.h: Include <features.h>.
21047         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21048         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21049         Reported by Mike Frysinger <vapier@gentoo.org>.
21050
21051         Ensure that <features.h> is included before __GLIBC__ is tested.
21052         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21053         Reported by Mike Frysinger <vapier@gentoo.org>.
21054
21055 2010-11-20  Bruno Haible  <bruno@clisp.org>
21056
21057         memmem: Fix autoconf test.
21058         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21059
21060 2010-11-20  Bruno Haible  <bruno@clisp.org>
21061
21062         Port to uClibc.
21063         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21064         * lib/fcntl.in.h: Likewise.
21065         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21066         * lib/mbrtowc.c (mbrtowc): Likewise.
21067         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21068         * lib/strerror_r.c: Likewise.
21069         * lib/unistr/u8-strnlen.c: Likewise.
21070         * lib/vasnprintf.c (decimal_point_char): Likewise.
21071         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21072         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21073         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21074         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21075         * tests/test-sigaction.c (handler, main): Likewise.
21076         * lib/freading.h: Treat uClibc like a non-glibc platform.
21077         * lib/freading.c: Likewise.
21078         * lib/gettext.h: Likewise.
21079         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21080         Likewise.
21081         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21082         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21083         * lib/propername.c (proper_name_utf8): Likewise.
21084         * lib/spawn.in.h: Likewise.
21085         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21086         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21087         mem_cd_iconveh_internal): Likewise.
21088         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21089         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21090         strstr, strcasestr): Likewise.
21091         * lib/unicodeio.c (unicode_to_mb): Likewise.
21092         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21093         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21094         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21095         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21096         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21097         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21098         * lib/unistr/u8-stpncpy.c: Likewise.
21099         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21100         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21101         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21102         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21103         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21104         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21105         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21106         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21107         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21108         Likewise.
21109         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21110         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21111         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21112         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21113         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21114         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21115         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21116         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21117         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21118         * tests/test-striconveha.c (main): Likewise.
21119         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21120         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21121         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21122         * doc/posix-functions/getline.texi: Likewise.
21123         Reported by Mike Frysinger <vapier@gentoo.org>.
21124
21125 2010-11-20  Bruno Haible  <bruno@clisp.org>
21126
21127         nproc: Fix condition.
21128         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21129         HAVE_PTHREAD_AFFINITY_NP.
21130
21131 2010-11-20  Bruno Haible  <bruno@clisp.org>
21132
21133         Fix a comment.
21134         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21135
21136 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21137
21138         ftoastr: don't assume snprintf
21139         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21140         Implement a subset of snprintf here, by using sprintf safely.
21141         * modules/ftoastr (Depends-on): Remove snprintf.
21142
21143 2010-11-19  Jim Meyering  <meyering@redhat.com>
21144
21145         test-rename.h: fix compilation failure
21146         * tests/test-rename.h (test_rename): Add omitted "}".
21147
21148 2010-11-17  Jim Meyering  <meyering@redhat.com>
21149
21150         maint.mk: add a URL discussing the no-@acronym policy
21151         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21152
21153 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21154
21155         ftoastr: depend on snprintf, improve comments
21156         * lib/ftoastr.c: Also mention Loitsch's draft.
21157         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21158         needed in the current implementation, but it might simplify
21159         speeding up the code later.
21160         * modules/ftoastr: Depend on snprintf; this improves portability.
21161         Suggested by Bruno Haible in the same email.
21162
21163         ftoastr: port to hosts lacking strtof and strtold
21164         Problem reported by Bruno Haible in
21165         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21166         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21167         environment and strtold (and presumably strtof) are not available.
21168         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21169         (configure.ac): Require gl_C99_STRTOLD.
21170
21171 2010-11-18  Bruno Haible  <bruno@clisp.org>
21172
21173         c-strtold: Avoid link error on AIX 7.
21174         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21175         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21176         (gl_C_STRTOLD): Test whether strtold_l exists.
21177         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21178
21179 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21180
21181         intprops: new macro INT_BITS_STRLEN_BOUND
21182         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21183         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21184         not exposed.  Also, it uses a slightly tighter bound than before;
21185         though this makes no practical difference, we might as well be as
21186         tight as we easily can.
21187
21188         ftoastr: new module, for lossless conversion of floats to short strings
21189         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
21190         * modules/ftoastr: New files.
21191
21192 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21193
21194         bootstrap: port to Solaris sed
21195         * build-aux/bootstrap (get_version): Port to Solaris sed.
21196         See Ralf Wildenhues's note in
21197         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
21198
21199 2010-11-14  Jim Meyering  <meyering@redhat.com>
21200
21201         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
21202         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
21203         and move definition closer to sole use.
21204
21205 2010-11-13  Jim Meyering  <meyering@redhat.com>
21206
21207         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
21208         Now we require at least autoconf-2.59, which means the work-around
21209         is no longer needed.
21210         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
21211         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21212         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21213         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21214         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21215
21216 2010-11-13  Bruno Haible  <bruno@clisp.org>
21217
21218         rename, renameat: Avoid test failures at NFS mounted locations.
21219         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
21220         functions.
21221         (test_rename): Use assert_nonexistent.
21222         * tests/test-rename.c: Include <dirent.h>.
21223         * tests/test-renameat.c: Likewise.
21224         Reported by Gary V. Vaughan <gary@gnu.org>.
21225
21226         rename, renameat: Document Linux bug with NFS
21227         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
21228         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
21229         * doc/posix-functions/renameat.texi: Likewise.
21230         Suggested by Eric Blake.
21231
21232 2010-11-13  Bruno Haible  <bruno@clisp.org>
21233
21234         rename test: Add comments.
21235         * tests/test-rename.h (test_rename): Add structure and comments.
21236
21237 2010-11-13  Eric Blake  <eblake@redhat.com>
21238
21239         maintainer-makefile: cover a few more files
21240         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
21241         scripts generated within C files, for libvirt.
21242
21243 2010-11-13  Bruno Haible  <bruno@clisp.org>
21244
21245         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
21246         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
21247         character, return the number of bytes that belong together, not always
21248         1.
21249         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
21250         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
21251         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
21252         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
21253         number of bytes of an invalid character.
21254         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
21255         (main): Invoke it.
21256         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
21257         results.
21258         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
21259         malformed byte sequences.
21260         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
21261         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
21262         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
21263         Reported by Ben Pfaff and Paolo Bonzini.
21264
21265 2010-11-13  Bruno Haible  <bruno@clisp.org>
21266
21267         openat: Work around glibc bug with fchownat() and empty file names.
21268         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
21269         (gl_FUNC_FCHOWNAT): Invoke it.
21270         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
21271         * doc/posix-functions/fchownat.texi: Document the glibc bug.
21272         Reported by Gary V. Vaughan <gary@gnu.org>.
21273
21274 2010-11-13  Bruno Haible  <bruno@clisp.org>
21275
21276         openat: Ensure autoconf macro ordering.
21277         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
21278         gl_USE_SYSTEM_EXTENSIONS.
21279         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
21280
21281 2010-11-13  Bruno Haible  <bruno@clisp.org>
21282
21283         Update comments.
21284         * lib/unistr/u8-check.c: Update file name in comments.
21285         * lib/unistr/u8-mblen.c: Likewise.
21286         * lib/unistr/u8-prev.c: Likewise.
21287         * lib/unistr/u8-strmblen.c: Likewise.
21288         * lib/unistr/u8-strmbtouc.c: Likewise.
21289
21290 2010-11-13  Jim Meyering  <meyering@redhat.com>
21291
21292         tests: avoid test failure on Solaris 10 due to lack of PATH export
21293         * tests/test-update-copyright.sh: Don't forget to export PATH.
21294
21295         init.sh: ensure that IFS is defined, just in case...
21296         * tests/init.sh (setup_): Ensure that IFS is defined,
21297         so that saving and restoring it works as expected.  This
21298         appears to be useful at least for an old version of dash
21299         from a long time ago (RH 6).  See here for details:
21300         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
21301
21302         maint.mk: tighten "test a == b" check
21303         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
21304         test to files that contain something like #!/bin/sh.
21305         Without this, coreutils would get two false positives in
21306         the comments of C source files.
21307
21308 2010-11-12  Eric Blake  <eblake@redhat.com>
21309
21310         bootstrap: fix typo in previous attempt
21311         * build-aux/bootstrap (buildreq): Correct the grouping.
21312         Reported by Paul Eggert.
21313
21314         maintainer-makefile: prohibit test x == x
21315         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21316         Based on a report by Matthias Bolte.
21317
21318         bootstrap: allow FreeBSD gzip
21319         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21320         which has no '.' and goes to stderr.
21321         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21322         Reported by Matthias Bolte.
21323
21324         maintainer-makefile: check for i18n setup
21325         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21326         will likely work.
21327
21328 2010-11-12  Bruno Haible  <bruno@clisp.org>
21329
21330         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21331         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21332         * lib/nanosleep.c (nanosleep): Likewise.
21333
21334 2010-11-11  Bruno Haible  <bruno@clisp.org>
21335
21336         fcntl-h: Fix for use of C++ on glibc systems.
21337         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21338         also on glibc systems in C++ mode.
21339         Reported by Gary V. Vaughan <gary@gnu.org>.
21340
21341 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21342
21343         mknod: avoid false failure with dash
21344         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21345
21346 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21347
21348         unlink: Fix "is it should" typo in diagnostic.
21349         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21350         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21351
21352 2010-11-11  Bruno Haible  <bruno@clisp.org>
21353
21354         Tests for module 'strerror_r-posix'.
21355         * modules/strerror_r-posix-tests: New file.
21356         * tests/test-strerror_r.c: New file.
21357         * tests/test-string-c++.cc: Check the signature of strerror_r.
21358
21359         New module 'strerror_r-posix'.
21360         * lib/string.in.h (strerror_r): New declaration.
21361         * lib/strerror_r.c: New file.
21362         * m4/strerror_r.m4: New file.
21363         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
21364         of strerror_r.
21365         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
21366         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21367         * modules/strerror_r-posix: New file.
21368         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
21369         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21370         * doc/posix-functions/strerror_r.texi: Mention the new module and the
21371         portability problems.
21372
21373 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
21374
21375         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
21376         line is also considered for output. Quoted function name in shell
21377         command, so temporary files for functions like MyClass::operator()
21378         are removed correctly without errors.
21379
21380 2010-11-09  Bruno Haible  <bruno@clisp.org>
21381
21382         * doc/posix-functions/strerror.texi: List more failing platforms.
21383
21384         * doc/posix-functions/strerror.texi: Add a comment.
21385
21386 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21387
21388         fdopendir: fix bug on MacOS X when low on file descriptors
21389
21390         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21391         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21392         All callers changed.
21393         (fdopendir): Invoke save_cwd at the top level, not after using
21394         multiple dup() calls to use up file descriptors.  Then retry
21395         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21396         less than the maximum number of open file descriptors, because
21397         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21398         on Mac OS X 10.6.4 for tar 1.24
21399         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21400         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21401         and for tar 1.25
21402         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21403
21404 2010-11-07  Bruno Haible  <bruno@clisp.org>
21405
21406         vasnprintf: Support I flag on glibc systems.
21407         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21408         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21409         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21410         snprintf function.
21411         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21412         glibc systems.
21413         * tests/test-vasnprintf-posix3.c: New file.
21414         * modules/vasnprintf-posix-tests (Files): Add it.
21415         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
21416
21417 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21418
21419         [html] Fix copy/paste bug: Use unique name for compiler warnings.
21420         * MODULES.html.sh: For compiler warnings, use name
21421         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
21422
21423 2010-11-05  Eric Blake  <eblake@redhat.com>
21424
21425         ceil, floor: avoid spurious failure with icc
21426         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
21427         [denormals-as-zero] when optimizing without -mieee-fp option.
21428         * tests/test-floorf2.c (floorf_reference): Likewise.
21429         * tests/test-ceilf1.c (dummy): New function.
21430         (main): Use it to outsmart icc's optimization.
21431         * tests/test-floorf1.c (dummy, main): Likewise.
21432
21433         tests: require working signbit
21434         * modules/ceilf-tests (Depends-on): Add signbit.
21435         * modules/ceill-tests (Depends-on): Likewise.
21436         * modules/floorf-tests (Depends-on): Likewise.
21437         * modules/floorl-tests (Depends-on): Likewise.
21438         * modules/round-tests (Depends-on): Likewise.
21439         * modules/roundf-tests (Depends-on): Likewise.
21440         * modules/roundl-tests (Depends-on): Likewise.
21441         * modules/trunc-tests (Depends-on): Likewise.
21442         * modules/truncf-tests (Depends-on): Likewise.
21443         * modules/truncl-tests (Depends-on): Likewise.
21444
21445         strtod: work around icc bug
21446         * lib/strtod.c (minus_zero): Define to working value.
21447         (strtod): Use it to avoid icc bug.
21448
21449         copysign: enhance tests
21450         * modules/copysign-tests (Files): Add minus-zero.h.
21451         * tests/test-copysign.c (main): Also test zeros.
21452
21453 2010-11-04  Eric Blake  <eblake@redhat.com>
21454
21455         ceil, floor, round, trunc: enhance tests of -0
21456         * tests/test-ceilf1.c (main): Ensure correct sign of result.
21457         * tests/test-ceill.c (main): Likewise.
21458         * tests/test-floorf1.c (main): Likewise.
21459         * tests/test-floorl.c (main): Likewise.
21460         * tests/test-round1.c (main): Likewise.
21461         * tests/test-roundf1.c (main): Likewise.
21462         * tests/test-roundl.c (main): Likewise.
21463         * tests/test-trunc1.c (main): Likewise.
21464         * tests/test-truncf1.c (main): Likewise.
21465         * tests/test-truncl.c (main): Likewise.
21466
21467 2010-11-04  Eric Blake  <eblake@redhat.com>
21468
21469         frexp, tests: work around ICC bug with -zero
21470         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
21471         works with more compilers.
21472         * tests/minus-zero.h: New file.
21473         * modules/ceilf-tests (Files): Include it.
21474         * modules/ceill-tests (Files): Likewise.
21475         * modules/floorf-tests (Files): Likewise.
21476         * modules/floorl-tests (Files): Likewise.
21477         * modules/frexp-nolibm-tests (Files): Likewise.
21478         * modules/frexp-tests (Files): Likewise.
21479         * modules/frexpl-nolibm-tests (Files): Likewise.
21480         * modules/frexpl-tests (Files): Likewise.
21481         * modules/isnan-tests (Files): Likewise.
21482         * modules/isnand-nolibm-tests (Files): Likewise.
21483         * modules/isnand-tests (Files): Likewise.
21484         * modules/isnanf-nolibm-tests (Files): Likewise.
21485         * modules/isnanf-tests (Files): Likewise.
21486         * modules/isnanl-nolibm-tests (Files): Likewise.
21487         * modules/isnanl-tests (Files): Likewise.
21488         * modules/round-tests (Files): Likewise.
21489         * modules/roundf-tests (Files): Likewise.
21490         * modules/roundl-tests (Files): Likewise.
21491         * modules/ldexpl-tests (Files): Likewise.
21492         * modules/signbit-tests (Files): Likewise.
21493         * modules/snprintf-posix-tests (Files): Likewise.
21494         * modules/sprintf-posix-tests (Files): Likewise.
21495         * modules/strtod-tests (Files): Likewise.
21496         * modules/trunc-tests (Files): Likewise.
21497         * modules/truncf-tests (Files): Likewise.
21498         * modules/truncl-tests (Files): Likewise.
21499         * modules/vsnprintf-posix-tests (Files): Likewise.
21500         * modules/vsprintf-posix-tests (Files): Likewise.
21501         * modules/vasnprintf-posix-tests (Files): Likewise.
21502         * modules/vasprintf-posix-tests (Files): Likewise.
21503         * tests/test-ceilf1.c (main): Use it.
21504         * tests/test-ceill.c (main): Likewise.
21505         * tests/test-floorf1.c (main): Likewise.
21506         * tests/test-floorl.c (main): Likewise.
21507         * tests/test-frexp.c (main): Likewise.
21508         * tests/test-frexpl.c (main): Likewise.
21509         * tests/test-isnan.c (main): Likewise.
21510         * tests/test-isnand.h (main): Likewise.
21511         * tests/test-isnanf.h (main): Likewise.
21512         * tests/test-isnanl.h (main): Likewise.
21513         * tests/test-ldexpl.c (main): Likewise.
21514         * tests/test-round.c (main): Likewise.
21515         * tests/test-roundf.c (main): Likewise.
21516         * tests/test-roundl.c (main): Likewise.
21517         * tests/test-signbit.c (test_signbitf, test_signbitd)
21518         (test_signbitl): Likewise.
21519         * tests/test-snprintf-posix.h (test_function): Likewise.
21520         * tests/test-sprintf-posix.h (test_function): Likewise.
21521         * tests/test-strtod.c (main): Likewise.
21522         * tests/test-trunc1.c (main): Likewise.
21523         * tests/test-truncf1.c (main): Likewise.
21524         * tests/test-truncl.c (main): Likewise.
21525
21526         isnanl: work around icc bug
21527         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21528
21529 2010-11-03  Eric Blake  <eblake@redhat.com>
21530
21531         tests: fix compiler warnings
21532         * tests/test-getopt.h (test_getopt): Fix condition.
21533         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21534         * tests/test-pipe2.c (main): Likewise.
21535         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21536
21537         utimens: fix broken m4 test
21538         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21539
21540 2010-10-28  Bruno Haible  <bruno@clisp.org>
21541
21542         posix_spawn*, getdtablesize: Relax license.
21543         * modules/posix_spawn (License): Change to LGPLv2+.
21544         * modules/posix_spawnp (License): Likewise.
21545         * modules/posix_spawn-internal (License): Likewise.
21546         * modules/posix_spawnattr_init (License): Likewise.
21547         * modules/posix_spawnattr_getflags (License): Likewise.
21548         * modules/posix_spawnattr_setflags (License): Likewise.
21549         * modules/posix_spawnattr_getpgroup (License): Likewise.
21550         * modules/posix_spawnattr_setpgroup (License): Likewise.
21551         * modules/posix_spawnattr_getschedparam (License): Likewise.
21552         * modules/posix_spawnattr_setschedparam (License): Likewise.
21553         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21554         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21555         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21556         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21557         * modules/posix_spawnattr_getsigmask (License): Likewise.
21558         * modules/posix_spawnattr_setsigmask (License): Likewise.
21559         * modules/posix_spawnattr_destroy (License): Likewise.
21560         * modules/posix_spawn_file_actions_init (License): Likewise.
21561         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21562         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21563         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21564         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21565         * modules/getdtablesize (License): Likewise.
21566         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21567
21568 2010-10-26  Bruno Haible  <bruno@clisp.org>
21569
21570         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21571         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21572         Cygwin and mingw.
21573         Suggested by Eric Blake.
21574
21575 2010-10-26  Bruno Haible  <bruno@clisp.org>
21576
21577         stdio: Work around compilation error due to renameat() on Solaris 10.
21578         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21579         * lib/renameat.c: Don't include <unistd.h> here.
21580         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21581         Reported by Paul Eggert and Eric Blake.
21582
21583 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21584
21585         renameat: port to Solaris 10, which declares renameat in unistd.h
21586
21587         * lib/renameat.c: Include unistd.h before stdio.h, because
21588         Solaris 10 declares renameat in unistd.h.  Problem encountered
21589         when building GNU tar 1.24 on Solaris 10.
21590
21591 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21592
21593         fdopendir: fix C89 compilation
21594         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21595         compilers.
21596
21597 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21598
21599         inttostr: simplify by removing unnecessary redundancy
21600         * lib/anytostr.c: Don't include verify.h.
21601         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21602         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21603         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21604         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21605         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21606         Likewise.
21607         * modules/inttostr (Depends-on): Remove 'verify'.
21608
21609 2010-10-23  Bruno Haible  <bruno@clisp.org>
21610
21611         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21612         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21613         Reported by Eric Blake.
21614
21615 2010-10-23  Bruno Haible  <bruno@clisp.org>
21616
21617         Tests: Fix LOCALE_JA on MirBSD 10.
21618         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21619         to an UTF-8 locale.
21620         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21621         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21622         Reported by Eric Blake.
21623
21624 2010-10-21  Bruno Haible  <bruno@clisp.org>
21625
21626         nl_langinfo test: Avoid test failure on NetBSD 5.
21627         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21628         Reported by Eric Blake.
21629
21630 2010-10-21  Eric Blake  <eblake@redhat.com>
21631
21632         c-stack: work around libsigsegv 2.8 bug
21633         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21634         overflow on at least PowerPC64.
21635
21636 2010-10-17  Bruno Haible  <bruno@clisp.org>
21637
21638         userspec: Drop redundant file.
21639         * modules/userspec (Files): Remove lib/inttostr.h.
21640
21641 2010-10-17  Bruno Haible  <bruno@clisp.org>
21642
21643         nl_langinfo tests: Silence some warnings.
21644         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21645         Reported by Jim Meyering.
21646
21647 2010-10-17  Bruno Haible  <bruno@clisp.org>
21648
21649         Make use of GCC's attribute __alloc_size__.
21650         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21651         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21652         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21653         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21654         __alloc_size__.
21655         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21656         Suggested by Jim Meyering.
21657
21658 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21659
21660         bootstrap: anchor .gitignore entries.
21661         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21662         with...
21663         (insert_vc_ignore): ... this new function, which prepends `/' to
21664         all .gitignore entries before passing them to
21665         insert_sorted_if_absent.
21666
21667 2010-10-16  Bruno Haible  <bruno@clisp.org>
21668
21669         nextafter: Fix configure check.
21670         * modules/nextafter (configure.ac): Correct expected prototype.
21671
21672 2010-10-16  Bruno Haible  <bruno@clisp.org>
21673
21674         termios: Update documentation.
21675         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21676
21677 2010-10-16  Bruno Haible  <bruno@clisp.org>
21678
21679         tests: Make them compile with TinyCC.
21680         * tests/test-strstr.c (main): Remove parentheses around array
21681         initializer.
21682
21683 2010-10-15  Eric Blake  <eblake@redhat.com>
21684
21685         ignore-value: make header idempotent
21686         * lib/ignore-value.h: Add double-inclusion guards.
21687         Reported by Stefan Berger.
21688
21689 2010-10-15  Jim Meyering  <meyering@redhat.com>
21690
21691         GNUmakefile: handle "stable" target, not "major"
21692         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21693         lists in maint.mk and announce-gen.  Without this, "make stable"
21694         would fail to ensure that $(VERSION) is up to date.
21695
21696 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21697
21698         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21699         & co.
21700
21701 2010-10-14  Bruno Haible  <bruno@clisp.org>
21702
21703         vasnprintf: Don't set errno to 0.
21704         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21705         block that sets it to 0.
21706         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21707
21708 2010-10-14  Bruno Haible  <bruno@clisp.org>
21709
21710         socketlib: Fix.
21711         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21712         gl_PREREQ_SYS_H_WINSOCK2.
21713         Reported by Ian Beckwith <ianb@erislabs.net>.
21714
21715 2010-10-13  Jim Meyering  <meyering@redhat.com>
21716
21717         test-select-stdin.c: avoid warn_unused_result warnings
21718         * tests/test-select-stdin.c: Include "macros.h".
21719         ASSERT that read and fflush succeed.
21720
21721 2010-10-13  Jim Meyering  <meyering@redhat.com>
21722
21723         git-version-gen: do require git-VC'd files in cwd
21724         * build-aux/git-version-gen: Reject a git version string
21725         if there are no commits associated with the current directory.
21726         This avoids an unlikely false-positive (unrelated dir whose parent
21727         repository also contains a tag matching v*), as pointed out
21728         by Giuseppe Scrivano in
21729         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21730
21731 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21732
21733         argv-iter: omit nonconforming declaration
21734         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21735         enum arg_iter_err declaration, which doesn't conform to C99.
21736         Solaris 10 cc warns about this.
21737
21738 2010-10-13  Eric Blake  <eblake@redhat.com>
21739
21740         termios: fix compilation on mingw
21741         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21742         (gl_TERMIOS_H): Adjust it on mingw.
21743         * modules/termios (Makefile.am): Substitute new key.
21744         * lib/termios.in.h (includes): Make include_next conditional.
21745         * doc/posix-headers/termios.texi (termios.h): Update
21746         documentation.
21747         Reported by Daniel P. Berrange.
21748
21749 2010-10-13  Jim Meyering  <meyering@redhat.com>
21750
21751         git-version-gen: don't require that .git/ be in the current dir
21752         * build-aux/git-version-gen: Adjust this script so that it works
21753         when run from any working directory beneath the top-level .git/-
21754         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21755         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21756
21757         test-select: avoid warn_unused_result warnings
21758         * tests/test-select.c: Include "macros.h".
21759         ASSERT that each call to read, write, and pipe succeeds.
21760         While not technically required, also check each "close".
21761         * modules/select-tests (Files): Add tests/macros.h.
21762
21763         test-symlinkat: remove declaration of unused local
21764         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21765
21766         test-inttostr: avoid shadowing warnings
21767         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21768         and use malloc rather than the stack for the same reason as
21769         mentioned in the comment justifying the other allocation.
21770
21771 2010-10-11  Bruno Haible  <bruno@clisp.org>
21772
21773         stdlib: Allow multiple gnulib generated replacements to coexist.
21774         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21775         Reported by Sam Steingold <sds@gnu.org>.
21776
21777 2010-10-11  Jim Meyering  <meyering@redhat.com>
21778
21779         fix a documentation typo
21780         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21781
21782 2010-10-11  Eric Blake  <eblake@redhat.com>
21783
21784         futimens: work around Solaris 11 bug
21785         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21786         * tests/test-futimens.h (test_futimens): Enhance, rather than
21787         weaken test.
21788         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21789
21790 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21791
21792         Indentation.
21793         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21794         higher-level operators more to the left.
21795
21796 2010-10-11  Jim Meyering  <meyering@redhat.com>
21797
21798         test-futimens: avoid unwarranted test failure on Solaris 5.11
21799         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21800         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21801         because it tries to dereference the NULL name argument.
21802
21803 2010-10-11  Bruno Haible  <bruno@clisp.org>
21804
21805         Indentation.
21806         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21807         indentation.
21808
21809 2010-10-11  Jim Meyering  <meyering@redhat.com>
21810
21811         spawn.in.h: make indentation consistent with parentheses
21812         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21813         Make indentation consistent with parentheses.
21814
21815 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21816
21817         Fix mismatched parens in previous commit
21818         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21819         parens.
21820
21821 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21822
21823         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21824
21825         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21826         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21827         * lib/malloca.c: Include "verify.h".
21828         (verify1): Remove, replacing with a verify call.
21829         * lib/relocwrapper.c (verify1): Likewise.
21830         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21831         Likewise.
21832         * modules/malloca (Depends-on): Add 'verify'.
21833         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21834         * modules/vasnprintf (Depends-on): Add 'verify'.
21835         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21836         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21837         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21838         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21839         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21840         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21841         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21842
21843         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21844
21845         Formerly the style was sometimes 2*X - 1, because the C standard
21846         was wrongly thought to disallow ?: in integral constant expressions.
21847         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21848         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21849         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21850         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21851         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21852         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21853         verify that time_t cannot be floating.
21854
21855 2010-10-08  Eric Blake  <eblake@redhat.com>
21856
21857         time: enforce recent POSIX ruling that time_t is integral
21858         * lib/time.in.h (__time_t_must_be_integral): Detect any
21859         problematic systems, allowing the rest of gnulib to assume POSIX.
21860
21861 2010-10-08  Jim Meyering  <meyering@redhat.com>
21862
21863         fdopendir: fix a bug on systems lacking openat and /proc support
21864         OpenBSD 4.7 is one such system.  The most noticeable effect was
21865         failure of any application making nontrivial use of fts: rm, du,
21866         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21867           ./rm: traversal failed: `a': Bad file descriptor
21868         Debugging that, you see that even though FD 6 was closed just
21869         prior to the opendir call in fd_clone_opendir, its resulting
21870         dir->dd_fd was 8, rather than the expected value of 6:
21871
21872         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21873         93                close (fd);
21874         (gdb) n
21875         94                dir = fd_clone_opendir (dupfd);
21876         (gdb) n
21877         95                saved_errno = errno;
21878         (gdb) p dir->dd_fd
21879         $11 = 8
21880
21881         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21882         The problem is that on OpenBSD, fd_clone_opendir has to resort
21883         to using the old-style save/restore CWD mechanism, due to its
21884         lack of openat/proc support, and *that* would steal the FD (6)
21885         that opendir was supposed to use.
21886
21887         The fix is to squirrel away the desired FD so that save_cwd uses a
21888         different one, and then free the dest FD right before calling opendir.
21889         That guarantees opendir will use the required file descriptor.
21890
21891         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21892
21893 2010-10-08  Bruno Haible  <bruno@clisp.org>
21894
21895         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21896         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21897
21898 2010-10-08  Bruno Haible  <bruno@clisp.org>
21899
21900         nanosleep: Make replacement POSIX compliant.
21901         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21902         is out of range.
21903         Reported by Jim Meyering.
21904
21905 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21906
21907         bootstrap: add hook for altering gnulib.mk, for Bison
21908         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21909         the Bison bootstrapping process can rewrite file names and variables
21910         in this file before later parts of 'bootstrap' use the file.
21911         Bison wants to include lib/gnulib.mk from the top-level makefile,
21912         so it needs the file names in this file to be relative to the top
21913         level, not relative to lib; plus it needs variable names to be
21914         rewritten.
21915         (slurp): Use the new function.
21916
21917         bootstrap: reformat for readability
21918         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21919
21920 2010-10-08  Eric Blake  <eblake@redhat.com>
21921
21922         docs: update cygwin progress
21923         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21924         1.7.7.
21925         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21926         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21927         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21928         * doc/posix-functions/carg.texi (carg): Likewise.
21929         * doc/posix-functions/cargf.texi (cargf): Likewise.
21930         * doc/posix-functions/casin.texi (casin): Likewise.
21931         * doc/posix-functions/casinf.texi (casinf): Likewise.
21932         * doc/posix-functions/casinh.texi (casinh): Likewise.
21933         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21934         * doc/posix-functions/catan.texi (catan): Likewise.
21935         * doc/posix-functions/catanf.texi (catanf): Likewise.
21936         * doc/posix-functions/catanh.texi (catanh): Likewise.
21937         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21938         * doc/posix-functions/ccos.texi (ccos): Likewise.
21939         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21940         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21941         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21942         * doc/posix-functions/cexp.texi (cexp): Likewise.
21943         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21944         * doc/posix-functions/cimag.texi (cimag): Likewise.
21945         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21946         * doc/posix-functions/clog.texi (clog): Likewise.
21947         * doc/posix-functions/clogf.texi (clogf): Likewise.
21948         * doc/posix-functions/conj.texi (conj): Likewise.
21949         * doc/posix-functions/conjf.texi (conjf): Likewise.
21950         * doc/posix-functions/cpow.texi (cpow): Likewise.
21951         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21952         * doc/posix-functions/cproj.texi (cproj): Likewise.
21953         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21954         * doc/posix-functions/creal.texi (creal): Likewise.
21955         * doc/posix-functions/crealf.texi (crealf): Likewise.
21956         * doc/posix-functions/csin.texi (csin): Likewise.
21957         * doc/posix-functions/csinf.texi (csinf): Likewise.
21958         * doc/posix-functions/csinh.texi (csinh): Likewise.
21959         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21960         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21961         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21962         * doc/posix-functions/ctan.texi (ctan): Likewise.
21963         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21964         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21965         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21966         * doc/posix-headers/complex.texi (complex.h): Likewise.
21967
21968 2010-10-07  Jim Meyering  <meyering@redhat.com>
21969
21970         parse-datetime: avoid compilation failure on OpenBSD 4.7
21971         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21972         This works around a compilation failure on OpenBSD 4.7:
21973         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21974
21975 2010-10-07  Eric Blake  <eblake@redhat.com>
21976
21977         docs: update cygwin progress
21978         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21979         1.7.6.
21980         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21981         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21982         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21983         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21984         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21985         Likewise.
21986         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21987         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21988         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21989         Likewise.
21990         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21991         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21992         Likewise.
21993         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21994         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21995         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21996         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21997         Likewise.
21998         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21999         Likewise.
22000         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22001
22002         docs: update parse-datetime history
22003         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22004         documentation of this function's history and alternatives.
22005
22006         cygwin: use more robust version check
22007         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22008         exclude an eventual cygwin 1.9.1.
22009         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22010         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22011         (gl_FUNC_STRCASESTR): Likewise.
22012         Reported by Bruno Haible.
22013
22014 2010-10-06  Bruno Haible  <bruno@clisp.org>
22015
22016         string, sys_select: Avoid #including large headers unless necessary.
22017         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22018         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22019         OSF/1, BeOS, Haiku.
22020         Reported by Jim Meyering.
22021
22022 2010-10-05  Eric Blake  <eblake@redhat.com>
22023
22024         memmem, strstr, strcasestr: fix bug with long periodic needle
22025         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22026         periodic needle having false positive.
22027         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22028         and cygwin 1.7.7.
22029         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22030         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22031         (gl_FUNC_STRCASESTR): Likewise.
22032         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22033         * tests/test-memmem.c (main): Expose the bug.
22034         * tests/test-strcasestr.c (main): Likewise.
22035         * tests/test-strstr.c (main): Likewise.
22036         * tests/test-c-strcasestr.c (main): Likewise.
22037         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22038         * doc/posix-functions/strstr.texi (strstr): Likewise.
22039         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22040         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22041
22042 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22043
22044         parse-datetime: do some more renaming
22045         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22046         parse_datetime, not get_date.  Mention the renaming.
22047         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22048         in comments.
22049         * m4/bison.m4: Likewise.
22050
22051 2010-10-05  Eric Blake  <eblake@redhat.com>
22052
22053         parse-datetime: better name than get_date
22054         * NEWS: Reword the deprecation notice.
22055         * modules/get_date: Rename to modules/parse-datetime.
22056         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22057         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22058         * lib/get_date.y: Rename to lib/parse-datetime.y.
22059         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22060         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22061         * doc/getdate.texi: Provide fallback wrapper.
22062         * lib/getdate.h: Move guts, and wrap...
22063         * lib/parse-datetime.h: ...new file.
22064         * lib/parse-datetime.y (get_date): Rename...
22065         (parse_datetime): ...to this.
22066         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22067         (gl_PARSE_DATETIME): ...to this.
22068         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22069         documentation.
22070         * modules/getdate (Files): Provide fallback docs and header.
22071         (Notice, Depends-on): Update references.
22072         * tests/test-parse-datetime.c: Likewise.
22073         * DEPENDENCIES: Likewise.
22074         * MODULES.html.sh (Date and time <time.h>): Likewise.
22075         * doc/parse-datetime.texi (Date input formats)
22076         (Authors of parse_datetime): Likewise.
22077         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22078         (Include): Likewise.
22079         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22080         * gnulib-tool: Likewise.
22081         * m4/bison.m4 (gl_BISON): Likewise.
22082         Suggested by Bruno Haible.
22083
22084 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22085
22086         more ports to Solaris tr, which needs [] around ranges
22087         * gnulib-tool: Solaris tr needs [] around ranges.
22088         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22089         * tests/test-pipe-filter-gi1.c (main): Likewise.
22090         * tests/test-pipe-filter-ii1.c (main): Likewise.
22091
22092 2010-10-05  Eric Blake  <eblake@redhat.com>
22093
22094         bootstrap: fix Solaris regression
22095         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22096         around ranges.
22097         Reported by Pádraig Brady.
22098
22099         bootstrap: work with pkg-config
22100         * build-aux/bootstrap (check_versions): Also transliterate - in
22101         prerequisite name.
22102         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22103         prerequisites that were already found, to avoid confusion.
22104         Reported by Justin Clift.
22105
22106         faccessat: remove unused wrappers
22107         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22108         presence of these wrappers dragged in -lgen on Solaris.
22109         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22110
22111 2010-10-05  Jim Meyering  <meyering@redhat.com>
22112
22113         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22114         * Makefile (sc_pragma_columns): New syntax-check rule.
22115
22116 2010-10-04  Bruno Haible  <bruno@clisp.org>
22117
22118         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22119         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22120         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22121         Reported by Bruce Korb and Eric Blake.
22122
22123 2010-10-04  Bruno Haible  <bruno@clisp.org>
22124
22125         threadlib: Make option --with-libpth-prefix work.
22126         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22127         use $LIBPTH, not just -lpth.
22128
22129 2010-10-04  Bruno Haible  <bruno@clisp.org>
22130
22131         Avoid line length limitation from HP NonStop system header files.
22132         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22133         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22134         * lib/ctype.in.h: Likewise.
22135         * lib/dirent.in.h: Likewise.
22136         * lib/errno.in.h: Likewise.
22137         * lib/fcntl.in.h: Likewise.
22138         * lib/float.in.h: Likewise.
22139         * lib/getopt.in.h: Likewise.
22140         * lib/iconv.in.h: Likewise.
22141         * lib/inttypes.in.h: Likewise.
22142         * lib/langinfo.in.h: Likewise.
22143         * lib/locale.in.h: Likewise.
22144         * lib/math.in.h: Likewise.
22145         * lib/netdb.in.h: Likewise.
22146         * lib/netinet_in.in.h: Likewise.
22147         * lib/poll.in.h: Likewise.
22148         * lib/pthread.in.h: Likewise.
22149         * lib/pty.in.h: Likewise.
22150         * lib/sched.in.h: Likewise.
22151         * lib/se-selinux.in.h: Likewise.
22152         * lib/search.in.h: Likewise.
22153         * lib/signal.in.h: Likewise.
22154         * lib/spawn.in.h: Likewise.
22155         * lib/stdarg.in.h: Likewise.
22156         * lib/stddef.in.h: Likewise.
22157         * lib/stdint.in.h: Likewise.
22158         * lib/stdio.in.h: Likewise.
22159         * lib/stdlib.in.h: Likewise.
22160         * lib/string.in.h: Likewise.
22161         * lib/strings.in.h: Likewise.
22162         * lib/sys_file.in.h: Likewise.
22163         * lib/sys_ioctl.in.h: Likewise.
22164         * lib/sys_select.in.h: Likewise.
22165         * lib/sys_socket.in.h: Likewise.
22166         * lib/sys_stat.in.h: Likewise.
22167         * lib/sys_time.in.h: Likewise.
22168         * lib/sys_times.in.h: Likewise.
22169         * lib/sys_utsname.in.h: Likewise.
22170         * lib/sys_wait.in.h: Likewise.
22171         * lib/sysexits.in.h: Likewise.
22172         * lib/termios.in.h: Likewise.
22173         * lib/time.in.h: Likewise.
22174         * lib/unistd.in.h: Likewise.
22175         * lib/wchar.in.h: Likewise.
22176         * lib/wctype.in.h: Likewise.
22177         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22178         * modules/ctype (Makefile.am): Likewise.
22179         * modules/dirent (Makefile.am): Likewise.
22180         * modules/errno (Makefile.am): Likewise.
22181         * modules/fcntl-h (Makefile.am): Likewise.
22182         * modules/float (Makefile.am): Likewise.
22183         * modules/getopt-posix (Makefile.am): Likewise.
22184         * modules/iconv-h (Makefile.am): Likewise.
22185         * modules/inttypes (Makefile.am): Likewise.
22186         * modules/langinfo (Makefile.am): Likewise.
22187         * modules/locale (Makefile.am): Likewise.
22188         * modules/math (Makefile.am): Likewise.
22189         * modules/netdb (Makefile.am): Likewise.
22190         * modules/netinet_in (Makefile.am): Likewise.
22191         * modules/poll-h (Makefile.am): Likewise.
22192         * modules/pthread (Makefile.am): Likewise.
22193         * modules/pty (Makefile.am): Likewise.
22194         * modules/sched (Makefile.am): Likewise.
22195         * modules/search (Makefile.am): Likewise.
22196         * modules/selinux-h (Makefile.am): Likewise.
22197         * modules/signal (Makefile.am): Likewise.
22198         * modules/spawn (Makefile.am): Likewise.
22199         * modules/stdarg (Makefile.am): Likewise.
22200         * modules/stddef (Makefile.am): Likewise.
22201         * modules/stdint (Makefile.am): Likewise.
22202         * modules/stdio (Makefile.am): Likewise.
22203         * modules/stdlib (Makefile.am): Likewise.
22204         * modules/string (Makefile.am): Likewise.
22205         * modules/strings (Makefile.am): Likewise.
22206         * modules/sys_file (Makefile.am): Likewise.
22207         * modules/sys_ioctl (Makefile.am): Likewise.
22208         * modules/sys_select (Makefile.am): Likewise.
22209         * modules/sys_socket (Makefile.am): Likewise.
22210         * modules/sys_stat (Makefile.am): Likewise.
22211         * modules/sys_time (Makefile.am): Likewise.
22212         * modules/sys_times (Makefile.am): Likewise.
22213         * modules/sys_utsname (Makefile.am): Likewise.
22214         * modules/sys_wait (Makefile.am): Likewise.
22215         * modules/sysexits (Makefile.am): Likewise.
22216         * modules/termios (Makefile.am): Likewise.
22217         * modules/time (Makefile.am): Likewise.
22218         * modules/unistd (Makefile.am): Likewise.
22219         * modules/wchar (Makefile.am): Likewise.
22220         * modules/wctype (Makefile.am): Likewise.
22221
22222 2010-10-04  Bruno Haible  <bruno@clisp.org>
22223
22224         read-file tests: Avoid a test failure on NonStop Kernel.
22225         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
22226         a regular file.
22227         Reported by Joachim Schmitz <schmitz@hp.com>.
22228
22229 2010-10-03  Bruno Haible  <bruno@clisp.org>
22230
22231         gnulib-tool: Fixes for --create-testdir with --libtool.
22232         * gnulib-tool (func_get_automake_snippet): Don't augment
22233         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
22234         an executable.
22235         (func_create_testdir): Handle module 'alloca' like func_import.
22236         Reported by Bruce Korb <bruce.korb@gmail.com>.
22237
22238 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22239
22240         Avoid some lines longer than 80 characters.
22241         * lib/stdint.in.h: Break long comment lines.
22242         * lib/math.in.h: Likewise.
22243         (_GL_NUM_UINT_WORDS): New macro, for readability.
22244         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
22245         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
22246         * lib/stdlib.in.h: Likewise.
22247         * lib/spawn.in.h: Likewise.
22248         * lib/sys_socket.in.h: Update an URL.
22249         * lib/sys_stat.in.h: Break long line.
22250
22251 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
22252
22253         Improve pmccabe2html.
22254         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
22255         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
22256         when the sources change. Remove the line in the HTML about "Used
22257         ranges" (which implied that there might be other unused ranges),
22258         rename "Resume" to "Summary" (easier to understand for more users).
22259         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
22260         styles, and some unnecessary blank lines.
22261
22262 2010-10-03  Bruno Haible  <bruno@clisp.org>
22263             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22264
22265         acl: Add support for ACLs on NonStop Kernel.
22266         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
22267         Check whether the function aclsort() exists.
22268         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
22269         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
22270         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22271         (acl_nontrivial [HAVE_ACLSORT]: New function.
22272         (file_has_acl): Implement for NonStop Kernel.
22273         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22274         (qset_acl): Implement for NonStop Kernel.
22275         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
22276         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22277         (main): Implement for NonStop Kernel.
22278         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
22279         Kernel. Handle this flavor.
22280         * tests/test-set-mode-acl.sh: Likewise.
22281         * tests/test-copy-acl.sh: Likewise.
22282         * tests/test-copy-file.sh: Likewise.
22283
22284 2010-10-03  Bruno Haible  <bruno@clisp.org>
22285
22286         Info about ACLs on NonStop Kernel.
22287         * doc/acl-resources.txt: Add info about NonStop Kernel.
22288         References by Joachim Schmitz <schmitz@hp.com>.
22289
22290 2010-10-02  Bruno Haible  <bruno@clisp.org>
22291
22292         Define missing EDQUOT on NonStop Kernel.
22293         * lib/errno.in.h (EDQUOT): Assign a value if missing.
22294         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
22295         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
22296         missing.
22297         * doc/posix-headers/errno.texi: Mention the NSK bug.
22298         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
22299         Reported by Joachim Schmitz <schmitz@hp.com>.
22300
22301 2010-10-02  Bruno Haible  <bruno@clisp.org>
22302
22303         Update doc for POSIX:2008.
22304         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
22305         Update URL of POSIX specification.
22306
22307 2010-10-02  Bruno Haible  <bruno@clisp.org>
22308
22309         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22310         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22311         from gnulib, not from Automake.
22312
22313 2010-10-02  Bruno Haible  <bruno@clisp.org>
22314
22315         New module 'system-posix'.
22316         * modules/system-posix: New file.
22317         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22318         module is present.
22319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22320         GNULIB_SYSTEM_POSIX.
22321         * modules/stdlib (Depends-on): Remove sys_wait.
22322         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22323         * doc/posix-functions/system.texi: Mention the new module.
22324         * doc/posix-headers/stdlib.texi: Likewise.
22325         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22326         define test_sys_wait_macros to a no-op.
22327         Reported by Sam Steingold <sds@gnu.org>.
22328
22329 2010-09-30  Bruno Haible  <bruno@clisp.org>
22330
22331         More renaming from 'getdate' to 'get_date'.
22332         * doc/get_date.texi: Renamed from doc/getdate.texi.
22333         * modules/get_date (Files): Update.
22334         * MODULES.html.sh (Date and time <time.h>): Update.
22335         * DEPENDENCIES: Update.
22336         * gnulib-tool: Update comment.
22337         * m4/bison.m4 (gl_BISON): Likewise.
22338         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22339
22340 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22341
22342         bootstrap: support ACLOCAL_FLAGS during aclocal
22343         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22344         can add additional -I dir for third-party .m4 files.
22345
22346 2010-09-30  Eric Blake  <eblake@redhat.com>
22347
22348         bootstrap: use glibtoolize on MacOS
22349         * build-aux/bootstrap (check_versions): Convert libtool into
22350         libtoolize.
22351         (tool search): Move libtool check earlier, and look for
22352         glibtoolize for MacOS.
22353         (gnulib_tool_options): Auto-add --libtool when appropriate.
22354         Reported by Justin Clift.
22355
22356         poll: fix typo that broke test on MacOS
22357         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
22358         Reported by Justin Clift.
22359
22360         getdate: rename to get_date
22361         Note: getdate.h is not renamed, to minimize client impact.
22362         * modules/getdate: Mark obsolete.  Move old contents...
22363         * modules/get_date: ...to new module name.
22364         * modules/getdate-tests: Move...
22365         * modules/get_date-tests: ...here.
22366         * m4/getdate.m4: Move...
22367         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
22368         * lib/getdate.y: Move...
22369         * lib/get_date.y: ...here.
22370         * tests/test-getdate.c: Move...
22371         * tests/test-get_date.c: ...here.
22372         * doc/posix-functions/getdate.texi (getdate): Update name.
22373         * NEWS: Mention the change.
22374
22375 2010-09-29  Bruno Haible  <bruno@clisp.org>
22376
22377         Separate the module 'waitpid' from the module 'sys_wait'.
22378         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22379         present.
22380         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22381         gl_MODULE_INDICATOR_FOR_TESTS.
22382         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22383         * modules/sys_wait (Depends-on): Remove waitpid.
22384         (Makefile.am): Substitute GNULIB_WAITPID.
22385         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22386         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22387         signature only if the 'waitpid' module is present.
22388         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22389         * NEWS: Mention the change.
22390         * modules/grantpt (Depends-on): Add waitpid.
22391         * modules/wait-process (Depends-on): Likewise.
22392
22393 2010-09-29  Bruno Haible  <bruno@clisp.org>
22394
22395         More tests for module 'sys_wait'.
22396         * modules/sys_wait-c++-tests: New file.
22397         * tests/test-sys_wait-c++.cc: New file.
22398         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22399         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22400
22401 2010-09-29  Bruno Haible  <bruno@clisp.org>
22402
22403         New module 'waitpid'.
22404         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22405         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22406         Don't include <process.h>.
22407         (waitpid): Declare only, using modern idiom.
22408         * m4/waitpid.m4: New file.
22409         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22410         * modules/waitpid: New file.
22411         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22412         (Makefile.am): Update.
22413         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22414
22415 2010-09-28  Bruno Haible  <bruno@clisp.org>
22416
22417         poll: Assume ANSI C.
22418         * lib/poll.c (poll): Use an ANSI C declaration.
22419
22420 2010-09-28  Bruno Haible  <bruno@clisp.org>
22421
22422         poll-h: Create poll.h on all platforms.
22423         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
22424         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
22425         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
22426         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
22427         (gl_REPLACE_POLL_H): Don't set POLL_H.
22428         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
22429         * modules/poll-h (Depends-on): Add include_next.
22430         (Makefile.am): Create poll.h unconditionally. Substitute also
22431         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
22432
22433 2010-09-28  Bruno Haible  <bruno@clisp.org>
22434
22435         Tests for module 'poll-h'.
22436         * modules/poll-h-c++-tests: New file.
22437         * tests/test-poll-h-c++.cc: New file.
22438
22439         Tests for module 'poll-h'.
22440         * modules/poll-h-tests: New file.
22441         * tests/test-poll-h.c: New file.
22442
22443 2010-09-28  Bruno Haible  <bruno@clisp.org>
22444
22445         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
22446         * modules/poll-h (Depends-on): Add 'extensions'.
22447
22448 2010-09-28  Bruno Haible  <bruno@clisp.org>
22449
22450         New module 'poll-h'.
22451         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
22452         (poll): Use modern idiom.
22453         * modules/poll-h: New file.
22454         * modules/poll (Files): Remove lib/poll.in.h.
22455         (Depends-on): Add poll-h.
22456         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
22457         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
22458         * m4/poll_h.m4: New file.
22459         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
22460         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
22461         and invoke gl_REPLACE_POLL_H.
22462         * lib/poll.c: Use common idiom.
22463         * tests/test-poll.c: Likewise.
22464         * doc/posix-headers/poll.texi: Mention the poll-h module.
22465         Suggested by Eric Blake.
22466
22467 2010-09-26  Bruno Haible  <bruno@clisp.org>
22468
22469         sys_wait: Implement WSTOPSIG.
22470         * lib/sys_wait.in.h (WSTOPSIG): New macro.
22471         Reported by Simon Josefsson.
22472
22473 2010-09-26  Simon Josefsson  <simon@josefsson.org>
22474
22475         stdlib, sys_wait: Avoid compilation error on mingw.
22476         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
22477
22478 2010-09-26  Bruno Haible  <bruno@clisp.org>
22479
22480         stdlib tests: Avoid code duplication.
22481         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22482         * modules/sys_wait-tests (Files): Likewise.
22483         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22484         * tests/test-stdlib.c: Include test-sys_wait.h.
22485         (main): Invoke test_sys_wait_macros.
22486         * tests/test-sys_wait.c: Include test-sys_wait.h.
22487         (main): Invoke test_sys_wait_macros.
22488
22489 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22490
22491         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22492         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22493         sure Windows sockets are working before calling getaddrinfo.
22494         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22495         * doc/gnulib.texi (Windows sockets): Fix typo.
22496
22497 2010-09-25  Bruno Haible  <bruno@clisp.org>
22498
22499         Tests for module 'regex-quote'.
22500         * modules/regex-quote-tests: New file.
22501         * tests/test-regex-quote.c: New file.
22502
22503         New module 'regex-quote'.
22504         * lib/regex-quote.h: New file.
22505         * lib/regex-quote.c: New file.
22506         * modules/regex-quote: New file.
22507         Suggested by Reuben Thomas <rrt@sc3d.org>.
22508
22509 2010-09-24  Bruno Haible  <bruno@clisp.org>
22510
22511         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22512         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22513
22514 2010-09-23  Bruno Haible  <bruno@clisp.org>
22515
22516         setenv: Relax license.
22517         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22518         Blake.
22519         Requested by Eric Blake.
22520
22521 2010-09-22  Bruno Haible  <bruno@clisp.org>
22522
22523         termios: Relax license.
22524         * modules/termios (License): Change to LGPLv2+.
22525         Requested by Eric Blake.
22526
22527 2010-09-22  Bruno Haible  <bruno@clisp.org>
22528
22529         threadlib: Allow the package to change the default to 'no'.
22530         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22531         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22532         Reported by Paul Eggert.
22533
22534 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22535             Bruno Haible  <bruno@clisp.org>
22536
22537         Fix endless loop in mbmemcasecoll.
22538         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22539         byte.
22540         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22541
22542 2010-09-22  Bruno Haible  <bruno@clisp.org>
22543
22544         Tests for module 'memcoll'.
22545         * modules/memcoll-tests: New file.
22546         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22547
22548         memcoll, xmemcoll: Clarify size vs. length.
22549         * modules/memcoll.c (memcoll0): Clarify specification.
22550         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22551         passed to collate_error.
22552
22553 2010-09-22  Bruno Haible  <bruno@clisp.org>
22554
22555         Tests for module 'memcasecmp'.
22556         * modules/memcasecmp-tests: New file.
22557         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22558
22559 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22560
22561         * lib/pthread.in.h: Add split double-inclusion guard, and include
22562         system <pthread.h> if there is one.  Use @@-style as in other
22563         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22564         pthread.h doesn't.
22565         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22566         (pthread_mutexattr_settype, pthread_mutex_trylock):
22567         New static inline functions, if there's no system <pthread.h>.
22568         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22569         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22570         Approximate with mutexes if the system lacks spinlocks, as in
22571         MacOS.
22572         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22573         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22574         @@-style.  Check for spinlocks separately.
22575         (gl_PTHREAD_DEFAULTS): New macro.
22576         * modules/pthread: Redo to use a more typical style for in.h files.
22577
22578 2010-09-21  Eric Blake  <eblake@redhat.com>
22579
22580         net_if: enhance tests
22581         * tests/test-net_if.c (main): Move signature checks earlier.
22582         Print failures to stderr.
22583         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22584         Document the bug that we do not yet fix.
22585
22586 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22587
22588         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22589         about gnulib, not GSS.
22590
22591 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22592
22593         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22594         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22595         for Emacs.
22596         * build-aux/pmccabe2html: Make Makefile.am example code more
22597         cut-and-paste friendly.
22598
22599 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22600
22601         * tests/test-net_if.c: New file.
22602         * modules/net_if-tests: New file.
22603
22604 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22605
22606         pthread: add pthread_spin_destroy
22607         * lib/pthread.in.h (pthread_spin_destroy): New function.
22608
22609 2010-09-19  Bruno Haible  <bruno@clisp.org>
22610
22611         gnulib-tool: Fix --help output.
22612         * gnulib-tool (func_usage): Fix help message.
22613         Reported by Reuben Thomas <rrt@sc3d.org>.
22614
22615 2010-09-18  Jim Meyering  <meyering@redhat.com>
22616
22617         maint.mk: avoid unexpanded \n in two diagnostics
22618         * top/maint.mk (sc_prohibit_always_true_header_tests):
22619         Don't use a literal \n in a halt=... assignment.  It would not be
22620         expanded, and the two \n bytes would appear in the diagnostic output
22621         rather than the desired newline.  Use halt=$$(printf ... instead.
22622         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22623
22624 2010-09-18  Bruno Haible  <bruno@clisp.org>
22625
22626         netinet_in: Doc tweak.
22627         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22628         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22629
22630 2010-09-18  Jim Meyering  <meyering@redhat.com>
22631
22632         init.sh: correct an outdated comment
22633         * tests/init.sh (create_exe_shims_):  s/function/alias/
22634
22635         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22636         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22637         a file named "*.exe" is removed between the glob expansion and the
22638         processing of that oddly named file.
22639
22640 2010-09-17  Eric Blake  <eblake@redhat.com>
22641
22642         mirbsd: add some more support
22643         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22644         in BSD family.
22645         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22646         devices as OpenBSD.
22647         * m4/host-os.m4 (mirbsd): Add MirBSD.
22648
22649         tests: fix unportable assumption on sys/wait.h
22650         * tests/test-sys_wait.c (main): Relax test.
22651         * tests/test-stdlib.c (main): Likewise.
22652
22653         init.sh: accomodate directory with no .exes
22654         * tests/init.sh: Accomodate directory containing only scripts.
22655
22656         tests: avoid compiler warning
22657         * tests/test-stdlib.c (main): Use the variable.
22658
22659         fdutimens, fdutimensat: update signature, again
22660         * lib/utimens.h (gl_futimens): Delete, and move signature...
22661         (fdutimens): ...here.
22662         (fdutimensat): Rearrange signature.
22663         (lutimensat): Rename variable for clarity.
22664         * lib/fdutimensat.c (fdutimensat): Update signature.
22665         * lib/utimens.c (fdutimens): Likewise.
22666         (gl_futimens): Delete.
22667         (utimens, lutimens): Update callers.
22668         * lib/futimens.c (futimens): Likewise.
22669         * tests/test-fdutimensat.c: Likewise.
22670         * tests/test-utimens.c: Likewise.
22671         * tests/test-futimens.h: Update comment.
22672         * NEWS: Mention this.
22673         Suggested by Paul Eggert.
22674
22675 2010-09-17  Bruno Haible  <bruno@clisp.org>
22676
22677         Take over the maintenance of some older macros from Autoconf.
22678         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22679         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22680         GNU Autoconf.
22681         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22682         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22683
22684 2010-09-17  Eric Blake  <eblake@redhat.com>
22685
22686         fdutimensat: drop atflag validation
22687         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22688         with valid fd, to close a race scenario where futimens is
22689         unsupported and FILE was replaced by a symlink.
22690         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22691         accordingly.
22692         Suggested by Paul Eggert.
22693
22694 2010-09-16  Bruno Haible  <bruno@clisp.org>
22695
22696         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22697         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22698
22699 2010-09-16  Bruno Haible  <bruno@clisp.org>
22700
22701         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22702         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22703         login_tty exists.
22704         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22705
22706 2010-09-16  Bruno Haible  <bruno@clisp.org>
22707
22708         login_tty: Make the replacement code work on BSD systems.
22709         * lib/login_tty.c: Include <sys/ioctl.h>.
22710         (login_tty): Use ioctl TIOCSCTTY when available.
22711         * modules/login_tty (Depends-on): Add sys_ioctl.
22712         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22713
22714 2010-09-16  Bruno Haible  <bruno@clisp.org>
22715
22716         login_tty: Stricter unit test.
22717         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22718         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22719         and tcgetsid() after login_tty.
22720         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22721
22722 2010-09-16  Bruno Haible  <bruno@clisp.org>
22723
22724         New module 'tcgetsid'.
22725         * lib/tcgetsid.c: New file.
22726         * m4/tcgetsid.m4: New file.
22727         * modules/tcgetsid: New file.
22728         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22729         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22730         GNULIB_TCGETSID, HAVE_TCGETSID.
22731         * lib/termios.in.h: Include <sys/types.h>.
22732         (tcgetsid): New declaration.
22733         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22734         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22735         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22736         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22737
22738 2010-09-16  Bruno Haible  <bruno@clisp.org>
22739
22740         Tests for module 'termios'.
22741         * modules/termios-c++-tests: New file.
22742         * modules/termios-tests: New file.
22743         * tests/test-termios-c++.cc: New file.
22744         * tests/test-termios.c: New file.
22745
22746         New module 'termios'.
22747         * modules/termios: New file.
22748         * lib/termios.in.h: New file.
22749         * m4/termios_h.m4: New file.
22750         * doc/posix-headers/termios.texi: Mention the new module.
22751
22752 2010-09-16  Eric Blake  <eblake@redhat.com>
22753
22754         fdutimensat: add an atflag parameter
22755         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22756         * lib/utimens.h (fdutimensat): Update prototype.
22757         * tests/test-fdutimensat.c: Adjust test to match.
22758         * NEWS: Document the change.
22759         Suggested by Paul Eggert.
22760
22761 2010-09-16  Bruno Haible  <bruno@clisp.org>
22762
22763         Fix typos in comments.
22764         * lib/striconveh.h: Fix typo in comment.
22765         * lib/login_tty.c (login_tty): Likewise.
22766
22767 2010-09-15  Bruno Haible  <bruno@clisp.org>
22768
22769         stdlib: clarify MirBSD WEXITSTATUS bug
22770         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22771         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22772
22773 2010-09-15  Eric Blake  <eblake@redhat.com>
22774
22775         stdlib: work around MirBSD WEXITSTATUS bug
22776         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22777         * modules/stdlib (Depends-on): Add sys_wait.
22778         * tests/test-sys_wait.c (main): Enhance test.
22779         * tests/test-stdlib.c (main): Likewise.
22780         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22781
22782         docs: mention MacOS issue with WEXITSTATUS(constant)
22783         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22784         issue.
22785         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22786
22787         strnlen: add tests
22788         * modules/strnlen-tests: New file.
22789         * tests/test-strnlen.c: Likewise.
22790
22791 2010-09-14  Bruno Haible  <bruno@clisp.org>
22792
22793         unistr/base: Avoid link errors when module 'libunistring' is also used.
22794         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22795         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22796         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22797         Declare also when HAVE_LIBUNISTRING is set.
22798         Reported by Pádraig Brady <P@draigbrady.com>.
22799
22800 2010-09-14  Eric Blake  <eblake@redhat.com>
22801
22802         test-rawmemchr: make more robust
22803         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22804         (Depends-on, configure.ac): Add needed prerequisites to use it.
22805         * modules/memchr-tests (Files, Depends-on, configure.ac):
22806         Likewise, to avoid implicit reliance on memchr module prereqs.
22807         * tests/test-memchr.c (main): Ensure proper masking.
22808         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22809         reads.
22810
22811         memchr: detect glibc Alpha bug
22812         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22813         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22814         Alpha.
22815         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22816         * tests/test-memchr.c (main): Enhance test.
22817         Reported by Nelson H. F. Beebe.
22818
22819 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22820
22821         fts, getcwd, glob: audit for dirfd returning -1
22822         * lib/fts.c (opendir): Remove #define; no longer used.
22823         (opendirat): New arg PDIR_FD.  All callers changed.
22824         (fts_build, _opendir2): Use new opendirat to avoid the need for
22825         dirfd, or for checking whether dirfd returns a negative value.
22826         Don't use opendir; always use openat followed by fdopendir.
22827         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22828         it.
22829         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22830         returns -1 here.
22831         * modules/fts (Depends-on): Remove dirfd.
22832         * modules/getcwd (Depends-on): Likewise.
22833
22834 2010-09-13  Eric Blake  <eblake@redhat.com>
22835
22836         float: fix broken MirBSD header
22837         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22838         * doc/posix-headers/float.texi (float.h): Document it.
22839
22840 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22841
22842         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22843         * lib/fts.c (opendirat): New arg extra_flags.
22844         (__opendir2): Use it to avoid following symlinks when opening
22845         a directory, if symlinks are not supposed to be followed.  See
22846         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22847
22848         fdopendir: preserve argument fd before returning
22849         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22850         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22851         (fdopendir): Use them, arranging for FD to be open to the same
22852         directory that it was when it started.  (It might be temporarily
22853         closed while fdopendir is running, so this not thread- or
22854         signal-safe.)  Be careful to do the right thing even when file
22855         descriptors are scarce and dup fails with errno == EMFILE.  See
22856         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22857
22858 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22859
22860         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22861         * NEWS: Document change.
22862         * m4/regex.m4: Disable test for regoff_t size.
22863
22864 2010-09-13  Jim Meyering  <meyering@redhat.com>
22865
22866         fts: don't operate on an invalid file descriptor after failed dup
22867         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22868         negative file descriptor.
22869
22870 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22871
22872         savedir: add streamsavedir, deprecate fdsavedir
22873         * NEWS: Mention deprecation of fdsavedir.
22874         * lib/savedir.c (streamsavedir): New extern function, whose name
22875         ends in "savedir" to be consistent with the others.  This differs
22876         from savedirstream in that it doesn't close its argument.  The
22877         next version of GNU tar will use this instead of fdsavedir, to
22878         avoid some race conditions and conserve file descriptors.
22879         (savedirstream): Reimplement as a wrapper around streamsavedir.
22880         (fdsavedir): Add a comment deprecating this function.  As far as
22881         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22882         * lib/savedir.h (streamsavedir): New decl.
22883         (fdsavedir): Add a comment deprecating this.
22884
22885 2010-09-10  Bruno Haible  <bruno@clisp.org>
22886
22887         langinfo: Fix last commit.
22888         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22889         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22890         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22891
22892 2010-09-10  Bruno Haible  <bruno@clisp.org>
22893
22894         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22895         * lib/progreloc.c (O_EXEC): Define fallback.
22896
22897 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22898
22899         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22900         * NEWS: Document recent changes to fcntl-h.
22901         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22902         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22903         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22904         Similarly for O_SEARCH; this last was already true, but not documented.
22905         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22906         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22907         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22908         Likewise.
22909         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22910         is zero, not whether it is defined.
22911         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22912         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22913         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22914
22915 2010-09-10  Bruno Haible  <bruno@clisp.org>
22916
22917         langinfo, nl_langinfo: Fix for IRIX 5.3.
22918         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22919         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22920         HAVE_LANGINFO_YESEXPR.
22921         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22922         HAVE_LANGINFO_YESEXPR.
22923         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22924         HAVE_LANGINFO_T_FMT_AMPM is 0.
22925         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22926         HAVE_LANGINFO_YESEXPR is 0.
22927         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22928         NOEXPR.
22929         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22930         * doc/posix-functions/nl_langinfo.texi: Likewise.
22931         Reported by Eric Blake.
22932
22933 2010-09-10  Bruno Haible  <bruno@clisp.org>
22934
22935         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22936         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22937         on FreeBSD 8.0 and OpenBSD 4.6.
22938         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22939         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22940         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22941         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22942         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22943         ac_includes_default.
22944         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22945
22946 2010-09-09  Eric Blake  <eblake@redhat.com>
22947
22948         strsignal: work around NetBSD bug
22949         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22950         * lib/string.in.h (includes): Likewise.
22951         * doc/posix-functions/strsignal.texi (strsignal): Document the
22952         bug.
22953         Reported by Nelson H. F. Beebe.
22954
22955         gnulib-tool: work with NetBSD /bin/sh
22956         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22957         (func_get_description, func_get_comment, func_get_status)
22958         (func_get_notice, func_get_applicability, func_get_filelist)
22959         (func_get_dependencies, func_get_autoconf_early_snippet)
22960         (func_get_autoconf_snippet, func_get_automake_snippet)
22961         (func_get_include_directive, func_get_link_directive)
22962         (func_get_license, func_get_maintainer, func_import): Avoid
22963         shell syntax errors from parsing syntax extensions.
22964
22965 2010-09-09  Bruno Haible  <bruno@clisp.org>
22966
22967         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22968         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22969         a reliable way to determine whether the 'alias' command works.
22970
22971 2010-09-08  Jim Meyering  <meyering@redhat.com>
22972
22973         init.sh: penalize a set-x-impaired shell; don't disqualify it
22974         * tests/init.sh: Too many shells corrupt application stderr when
22975         you set -x, so we can't afford to disqualify them, since at least
22976         on Irix-6.5, that would disqualify all bourne shells.
22977         Instead, use a two-pass approach.
22978         On the first pass, try to find a shell that meets the stricter
22979         condition that set -x does not corrupt stderr.
22980         If no shell meets the stricter condition, retest each candidate
22981         shell, but without that extra condition.  Finally, when
22982         VERBOSE=yes is requested and set -x might cause trouble, simply
22983         issue a warning and refrain from enabling debug output.
22984
22985 2010-09-08  Eric Blake  <eblake@redhat.com>
22986
22987         unsetenv: fix OpenBSD bug
22988         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22989         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22990         documentation.
22991         Reported by Jim Meyering.
22992
22993         strtod: work around IRIX 6.5 bug
22994         * lib/strtod.c (strtod): Reparse number on shorter string if
22995         exponent parse was invalid.
22996         * tests/test-strtod.c (main): Add check for "0x1p 2".
22997         Reported by Tom G. Christensen.
22998
22999         getopt: optimize previous patch
23000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23001         empty variable.  Speed up awk script.
23002         Reported by Paolo Bonzini.
23003
23004 2010-09-08  Jim Meyering  <meyering@redhat.com>
23005
23006         test.sh: disqualify shells for which set -x corrupts stderr
23007         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23008         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23009         appear in stderr output.  For example, this command:
23010             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23011         prints "P=1" on those two systems:
23012
23013 2010-09-08  Bruno Haible  <bruno@clisp.org>
23014
23015         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23016         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23017         commands, because some shells ignore redirections when there is an
23018         error in the command lookup.
23019         Reported by Eric Blake.
23020
23021 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23022
23023         * lib/regex.h: Fix a mention of `regex_compile' (should be
23024         `re_compile_pattern').
23025         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23026         (re_set_registers): Correct name of parameter in comment.
23027
23028         * doc/regex.texi: Add documentation for missing syntax flags.
23029         Remove commented-out documentation of defunct syntax option
23030         RE_NO_EMPTY_ALTS.
23031         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23032         Add documentation of re_set_registers.
23033         Document trick to re-use a pattern buffer by setting fastmap manually.
23034         Update documentation of struct re_pattern_buffer per public members.
23035         Uncomment documentation of equivalence class operators and
23036         collating symbol operators, since they are now implemented,
23037         Explain leftmost-longest matching in relation to alternatives.
23038         Tidy documentation of substring matching.
23039         Remove POSIX documentation, which is done better in
23040         glibc, and refer the reader there. Keep BSD API documentation, as
23041         that is not readily available elsewhere.
23042
23043 2010-09-07  Eric Blake  <eblake@redhat.com>
23044
23045         getopt: handle POSIXLY_CORRECT set but not exported
23046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23047         export state of POSIXLY_CORRECT, due to bash set -o posix.
23048         Reported by Dustin J. Mitchell.
23049
23050 2010-09-05  Bruno Haible  <bruno@clisp.org>
23051
23052         gnulib-tool: Highlight the changed options.
23053         * gnulib-tool (func_usage): Display the --import, --add-import,
23054         --remove-import explanations in bold font.
23055
23056 2010-09-06  Karl Berry  <karl@gnu.org>
23057
23058         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23059
23060 2010-09-05  Bruno Haible  <bruno@clisp.org>
23061
23062         uniwidth/width: Update comment.
23063         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23064         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23065
23066 2010-09-05  Bruno Haible  <bruno@clisp.org>
23067
23068         isinf, isnan: Relax license.
23069         * modules/isinf (License): Change from GPL to LGPL, with consent from
23070         Ben Pfaff.
23071         * modules/isnan (License): Likewise.
23072         Requested by Ludovic Courtès.
23073
23074 2010-09-04  Bruno Haible  <bruno@clisp.org>
23075
23076         gnulib-tool: Help migration from --import to --add-import or --update.
23077         * gnulib-tool: Emit a verbose error message when --import is used
23078         without any module name.
23079
23080 2010-09-04  Bruno Haible  <bruno@clisp.org>
23081
23082         Update doc about gnulib-tool.
23083         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23084         'gnulib-tool --update' in more detail.
23085         Reported by Eric Blake.
23086
23087 2010-09-04  Bruno Haible  <bruno@clisp.org>
23088
23089         gnulib-tool: Change --import. New options --add/remove-import.
23090         * gnulib-tool: New options --add-import, --remove-import.
23091         (func_usage): Document them.
23092         (have_associative): Define always.
23093         (func_import): In import mode, don't merge the specified settings with
23094         the cached settings. Implement remove-import mode.
23095         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23096         Explain when to use them versus --import.
23097         (Simple update): Use --add-import instead of --import.
23098         * NEWS: Mention the change.
23099
23100 2010-09-04  Bruno Haible  <bruno@clisp.org>
23101
23102         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23103         separate gnulib.mk.
23104
23105 2010-09-04  Bruno Haible  <bruno@clisp.org>
23106
23107         gnulib-tool: Don't talk about CVS any more.
23108         * gnulib-tool (func_usage, func_import): Write "version control"
23109         instead of CVS.
23110
23111 2010-09-04  Jim Meyering  <meyering@redhat.com>
23112
23113         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23114         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23115         false positives (whose names may be ill-chosen) when searching
23116         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23117         would cause a false-positive.
23118
23119         avoid coreutils "make distcheck" failure
23120         Coreutils tests with an absolute build directory name that contains
23121         a space.  Not quoting this directory name caused a failure.
23122         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23123         * tests/test-vc-list-files-cvs.sh: Likewise.
23124
23125 2010-09-04  Bruno Haible  <bruno@clisp.org>
23126
23127         gnulib-tool: Avoid error when run in a package without Makefile.am.
23128         * gnulib-tool: When collecting the m4dirs in a package that does not
23129         have a Makefile.am, eliminate those directories that contain no
23130         gnulib-cache.m4. Fix expression that counts these directories.
23131
23132 2010-09-04  Bruno Haible  <bruno@clisp.org>
23133
23134         update-copyright test: Improve output when perl is missing or too old.
23135         * tests/test-update-copyright.sh: Move test of Perl version down after
23136         the test whether Perl exists. Provide an explanation relating Perl's
23137         error message to Automake's SKIP: message.
23138
23139 2010-09-04  Bruno Haible  <bruno@clisp.org>
23140
23141         Don't augment PATH in TESTS_ENVIRONMENT.
23142         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23143         set abs_aux_dir instead of augmenting PATH.
23144         * modules/vc-list-files-tests (Makefile.am): Likewise.
23145         * tests/test-update-copyright.sh: Augment PATH here.
23146         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23147         path_prepend_.
23148         * tests/test-vc-list-files-git.sh: Likewise.
23149
23150 2010-09-04  Jim Meyering  <meyering@redhat.com>
23151
23152         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23153         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23154
23155 2010-09-04  Bruno Haible  <bruno@clisp.org>
23156
23157         strdup: Fix compilation error in C++ mode.
23158         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23159         the macro.
23160
23161 2010-09-04  Bruno Haible  <bruno@clisp.org>
23162
23163         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23164         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23165         macro into a function.
23166         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23167
23168 2010-09-04  Bruno Haible  <bruno@clisp.org>
23169
23170         Set PATH_SEPARATOR the same way autoconf does.
23171         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23172         the value of PATH_SEPARATOR the same way autoconf-generated configure
23173         scripts do.
23174         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23175         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23176
23177 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23178
23179         Set PATH_SEPARATOR the same way autoconf does.
23180         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23181         the same way autoconf-generated configure scripts do.
23182         * posix-modules: Likewise.
23183
23184 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23185
23186         hash: fix safe_hasher const typo
23187         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23188         const; otherwise, there is a type error later.
23189
23190 2010-09-02  Jim Meyering  <meyering@redhat.com>
23191
23192         test-update-copyright.sh: require perl 5.8.0
23193         * tests/test-update-copyright.sh: Require 5.8.0,
23194         which Tom G. Christensen has confirmed is adequate,
23195         while 5.6.1 is not.
23196
23197 2010-09-02  Eric Blake  <eblake@redhat.com>
23198
23199         tests: init.sh improvements for re-exec'ing with zsh
23200         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
23201         -vx through shell re-exec.
23202         Reported by Tom G. Christensen.
23203
23204         wctype: fix typo in previous commit
23205         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
23206         Reported by Ludovic Courtès.
23207
23208 2010-09-02  Jim Meyering  <meyering@redhat.com>
23209
23210         test-update-copyright.sh: skip test if Perl is too old
23211         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
23212         Reported by Tom G. Christensen.
23213
23214 2010-09-02  Bruno Haible  <bruno@clisp.org>
23215
23216         wctype: Avoid compilation error on IRIX 6.5.30.
23217         * lib/wctype.in.h (iswblank): Declare with a replacement if
23218         REPLACE_ISWBLANK is set.
23219         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
23220         declared. Set REPLACE_ISWBLANK.
23221         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
23222         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
23223         * doc/posix-headers/wctype.texi: Likewise.
23224         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23225
23226 2010-09-01  Bruno Haible  <bruno@clisp.org>
23227
23228         New module 'socketlib'.
23229         * modules/socketlib: New file.
23230         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
23231         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
23232         * modules/sockets (Depends-on): Add socketlib.
23233         Suggested by Sam Steingold <sds@gnu.org>.
23234
23235 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23236
23237         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
23238
23239         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
23240         when one needs search access to a directory but not read access.
23241         On systems where it is available, it works in some cases where
23242         O_RDONLY does not, namely on directories that are searchable but
23243         not readable, and which need only to be searchable.  If O_SEARCH
23244         is not available, fall back to the traditional method of using
23245         O_RDONLY.
23246
23247         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
23248         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
23249         when opening a directory that needs only to be searchable.
23250         * lib/chdir-safer.c (chdir_no_follow): Likewise.
23251         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
23252         * lib/openat-proc.c (openat_proc_name): Likewise.
23253         * lib/openat.c (openat_needs_fchdir): Likewise.
23254         * lib/save-cwd.c (save_cwd): Likewise.
23255         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
23256
23257 2010-08-28  Bruno Haible  <bruno@clisp.org>
23258
23259         New module 'host-cpu-c-abi'.
23260         * modules/host-cpu-c-abi: New file.
23261         * m4/host-cpu-c-abi.m4: New file, based on part of
23262         clisp/src/m4/general.m4.
23263         Requested by Sam Steingold <sds@gnu.org>.
23264
23265 2010-08-31  Eric Blake  <eblake@redhat.com>
23266         and Jim Meyering  <meyering@redhat.com>
23267
23268         hash: factor, and guard against misbehaving hasher function
23269         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
23270         of table->hasher's return value.  Also protect against a hash value
23271         so large that adding it to table->bucket results in a NULL pointer.
23272         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
23273         Use it in place of open-coded check-and-abort.
23274
23275 2010-08-30  Bruno Haible  <bruno@clisp.org>
23276
23277         hash: silence spurious clang warning
23278         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
23279         Reported by Eric Blake.
23280
23281 2010-08-30  Eric Blake  <eblake@redhat.com>
23282
23283         strstr, memmem, strcasestr: avoid leaked shell message
23284         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
23285         FreeBSD.
23286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23287         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23288
23289         tests: silence clang warning
23290         * tests/test-malloca.c (do_allocation): Avoid dead store.
23291
23292 2010-08-29  Bruno Haible  <bruno@clisp.org>
23293
23294         gettext: Fix recent mistake.
23295         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
23296
23297 2010-08-29  Bruno Haible  <bruno@clisp.org>
23298
23299         selinux-h: Offer a --without-selinux option.
23300         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
23301         --without-selinux was specified, skip all tests and define
23302         HAVE_SELINUX_SELINUX_H to 0.
23303         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
23304         set LIB_SELINUX to empty.
23305         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
23306         gl_LIBSELINUX. If --without-selinux was specified, replace
23307         selinux/context.h.
23308         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23309
23310 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23311             Bruno Haible  <bruno@clisp.org>
23312
23313         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23314         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23315         of HAVE_REALLOC.
23316         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23317         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23318         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23319         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23320
23321 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23322             Bruno Haible  <bruno@clisp.org>
23323
23324         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23325         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23326         HAVE_CALLOC.
23327         * lib/xmalloc.c: Update accordingly.
23328         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23329         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23330         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23331
23332 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23333             Bruno Haible  <bruno@clisp.org>
23334
23335         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23336         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23337         HAVE_MALLOC.
23338         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23339         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23340         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23341
23342 2010-08-29  Bruno Haible  <bruno@clisp.org>
23343
23344         Update modules list.
23345         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23346         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23347         (String handling <string.h>): Add astrxfrm.
23348         (File system functions): Add readlinkat.
23349
23350 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23351
23352         Tests for module 'realloc-gnu'.
23353         * modules/realloc-gnu-tests: New file.
23354         * tests/test-realloc-gnu.c: New file.
23355
23356         Tests for module 'calloc-gnu'.
23357         * modules/calloc-gnu-tests: New file.
23358         * tests/test-calloc-gnu.c: New file.
23359
23360         Tests for module 'malloc-gnu'.
23361         * modules/malloc-gnu-tests: New file.
23362         * tests/test-malloc-gnu.c: New file.
23363
23364 2010-08-28  Bruno Haible  <bruno@clisp.org>
23365
23366         Rename module 'realloc' -> 'realloc-gnu'.
23367         * modules/realloc-gnu: New file, copied from modules/realloc.
23368         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
23369         obsolete.
23370         * modules/mgetgroups (Depends-on): Update.
23371         * doc/posix-functions/realloc.texi: Update.
23372         * NEWS: Mention the change.
23373
23374         Rename module 'calloc' -> 'calloc-gnu'.
23375         * modules/calloc-gnu: New file, copied from modules/calloc.
23376         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
23377         obsolete.
23378         * doc/posix-functions/calloc.texi: Update.
23379         * NEWS: Mention the change.
23380
23381         Rename module 'malloc' -> 'malloc-gnu'.
23382         * modules/malloc-gnu: New file, copied from modules/malloc.
23383         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23384         obsolete.
23385         * modules/argp (Depends-on): Update.
23386         * modules/regex (Depends-on): Update.
23387         * doc/posix-functions/malloc.texi: Update.
23388         * NEWS: Mention the change.
23389
23390 2010-08-28  Eric Blake  <eblake@redhat.com>
23391
23392         pread, pwrite: add missing dependency
23393         * modules/pread (Depends-on): Add extensions.
23394         * modules/pwrite (Depends-on): Likewise.
23395
23396 2010-08-28  Bruno Haible  <bruno@clisp.org>
23397
23398         unistr/u*-strchr: Fix tests dependencies.
23399         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23400         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23401         Reported by Ian Beckwith <ianb@erislabs.net>.
23402
23403 2010-08-28  Bruno Haible  <bruno@clisp.org>
23404
23405         read-file: Don't occupy too much unused memory.
23406         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23407
23408 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23409             Eric Blake  <eblake@redhat.com>
23410             Bruno Haible  <bruno@clisp.org>
23411
23412         read-file: Avoid memory reallocations with regular files.
23413         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
23414         (fread_file): With regular files, use the remaining length as the
23415         initial buffer size.  Check against overflow.
23416         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
23417         sys_stat.
23418
23419 2010-08-28  Bruno Haible  <bruno@clisp.org>
23420
23421         ftello: Relax license.
23422         * modules/ftello (License): Relax to LGPLv2+.
23423         Reported by Eric Blake.
23424
23425 2010-08-28  Bruno Haible  <bruno@clisp.org>
23426
23427         Avoid relocwrapper link errors due to gnulib replacement functions.
23428         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
23429         function.
23430         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23431
23432 2010-08-28  Bruno Haible  <bruno@clisp.org>
23433
23434         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
23435         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
23436         defined.
23437         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
23438         Suggested by Eric Blake.
23439
23440 2010-08-28  Bruno Haible  <bruno@clisp.org>
23441
23442         sys_socket, netdb: Ensure socklen_t gets defined.
23443         * modules/sys_socket (Depends-on): Add socklen.
23444         * modules/netdb (Depends-on): Likewise.
23445         * modules/getaddrinfo (Depends-on): Remove socklen.
23446         * modules/getsockopt (Depends-on): Likewise.
23447         * modules/setsockopt (Depends-on): Likewise.
23448         * tests/test-sys_socket.c: Check that socklen_t is defined.
23449         * tests/test-netdb.c: Likewise.
23450         * m4/socklen.m4: Update comments.
23451         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23452
23453 2010-08-27  Eric Blake  <eblake@redhat.com>
23454
23455         login_tty: add missing dependency
23456         * modules/login_tty (Depends-on): Add pty.
23457
23458 2010-08-26  Eric Blake  <eblake@redhat.com>
23459
23460         lib-symbol-versions: fix m4 quoting
23461         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
23462         format for AC_LINK_IFELSE.
23463
23464         glob: fix compile test
23465         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
23466
23467         btowc: fix missing file
23468         * modules/btowc (Files): Also ship locale-fr.m4.
23469
23470         lseek: fix link test
23471         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
23472         AC_LINK_IFELSE.
23473
23474         include_next: silence autoconf 2.68 warning
23475         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
23476         AC_COMPILE_IFELSE as special.
23477         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
23478         autoconf < 2.68.
23479
23480         acl: fix compilation test
23481         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23482         AC_COMPILE_IFELSE.
23483
23484 2010-08-26  Bruno Haible  <bruno@clisp.org>
23485
23486         Modernize AC_TRY_RUN invocations.
23487         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23488         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23489         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23490         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23491         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23492         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23493         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23494         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23495         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23496         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23497         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23498         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23499         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23500         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23501         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23502         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23503         gl_MBRLEN_NUL_RETVAL): Likewise.
23504         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23505         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23506         Likewise.
23507         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23508         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23509         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23510         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23511         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23512         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23513         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23514         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23515         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23516         Likewise.
23517         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23518         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23519         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23520         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23521         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23522         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23523         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23524         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23525         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23526         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23527
23528 2010-08-26  Bruno Haible  <bruno@clisp.org>
23529
23530         Modernize AC_TRY_LINK invocations.
23531         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23532         AC_TRY_LINK.
23533         * m4/argp.m4 (gl_ARGP): Likewise.
23534         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23535         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23536         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23537         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23538         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23539         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23540         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23541         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23542         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23543         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23544         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23545         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23546         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23547         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23548         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23549         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23550         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23551         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23552         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23553         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23554         Likewise.
23555         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23556         Likewise.
23557         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23558         Likewise.
23559         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23560         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23561         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23562         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23563         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23564         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23565         * m4/servent.m4 (gl_SERVENT): Likewise.
23566         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23567         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23568         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23569         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23570         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23571         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23572         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23573         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23574         * modules/tsearch-tests (configure.ac): Likewise.
23575
23576 2010-08-26  Bruno Haible  <bruno@clisp.org>
23577
23578         Modernize AC_TRY_COMPILE invocations.
23579         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23580         AC_TRY_COMPILE.
23581         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23582         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23583         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23584         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23585         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23586         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23587         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23588         * m4/lock.m4 (gl_LOCK): Likewise.
23589         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23590         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23591         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23592         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23593         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23594         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23595         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23596         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23597         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23598         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23599         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23600         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23601         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23602         extraneous semicolon.
23603
23604 2010-08-26  Jim Meyering  <meyering@redhat.com>
23605
23606         stat-time: relax license LGPL
23607         * modules/stat-time (License): Change from GPL to LGPL,
23608         with consent from all contributors, for use in libguile.
23609         Requested by Ludovic Courtès.
23610
23611 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23612
23613         poll: return immediately on POLLHUP.
23614         * lib/poll.c (poll): Always set timeout before wait_timeout is
23615         computed.
23616
23617 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23618
23619         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23620         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23621         rmdir ("dir/.//"), unlinkat.
23622
23623 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23624
23625         stdbool: avoid spurious failure with modern xlc
23626         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23627
23628 2010-08-24  Bruno Haible  <bruno@clisp.org>
23629
23630         getloadavg: simplify code
23631         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23632         gl_have_func. Update comments.
23633
23634 2010-08-24  Eric Blake  <eblake@redhat.com>
23635
23636         getloadavg: don't define SVR4 on cygwin
23637         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23638         only define SVR4 when -lkvm is required.
23639         Reported by Yaakov Selkowitz.
23640
23641 2010-08-24  Bruno Haible  <bruno@clisp.org>
23642
23643         priv-set: fix comment
23644         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23645
23646 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23647
23648         priv-set: fix comments
23649         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23650         to match code, as suggested by David Bartley in:
23651         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23652
23653 2010-08-23  Eric Blake  <eblake@redhat.com>
23654
23655         stdbool: avoid rejecting clang
23656         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23657         * tests/test-stdbool.c: Enable more tests if using the system
23658         <stdbool.h> instead of the gnulib replacement.
23659         (main): Move xlc bug test to a runtime test for all compilers.
23660         Reported by Anders Kaseorg.
23661
23662         argz: fix shell quoting issue
23663         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23664         Reported by Charles Wilson.
23665
23666 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23667             Erik Faye-Lund <kusmabite@gmail.com>
23668
23669         poll, select: handle ERROR_BROKEN_PIPE.
23670         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23671         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23672         * lib/select.c (win32_compute_revents): Do not mark a pipe
23673         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23674
23675 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23676
23677         fts: allow compilation with C++
23678         * lib/fts_.h: Specify extern "C" linkage with C++.
23679
23680 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23681
23682         Fix gnulib-tool sed script de-commentation for AIX sed.
23683         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23684         sed.
23685
23686 2010-08-17  Eric Blake  <eblake@redhat.com>
23687
23688         test-stddef: test for (some) offsetof bugs
23689         * tests/test-stddef.c: Enhance test to ensure correct type of
23690         offsetof.
23691         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23692         that we are not fixing at this time.
23693
23694 2010-08-15  Bruno Haible  <bruno@clisp.org>
23695
23696         stpncpy: Allow stpncpy to be defined as a macro.
23697         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23698         if it's already correctly declared.
23699         * lib/string.in.h (stpncpy): Undefine before redefining.
23700         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23701
23702 2010-08-14  Bruno Haible  <bruno@clisp.org>
23703
23704         Rename module 'memxfrm' to 'amemxfrm'.
23705         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23706         (amemxfrm): Renamed from memxfrm.
23707         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23708         (amemxfrm): Renamed from memxfrm.
23709         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23710         * NEWS: Mention the change.
23711         * MODULES.html.sh (String handling <string.h>): Update.
23712         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23713         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23714         * lib/unicase/u16-casexfrm.c: Likewise.
23715         * lib/unicase/u32-casexfrm.c: Likewise.
23716         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23717         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23718         * lib/uninorm/u16-normxfrm.c: Likewise.
23719         * lib/uninorm/u32-normxfrm.c: Likewise.
23720         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23721         memxfrm.
23722         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23723         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23724         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23725         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23726         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23727         Suggested by Paul Eggert.
23728
23729 2010-08-14  Bruno Haible  <bruno@clisp.org>
23730
23731         Tests for module 'astrxfrm'.
23732         * modules/astrxfrm-tests: New file.
23733         * tests/test-astrxfrm.c: New file.
23734
23735         New module 'astrxfrm'.
23736         * lib/astrxfrm.h: New file.
23737         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23738         * modules/astrxfrm: New file.
23739
23740 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23741
23742         regex: Tweak doc.
23743         * doc/regex.texi (Overview): Don't mention regex.c.
23744         (GNU Regular Expression Compiling): Likewise.
23745         (Match-end-of-line Operator): Mention 'not_eol'.
23746
23747 2010-08-14  Brian Gough  <bjg@gnu.org>
23748             Bruno Haible  <bruno@clisp.org>
23749
23750         git-merge-changelog: add doc relating to use with bzr and hg.
23751         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23752
23753 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23754
23755         pthread: fix pthread.h creation for srcdir != builddir
23756         * modules/pthread (Makefile.am): Fix the rule to work also in a
23757         non-srcdir build.
23758
23759 2010-08-13  Karl Berry  <karl@gnu.org>
23760
23761         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23762         * doc/posix-*/*: force line break before @url of POSIX
23763         specifications.
23764         Suggested by Werner Lemberg.
23765
23766 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23767
23768         strtod: fix const diagnostic
23769         * lib/strtod.c (strtod): Don't assign const char * to char *,
23770         as this elicits a warning from GCC when warnings are enabled.
23771
23772 2010-08-10  Pádraig Brady <P@draigbrady.com>
23773         and Eric Blake  <eblake@redhat.com>
23774
23775         copy-acl: ignore ENOTSUP on HP-UX
23776         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23777         so that it is available for HP-UX.
23778         * lib/copy-acl.c (qcopy_acl): Use it.
23779         Reported by Patrick M. Callahan.
23780
23781 2010-08-10  Eric Blake  <eblake@redhat.com>
23782
23783         open, chown: relax license
23784         * modules/open (License): Change to LGPLv2+, with consent by all
23785         authors, for use in augeas.
23786         * modules/chown (License): Likewise.
23787         * modules/lchown (Likewise): Likewise.
23788         Requested by Adam Stokes.
23789
23790 2010-08-09  Karl Berry  <karl@gnu.org>
23791
23792         * build-aux/ar-lib: new file, import from Automake.
23793         * config/srclist.txt: autocheck for updates.
23794
23795 2010-08-09  Eric Blake  <eblake@redhat.com>
23796
23797         readlinkat: adjust client modules
23798         * modules/areadlinkat (Depends-on): Use readlinkat, not
23799         symlinkat.
23800         * modules/areadlinkat-with-size (Depends-on): Likewise.
23801
23802         mknod: be more vocal about danger of running tests as root
23803         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23804         root, since that is just asking for problems.
23805         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23806
23807         readlinkat: split into its own module
23808         * modules/symlinkat: Split readlinkat...
23809         * modules/readlinkat: ...into separate module.
23810         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23811         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23812         * lib/symlinkat.c (readlinkat): Move...
23813         * lib/readlinkat.c: ...into new file.
23814         * modules/symlinkat-tests: Split readlinkat test...
23815         * modules/readlinkat-tests: ...into separate module.
23816         * tests/test-symlinkat.c: Split...
23817         * tests/test-readlinkat.c: ...into new file.
23818         * NEWS: Document the split.
23819         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23820         * lib/unistd.in.h (readlinkat): Likewise.
23821         Suggested by Bruno Haible.
23822
23823 2010-08-08  Bruno Haible  <bruno@clisp.org>
23824
23825         memxfrm: Speed up.
23826         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23827         that usually only one call to strxfrm is necessary for each string
23828         part.
23829         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23830
23831 2010-08-07  Karl Berry  <karl@gnu.org>
23832
23833         * doc/posix-headers/limits.texi,
23834         * doc/posix-functions/malloc.texi,
23835         * doc/posix-functions/strsignal.texi: missing @item.
23836         * doc/ld-version-script.texi: spurious leading i.
23837         * doc/regex.texi (Interval Operators): no commas inside @var.
23838
23839 2010-08-01  Bruno Haible  <bruno@clisp.org>
23840
23841         Integrate the regex documentation.
23842         * doc/gnulib.texi: Define 'cn' index.
23843         (Regular expressions): New a chapter that includes regex.texi and
23844         regexprops-generic.texi.
23845         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23846         syntax.
23847
23848         Whitespace cleanup.
23849         * doc/regex.texi: Remove trailing spaces.
23850
23851         Add regex documentation.
23852         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23853         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23854         Written by Kathy A. Hargreaves and Karl Berry.
23855
23856 2010-08-01  Bruno Haible  <bruno@clisp.org>
23857
23858         link: Update documentation.
23859         * doc/posix-functions/link.texi: Update regarding Solaris.
23860
23861 2010-07-31  Bruno Haible  <bruno@clisp.org>
23862
23863         Update modules list.
23864         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23865         (String handling <string.h>): Add memcmp2, memxfrm.
23866         (Container data structures): Add xlist, xsublist, xoset.
23867         (Core language properties): Add alignof, unused-parameter.
23868         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23869         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23870         (Unibyte characters <ctype.h>): New section.
23871         (String handling <string.h>): New section.
23872         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23873         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23874         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23875         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23876         tan, tanh, tanl, y0, y1, yn.
23877         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23878         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23879         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23880         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23881         unlockpt, vdprintf, vdprintf-posix.
23882         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23883         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23884         xconcat-filename.
23885         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23886         getdtablesize, pipe2, pipe2-safer.
23887         (Security): New section.
23888         (Networking functions): Add accept4.
23889         (Signal handling): Add sigpipe.
23890         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23891         mbmemcasecoll.
23892         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23893         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23894         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23895         pipe-filter-ii.
23896         (Misc): Add argp-version-etc, login_tty, parse-duration.
23897
23898 2010-07-31  Bruno Haible  <bruno@clisp.org>
23899
23900         Improve doc in MODULES.html.
23901         * modules/linkat (Description): Add the word "function".
23902         * modules/mkfifo (Description): Likewise.
23903         * modules/mknod (Description): Likewise.
23904         * modules/remove (Description): Likewise.
23905         * modules/renameat (Description): Likewise.
23906         * modules/stat (Description): Likewise.
23907         * modules/symlink (Description): Likewise.
23908         * modules/unlink (Description): Likewise.
23909
23910 2010-07-31  Bruno Haible  <bruno@clisp.org>
23911
23912         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23913         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23914         option --enable/disable-c++ instead of --enable/disable-cxx.
23915         * NEWS: Mention the change.
23916
23917 2010-07-31  Bruno Haible  <bruno@clisp.org>
23918
23919         readlink, areadlink: Relax test a bit.
23920         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23921         alternative to ENOTDIR.
23922         * tests/test-areadlink.h (test_areadlink): Likewise.
23923         Reported by Rainer Tammer.
23924
23925 2010-07-31  Bruno Haible  <bruno@clisp.org>
23926
23927         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23928         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23929         character, perform the search using U_STRCHR.
23930         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23931         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23932         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23933         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23934         Suggested by Paolo Bonzini.
23935
23936 2010-07-31  Bruno Haible  <bruno@clisp.org>
23937
23938         unistr/u*-strstr: Fix dependencies.
23939         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23940         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23941         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23942
23943 2010-07-31  Bruno Haible  <bruno@clisp.org>
23944
23945         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23946         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23947         the beginning of the loop.
23948         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23949         cases in 'switch' statement.
23950
23951         unistr/u8-strchr: Fix several bugs.
23952         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23953         the string. When not found, return NULL, not a pointer near the end.
23954
23955         More tests for unistr/u8-strchr.
23956         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23957         that the function does not read past the first occurrence of the byte
23958         being searched.
23959         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23960         * tests/unistr/test-u16-strchr.c (main): New function.
23961         * tests/unistr/test-u32-strchr.c (main): New function.
23962
23963 2010-07-31  Bruno Haible  <bruno@clisp.org>
23964
23965         posix-modules: Ignore backup files of documentation files.
23966         * posix-modules: grep only through files named *.texi.
23967
23968 2010-07-31  Bruno Haible  <bruno@clisp.org>
23969
23970         symlinkat: Fix documentation.
23971         * doc/posix-functions/readlinkat.texi: Fix module name.
23972
23973 2010-07-31  Bruno Haible  <bruno@clisp.org>
23974
23975         fchownat: Replace also when chown has the trailing slash bug.
23976         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23977         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23978         introduced on 2010-04-10.
23979         Reported by Rainer Tammer.
23980
23981 2010-07-31  Bruno Haible  <bruno@clisp.org>
23982
23983         linkat: Work around AIX 7.1 bug.
23984         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23985         whether linkat handles trailing slash correctly. If not, replace linkat
23986         and define LINKAT_TRAILING_SLASH_BUG.
23987         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23988         check whether (fd1,file1) points to a directory if file1 or file2 ends
23989         in a slash. Code taken from lib/link.c.
23990         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23991         Reported by Rainer Tammer.
23992
23993 2010-07-31  Bruno Haible  <bruno@clisp.org>
23994
23995         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23996         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23997         This disables an xlc optimization that was causing wrong test results.
23998         Reported by Rainer Tammer.
23999
24000 2010-07-31  Bruno Haible  <bruno@clisp.org>
24001
24002         iconv: Work around AIX 6.1..7.1 bug.
24003         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24004         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24005         cross-compiling, guess no on all versions of AIX.
24006         Reported by Rainer Tammer.
24007
24008 2010-07-31  Bruno Haible  <bruno@clisp.org>
24009
24010         readlink: Relax test a bit.
24011         * tests/test-readlink.h (test_readlink): Allow different errno value
24012         when readlink is called with a file name that ends in / and refers to
24013         a file.
24014         Suggested by Eric Blake.
24015         Reported by Rainer Tammer.
24016
24017 2010-07-31  Bruno Haible  <bruno@clisp.org>
24018
24019         copysign: Does not require -lm on glibc systems.
24020         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24021         gl_COMMON_DOUBLE_MATHFUNC.
24022         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24023
24024 2010-07-31  Bruno Haible  <bruno@clisp.org>
24025
24026         duplocale: Work around AIX 7.1 bug.
24027         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24028         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24029         * lib/duplocale.c (rpl_duplocale): Update comment.
24030         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24031         Reported by Rainer Tammer.
24032
24033 2010-07-30  Bruno Haible  <bruno@clisp.org>
24034
24035         dirfd: Avoid link error on AIX 7.1.
24036         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24037         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24038         exist, set REPLACE_DIRFD.
24039         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24040         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24041         * doc/posix-functions/dirfd.texi: Update.
24042         Reported by Rainer Tammer.
24043
24044 2010-07-30  Eric Blake  <eblake@redhat.com>
24045
24046         strtod: next round of AIX fixes
24047         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24048         exponent.
24049         * tests/test-strtod.c (main): Enhance tests.
24050         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24051         Reported by Rainer Tammer.
24052
24053         futimens: fix configure check
24054         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24055         Reported by Bruno Haible.
24056
24057 2010-07-30  Bruno Haible  <bruno@clisp.org>
24058
24059         getline: Update regarding AIX.
24060         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24061         Reported by Rainer Tammer.
24062
24063 2010-07-30  Bruno Haible  <bruno@clisp.org>
24064
24065         wcwidth: Drop replacement on AIX 7.
24066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24067         AIX 7.
24068         Reported by Rainer Tammer.
24069
24070 2010-07-30  Bruno Haible  <bruno@clisp.org>
24071
24072         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24073         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24074         a 'char *'.
24075         Reported by Rainer Tammer.
24076
24077 2010-07-30  Bruno Haible  <bruno@clisp.org>
24078
24079         unlink: Update regarding AIX.
24080         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24081         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24082         Reported by Rainer Tammer.
24083
24084 2010-07-30  Bruno Haible  <bruno@clisp.org>
24085
24086         symlink: Update regarding AIX.
24087         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24088         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24089         Reported by Rainer Tammer.
24090
24091 2010-07-30  Bruno Haible  <bruno@clisp.org>
24092
24093         strndup: Update regarding AIX.
24094         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24095         AIX 7.
24096         Reported by Rainer Tammer.
24097
24098 2010-07-30  Bruno Haible  <bruno@clisp.org>
24099
24100         stat: Update regarding AIX.
24101         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24102         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24103         Reported by Rainer Tammer.
24104
24105 2010-07-30  Bruno Haible  <bruno@clisp.org>
24106
24107         truncl: Fix autoconf test.
24108         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24109         whether truncl works.
24110         Reported by Rainer Tammer.
24111
24112 2010-07-30  Bruno Haible  <bruno@clisp.org>
24113
24114         round: Update regarding AIX.
24115         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24116         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24117         Reported by Rainer Tammer.
24118
24119 2010-07-30  Bruno Haible  <bruno@clisp.org>
24120
24121         rename: Update regarding AIX.
24122         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24123         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24124         Reported by Rainer Tammer.
24125
24126 2010-07-30  Bruno Haible  <bruno@clisp.org>
24127
24128         printf.m4: Update regarding AIX.
24129         * m4/printf.m4: Update comments regarding AIX.
24130         Reported by Rainer Tammer.
24131
24132 2010-07-30  Bruno Haible  <bruno@clisp.org>
24133
24134         iconv: Update regarding AIX.
24135         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24136         AIX 7.
24137         Reported by Rainer Tammer.
24138
24139 2010-07-30  Bruno Haible  <bruno@clisp.org>
24140
24141         getopt: Update regarding AIX.
24142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24143         no on AIX.
24144         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24145         Reported by Rainer Tammer.
24146
24147 2010-07-30  Bruno Haible  <bruno@clisp.org>
24148
24149         ldexpl; Update regarding AIX.
24150         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24151         on AIX 7.
24152         Reported by Rainer Tammer.
24153
24154 2010-07-30  Bruno Haible  <bruno@clisp.org>
24155
24156         frexpl: Update regarding AIX.
24157         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24158         on AIX 7.
24159         Reported by Rainer Tammer.
24160
24161 2010-07-30  Bruno Haible  <bruno@clisp.org>
24162
24163         open, fopen: Update regarding AIX.
24164         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24165         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24166         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24167         * doc/posix-functions/fopen.texi: Likewise.
24168         Reported by Rainer Tammer.
24169
24170 2010-07-30  Bruno Haible  <bruno@clisp.org>
24171
24172         chown: Update doc regarding AIX.
24173         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24174         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24175         Reported by Rainer Tammer.
24176
24177 2010-07-30  Eric Blake  <eblake@redhat.com>
24178
24179         strtod: fix bug in replacement function on AIX
24180         * lib/strtod.c (strtod): Special case broken "0x" parse in
24181         underlying strtod.
24182         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24183         * doc/posix-functions/strtod.texi (strtod): Likewise.
24184         Reported by Rainer Tammer.
24185
24186 2010-07-30  Bruno Haible  <bruno@clisp.org>
24187
24188         mbrlen: Fix cross-compilation guess for AIX.
24189         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
24190         guess. Leftover from 2008-12-22.
24191
24192 2010-07-30  Bruno Haible  <bruno@clisp.org>
24193
24194         mbrtowc: Fix cross-compilation guess for AIX.
24195         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
24196         guess. Leftover from 2008-12-21.
24197
24198 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
24199
24200         init.sh: work around trap limitation of some shells
24201         * tests/init.sh (setup_): Move exit trap outside of shell function.
24202
24203 2010-07-29  Eric Blake  <eblake@redhat.com>
24204
24205         strtod: aid debugging
24206         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
24207         understanding why strtod is rejected.
24208
24209 2010-07-28  Bruno Haible  <bruno@clisp.org>
24210
24211         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
24212         * lib/unistr/u8-chr.c: Include <string.h>.
24213         * tests/unistr/test-u8-chr.c: Likewise.
24214         * tests/unistr/test-u16-chr.c: Likewise.
24215         * tests/unistr/test-u32-chr.c: Likewise.
24216         * tests/unistr/test-u8-strchr.c: Likewise.
24217         * tests/unistr/test-u16-strchr.c: Likewise.
24218         * tests/unistr/test-u32-strchr.c: Likewise.
24219         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
24220         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
24221         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
24222         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
24223
24224 2010-07-28  Bruno Haible  <bruno@clisp.org>
24225
24226         Use spaces for indentation, not tabs.
24227         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24228
24229 2010-07-27  Bruno Haible  <bruno@clisp.org>
24230
24231         mbspcasecmp: Fix function specification.
24232         * lib/string.in.h (mbspcasecmp): Fix specification comment.
24233         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
24234         Reported by Eric Blake <eblake@redhat.com>.
24235
24236 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
24237
24238         timespec: use cast and not conditional, as truncation isn't possible
24239         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
24240         instead of a conditional.  Comment about the situation in more detail.
24241         This undoes most of the 2009-10-29 patch.
24242
24243 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
24244
24245         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
24246         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
24247         * lib/unistr/u8-strchr.c: Likewise.
24248         * modules/unistr/u8-chr: Depend on memchr.
24249
24250         unistr/u*-strchr: add tests
24251         * modules/unistr/u8-strchr-tests: New file.
24252         * modules/unistr/u16-strchr-tests: New file.
24253         * modules/unistr/u32-strchr-tests: New file.
24254         * tests/unistr/test-strchr.h: New file.
24255         * tests/unistr/test-u8-strchr.c: New file.
24256         * tests/unistr/test-u16-strchr.c: New file.
24257         * tests/unistr/test-u32-strchr.c: New file.
24258
24259         unistr/u*-chr: test multibyte sequences more
24260         * tests/unistr/test-chr.h: Do complete testing of the characters in the
24261         test vector.
24262         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
24263         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
24264         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
24265
24266         unistr/u*-chr: test multibyte sequences
24267         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
24268
24269         unistr/u*-chr: prepare for multibyte tests
24270         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
24271         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
24272         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
24273         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
24274         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
24275         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
24276
24277 2010-07-18  Bruno Haible  <bruno@clisp.org>
24278
24279         unistr/u8-strchr: Optimize non-ASCII argument case.
24280         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
24281         because the first byte often matches anyway.
24282         Reported by Pádraig Brady <P@draigbrady.com>.
24283
24284 2010-07-15  Karl Berry  <karl@gnu.org>
24285
24286         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
24287
24288 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
24289
24290         getcwd: on Solaris, work better if ancestors are inaccessible
24291         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
24292         buffer and size, try again with a large buffer.  This works better
24293         on Solaris, since its getcwd succeeds even if the path to the root
24294         is inaccessible, and this is helpful in common cases such as .zfs
24295         hidden directories.  Problem reported by J Chapman Flack in
24296         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
24297         Use system getcwd if it's declared, not merely if it's partly
24298         working; use the partly-working test only to avoid needless effort
24299         if the system getcwd fails.
24300         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
24301         comment that was already obsolete and is now even more obsolete.
24302         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
24303         now might call strdup.
24304
24305 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
24306
24307         pthread: Add enough so that coreutils/src/sort.c compiles.
24308         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24309         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24310         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24311         Include <sys/types.h>, in case it defines pthread_t.
24312         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24313         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24314         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24315         (pthread_rwlockattr_t, pthread_spinlock_t):
24316         New typedefs, if HAVE_PTHREAD_T is not defined.
24317         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24318         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24319         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24320         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24321         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24322         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24323         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24324         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24325         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24326         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24327         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24328         New macros.
24329         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24330         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24331         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24332         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24333         (pthread_spin_unlock): New dummy functions.
24334         (pthread_create): Return EAGAIN; don't set errno.
24335         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24336         require AC_C_INLINE.
24337         * modules/pthread (Depends-on): Add sched, time.
24338         (pthread.h): Use AM_V_GEN.
24339
24340 2010-07-13  Bruno Haible  <bruno@clisp.org>
24341
24342         striconveh: Don't malloc memory if the result buffer is sufficient.
24343         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24344         buffer if its size is sufficient.
24345         Reported by Ludovic Courtès <ludo@gnu.org>.
24346
24347 2010-07-13  Bruno Haible  <bruno@clisp.org>
24348
24349         strtod: Add safety check.
24350         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24351
24352 2010-07-12  Bruno Haible  <bruno@clisp.org>
24353
24354         Unify tests that set gl_cv_func_ldexpl_no_libm.
24355         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24356         gl_FUNC_LDEXPL.
24357         (gl_FUNC_LDEXPL): Invoke it.
24358         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24359
24360 2010-07-12  Bruno Haible  <bruno@clisp.org>
24361
24362         Unify tests that set gl_cv_func_ldexp_no_libm.
24363         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
24364         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
24365         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
24366         (configure.ac): Simply invoke gl_FUNC_LDEXP.
24367         * modules/strtod (Files): Add m4/ldexp.m4.
24368
24369 2010-07-12  Bruno Haible  <bruno@clisp.org>
24370
24371         Unify tests that set gl_cv_func_frexpl_no_libm.
24372         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
24373         gl_FUNC_FREXPL_NO_LIBM.
24374         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
24375         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24376
24377 2010-07-12  Bruno Haible  <bruno@clisp.org>
24378
24379         Unify tests that set gl_cv_func_frexp_no_libm.
24380         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24381         gl_FUNC_FREXP_NO_LIBM.
24382         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24383         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24384
24385 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24386
24387         memcoll: clarify sizes versus lengths, document better, and tweak perf
24388         * lib/memcoll.c (strcoll_loop, memcoll0):
24389         Improve quality of descriptive comments.  Name variables
24390         consistently as to whether they are lengths (which do not include
24391         terminating null) versus sizes (which do).
24392         * lib/xmemcoll.c (xmemcoll0): Likewise.
24393         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24394         returned when s1size == 0; this is easier to compile and saves
24395         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24396
24397 2010-07-12  Bruno Haible  <bruno@clisp.org>
24398
24399         Tests for module '_Exit'.
24400         * modules/_Exit-tests: New file.
24401         * tests/test-_Exit.sh: New file.
24402         * tests/test-_Exit.c: New file.
24403
24404         New module '_Exit'.
24405         * lib/stdlib.in.h (__attribute__): New macro.
24406         (_Exit): New declaration.
24407         * lib/_Exit.c: New file.
24408         * m4/_Exit.m4: New file.
24409         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24410         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24411         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24412         * modules/_Exit: New file.
24413         * tests/test-stdlib-c++.cc (_Exit): Check signature.
24414         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
24415
24416 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24417
24418         strtod: make it more-accurate typically, and don't require libm
24419         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
24420         Include limits.h.  Don't include string.h.
24421         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
24422         (locale_isspace): New function, so that no casts are needed to
24423         check whether *s is a space.
24424         (ldexp): Provide an unused dummy if not available.
24425         (scale_radix_exp, parse_number, underlying_strtod): New functions.
24426         (strtod): Use them.  This implementation prefers to use the
24427         underlying strtod if available, falling back on our own code
24428         only to fix known bugs.  This is more likely to produce an
24429         accurate result.  Also, it avoids the use of libm functions.
24430         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
24431         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
24432         was absent, but it caused a test failure with coreutils.
24433         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
24434         with libm.
24435         * modules/strtod (Makefile.am, Link): libm is no longer needed.
24436         * modules/strtod-tests (Makefile.am): Likewise.
24437
24438 2010-07-11  Pádraig Brady  <P@draigBrady.com>
24439             Bruno Haible  <bruno@clisp.org>
24440
24441         unistr/u8-strchr: Optimize ASCII argument case.
24442         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
24443
24444 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24445
24446         (x)memcoll: minor tweaks
24447         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
24448         is after the type that it qualifies.
24449         (memcoll0): Likewise.
24450         * lib/memcoll.h (memcoll0): Likewise.
24451         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
24452         * lib/xmemcoll.h (xmemcoll0): Likewise.
24453         * lib/memcoll.c (memcoll0): Correct the comment.  This function
24454         differs from memcoll in that the NUL byte is part of the argument.
24455         Omit the abort-checks, as performance is a real issue here.  Plus,
24456         the checks were wrong anyway (an off-by-one error).  Omit local
24457         variable 'diff', as it's a bit clearer that way.
24458         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
24459         no longer needed.
24460
24461 2010-07-08  Chen Guo <chenguo4@yahoo.com>
24462
24463         (x)memcoll: speedup when input is known to be NUL delimited
24464         * lib/memcoll.c: Include stdlib.
24465         (memcoll0): New function.
24466         (strcoll_loop): New function, refactored for use in both memcoll
24467         and memcoll0.
24468         * lib/memcoll.h (memcoll0): Add prototype.
24469         * lib/xmemcoll.c (xmemcoll0): New function.
24470         (collate_error): New function, refactored for use in both xmemcoll
24471         and xmemcoll0.
24472         * lib/xmemcoll.h (xmemcoll0): Add prototype.
24473         * m4/memcoll.m4: add inline invocation.
24474
24475 2010-07-06  Pádraig Brady  <P@draigBrady.com>
24476
24477         * build-aux/bootstrap: Remove any local translations
24478         from the translation project synchronization directory,
24479         so that local only translations are not distributed.
24480
24481 2010-07-04  Bruno Haible  <bruno@clisp.org>
24482
24483         fsusage: Clarify which code applies to which platforms.
24484         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24485         platform.
24486         * lib/fsusage.c (get_fs_usage): Likewise.
24487
24488 2010-07-04  Bruno Haible  <bruno@clisp.org>
24489
24490         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24491         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24492         Reported by Martin Lambers <marlam@marlam.de>.
24493
24494 2010-07-04  Jim Meyering  <meyering@redhat.com>
24495
24496         hash: once again explicitly disallow insertion of NULL
24497         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24498         inserting a NULL pointer cannot work with these functions.
24499         Add a comment with details.
24500         This reverts part of the 2010-07-01 commit, 5bef1a35
24501         "hash: extend module to deal with non-pointer keys".
24502
24503 2010-07-01  Bruno Haible  <bruno@clisp.org>
24504
24505         stdbool: Update doc.
24506         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24507         Info from Christian Weisgerber <naddy@mips.inka.de>.
24508
24509 2010-07-01  Jim Meyering  <meyering@redhat.com>
24510
24511         hash: extend module to deal with non-pointer keys
24512         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24513         but that allows insertion of non-pointer entries.
24514         Do not disallow an ENTRY value of NULL.
24515         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24516         * lib/hash.h (hash_insert0): Declare.
24517
24518 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24519
24520         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24521         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24522         not present (i.e. with autoconf 2.59 and when using gettextize, not
24523         gnulib), require AC_GNU_SOURCE instead.
24524
24525 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24526
24527         idpriv-drop: Fix tests.
24528         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24529         not to the test-idpriv-droptemp program.
24530
24531 2010-06-29  Bruno Haible  <bruno@clisp.org>
24532
24533         string: Fix syntax error with g++ 2.96.
24534         * lib/string.in.h (__pure__): Remove definition.
24535         (_GL_ATTRIBUTE_PURE): New macro.
24536         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24537         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24538         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24539
24540 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24541
24542         unitypes: Fix bug introduced on 2010-05-18.
24543         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24544
24545 2010-06-22  Eric Blake  <eblake@redhat.com>
24546
24547         memmem: slight optimization
24548         * lib/str-two-way.h (critical_factorization): Update comments.
24549         Reduce work during factorization phase.
24550         Reported by Carlos Bueno <carlos@bueno.org>.
24551
24552 2010-06-21  Bruno Haible  <bruno@clisp.org>
24553
24554         Fix HAVE_CALLOC_POSIX misnomer.
24555         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24556         !HAVE_CALLOC_POSIX.
24557         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24558         HAVE_CALLOC_POSIX.
24559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24560         instead of HAVE_CALLOC_POSIX.
24561         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24562         HAVE_CALLOC_POSIX.
24563
24564         Use modern idiom for calloc() replacement.
24565         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24566         AC_FUNC_CALLOC.
24567         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24568         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24569         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24570         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24571         (gl_REPLACE_CALLOC): New macro.
24572
24573 2010-06-21  Bruno Haible  <bruno@clisp.org>
24574
24575         Fix HAVE_REALLOC_POSIX misnomer.
24576         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24577         !HAVE_REALLOC_POSIX.
24578         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24579         HAVE_REALLOC_POSIX.
24580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24581         instead of HAVE_REALLOC_POSIX.
24582         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24583         HAVE_REALLOC_POSIX.
24584
24585         Use modern idiom for realloc() replacement.
24586         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24587         AC_FUNC_REALLOC.
24588         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24589         Autoconf's AC_FUNC_REALLOC.
24590         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24591         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24592         (gl_REPLACE_REALLOC): New macro.
24593         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24594
24595 2010-06-21  Bruno Haible  <bruno@clisp.org>
24596
24597         Fix HAVE_MALLOC_POSIX misnomer.
24598         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24599         !HAVE_MALLOC_POSIX.
24600         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24601         HAVE_MALLOC_POSIX.
24602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24603         instead of HAVE_MALLOC_POSIX.
24604         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24605         HAVE_MALLOC_POSIX.
24606
24607         Use modern idiom for malloc() replacement.
24608         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24609         AC_FUNC_MALLOC.
24610         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24611         Autoconf's AC_FUNC_MALLOC.
24612         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24613         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24614         (gl_REPLACE_MALLOC): New macro.
24615         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24616
24617 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24618
24619         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24620         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24621         This macro takes 3 arguments, not 4.
24622
24623 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24624
24625         ipv6: fix detection under mingw
24626         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24627         in6_addr.
24628
24629 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24630
24631         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24632         that strtod() works when cross-compiling to a glibc version known
24633         to work.
24634
24635 2010-06-15  Bruno Haible  <bruno@clisp.org>
24636
24637         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24638
24639 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24640
24641         select: Correct timeout.
24642         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24643
24644 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24645
24646         git-version-gen: init shell var to avoid env var influence
24647         * build-aux/git-version-gen (v): Init shell var to empty.
24648
24649 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24650
24651         priv-set: Don't assume that priv.h exists merely because getppriv does.
24652         See Jan Andersen's bug report about AIX 5L in
24653         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24654         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24655         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24656         * lib/priv-set.h: Likewise.
24657         * tests/test-priv-set.c: Likewise.
24658
24659 2010-06-13  Bruno Haible  <bruno@clisp.org>
24660
24661         relocatable: Make it easier to test whether to install wrappers.
24662         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24663         RELOCATABLE_VIA_WRAPPER.
24664
24665 2010-06-13  Bruno Haible  <bruno@clisp.org>
24666
24667         gnulib-tool: Display specified modules and dependencies differently.
24668         * gnulib-tool (func_show_module_list): New function.
24669         (func_import, func_create_testdir): Invoke it.
24670         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24671
24672 2010-06-13  Bruno Haible  <bruno@clisp.org>
24673
24674         gnulib-tool: Align code of func_import and func_create_testdir.
24675         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24676         specified_modules.
24677
24678 2010-06-12  Jim Meyering  <meyering@redhat.com>
24679
24680         test-inttostr: avoid spurious failure on Solaris 9
24681         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24682         to accept "%ju".  Reported by Bruno Haible.
24683
24684 2010-06-11  Jim Meyering  <meyering@redhat.com>
24685
24686         test-sys_socket: mark variables as used more readably
24687         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24688         as "used" explicitly via (void) statement casts.  This is more
24689         readable than using them in an artificial return expression.
24690         Suggestion from Bruno Haible.
24691
24692 2010-06-11  Bruno Haible  <bruno@clisp.org>
24693
24694         Avoid some more warnings from "gcc -Wwrite-strings".
24695         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24696         to 'const char *'.
24697         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24698         * tests/test-c-strcasestr.c (main): Likewise.
24699         * tests/test-mbscasestr1.c (main): Likewise.
24700         * tests/test-mbscasestr2.c (main): Likewise.
24701         * tests/test-memmem.c (main): Likewise.
24702         * tests/test-strstr.c (main): Likewise.
24703         * tests/test-strcasestr.c (main): Likewise.
24704
24705 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24706
24707         init.sh: change framework_failure_ to fail with status 99, not 1
24708         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24709         automake's parallel-tests rule that this is an unexpected failure,
24710         even if the test is listed in XFAIL_TESTS.
24711
24712 2010-06-11  Jim Meyering  <meyering@redhat.com>
24713
24714         test-inttostr: avoid warnings about 4-6KB literal strings
24715         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24716         Include "macros.h", for its definition of ASSERT.
24717         (CK): s/assert/ASSERT/
24718         * modules/inttostr-tests (Files): Add macros.h.
24719
24720         init.sh: don't use $ME_ or skip_ before they are defined
24721         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24722         their first uses.  Also hoist their companions: warn_, fail_,
24723         framework_failure_, $stderr_fileno.  Prompted by a patch from
24724         Stefano Lattarini.
24725
24726         test-sys_socket: avoid set-but-not-used warnings from gcc
24727         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24728         avoid warning about set-but-not-used variables.
24729
24730         test-xvasprintf: avoid 'const' discard warnings
24731         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24732         "const" when assigning from literal strings.
24733         (test_xasprintf): Add "void" in function argument list to placate
24734         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24735
24736         tests: avoid compilation warnings in argmatch and exclude tests...
24737         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24738         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24739         Since it always exits, declare with the "noreturn" attribute.
24740         * tests/test-argmatch.c: Likewise.
24741
24742         tests: avoid 'const' discard warnings in mbsstr tests
24743         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24744         * tests/test-mbsstr2.c (main): Likewise.
24745
24746         test-verify: avoid warning from gcc's -Wmissing-declarations
24747         * tests/test-verify.c (function): Declare to be static.
24748
24749         test-inttostr.c: include <string.h> for use of strcmp
24750         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24751
24752         test-linkat: avoid failed assertion on "other" architectures
24753         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24754         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24755         sparc: https://bugs.launchpad.net/bugs/591968
24756
24757 2010-06-11  Jim Meyering  <meyering@redhat.com>
24758
24759         printf.m4: avoid autoconf's "Expanded Before Required" warning
24760         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24761         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24762         autoconf warning.
24763
24764 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24765
24766         Replacement header templates are now named with ".in", not "_".
24767         * doc/gnulib-intro.texi: Correct.
24768
24769 2010-06-10  Jim Meyering  <meyering@redhat.com>
24770
24771         inttostr-tests: depend on snprintf, not snprintf-posix
24772         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24773         snprintf-posix, to avoid this aclocal failure:
24774           missing file gnulib-tests/vasnprintf.c
24775           configure.ac:45: error: expected source file, required through \
24776           AC_LIBSOURCES, not found
24777
24778 2010-06-10  Jim Meyering  <meyering@redhat.com>
24779
24780         inttostr: add a new function, inttostr, and tests
24781         The namesake function was not available.  The existence of the
24782         template file, inttostr.c makes its addition nontrivial.
24783         * lib/anytostr.c: Rename from inttostr.c.
24784         (anytostr): Rename from inttostr.
24785         * lib/inttostr.c: New file.
24786         * modules/inttostr (Files): Add anytostr.c.
24787         (Makefile.am): Set lib_SOURCES instead of ...
24788         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24789         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24790         * lib/offtostr.c: Likewise.
24791         * lib/uinttostr.c: Likewise.
24792         * lib/umaxtostr.c: Likewise.
24793         * modules/inttostr-tests: New file.
24794         * tests/test-inttostr.c: New file.  Test these functions.
24795
24796 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24797             Bruno Haible  <bruno@clisp.org>
24798
24799         Add "Extending Gnulib" chapter to manual.
24800         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24801         chapter.
24802         (Extending Gnulib): New chapter.
24803         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24804         chapter.
24805
24806 2010-06-09  Bruno Haible  <bruno@clisp.org>
24807
24808         Avoid relocwrapper link errors due to gnulib replacement functions.
24809         * lib/areadlink.c: Use the system's malloc, realloc functions.
24810         (areadlink): Set errno to ENOMEM explicitly.
24811         * modules/areadlink (Depends-on): Remove malloc-posix.
24812         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24813
24814 2010-06-09  Bruno Haible  <bruno@clisp.org>
24815
24816         Avoid relocwrapper link errors due to gnulib replacement functions.
24817         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24818         * lib/malloca.c: Likewise.
24819         * lib/relocatable.c: Likewise.
24820         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24821         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24822         * lib/setenv.c: Use the system's malloc, realloc functions.
24823         * lib/strerror.c: Use the system's sprintf function.
24824         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24825
24826 2010-06-04  Bruno Haible  <bruno@clisp.org>
24827
24828         Prefer documented low-level autoconf macro names.
24829         * m4/lib-link.m4: Use m4_translit instead of translit.
24830         * m4/environ.m4: Likewise.
24831         * m4/mathfunc.m4: Likewise.
24832         * m4/onceonly.m4: Likewise.
24833         * m4/stdint.m4: Likewise.
24834         Suggested by Eric Blake.
24835
24836 2010-06-04  Martin Lambers  <marlam@marlam.de>
24837             Bruno Haible  <bruno@clisp.org>
24838
24839         havelib: Allow library names with '+' characters.
24840         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24841         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24842
24843 2010-06-09  Bruno Haible  <bruno@clisp.org>
24844
24845         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24846         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24847         realloc failed.
24848
24849 2010-06-08  Peter Simons  <simons@cryp.to>
24850
24851         maint.mk: make the news-check rule more configurable
24852         * top/maint.mk (news-check-lines-spec): New variable.
24853         (news-check): Use "sed -n 1,10p" in place of "head".
24854
24855 2010-06-07  Jim Meyering  <meyering@redhat.com>
24856
24857         do-release-commit-and-tag: fix typo in --help
24858         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24859
24860         regex: avoid new dead-code warning with gcc-4.6.0
24861         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24862         if-block containing a while-loop.  It's been unused for at least
24863         5 years.
24864
24865 2010-06-05  Bruno Haible  <bruno@clisp.org>
24866
24867         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24868         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24869
24870 2010-06-04  Bruno Haible  <bruno@clisp.org>
24871
24872         Update to GNU gettext 0.18.1.
24873         * modules/gettext (configure.ac): Require gettext infrastructure from
24874         version 0.18.1.
24875
24876 2010-06-03  Bruno Haible  <bruno@clisp.org>
24877
24878         Don't use AC_LIBOBJ with file names in subdirectories.
24879         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24880         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24881         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24882         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24883         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24884         gl_LIBUNISTRING_LIBSOURCE.
24885         (Makefile.am): Augment lib_SOURCES here, conditionally.
24886         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24887
24888 2010-06-03  Bruno Haible  <bruno@clisp.org>
24889
24890         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24891         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24892         expansion does not end with a newline.
24893         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24894         unnecessary newline.
24895
24896 2010-06-03  Bruno Haible  <bruno@clisp.org>
24897
24898         Reduce dependencies.
24899         * tests/test-quotearg.h: New file, extracted from
24900         tests/test-quotearg.c.
24901         * tests/test-quotearg-simple.c: New file, extracted from
24902         tests/test-quotearg.c.
24903         * tests/test-quotearg.c: Don't include <ctype.h>.
24904         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24905         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24906         use_quote_double_quotes, use_quotearg_colon): Moved to
24907         tests/test-quotearg.h.
24908         (results_g, flag_results, custom_quotes, custom_results): Moved
24909         to tests/test-quotearg-simple.c.
24910         (main): Moved the part that does not depend on gettext to
24911         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24912         performed.
24913         * modules/quotearg-simple: New file.
24914         * modules/quotearg-simple-tests: New file.
24915         * modules/quotearg (Depends-on): Add quotearg-simple.
24916         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24917         (Files): Add tests/test-quotearg.h.
24918         Reported by Paolo Bonzini.
24919
24920 2010-06-03  Bruno Haible  <bruno@clisp.org>
24921
24922         Reduce dependencies.
24923         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24924
24925 2010-06-03  Bruno Haible  <bruno@clisp.org>
24926
24927         time: Undefine more broken macros.
24928         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24929         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24930         Reported by Eric Blake.
24931
24932 2010-06-03  Bruno Haible  <bruno@clisp.org>
24933
24934         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24935         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24936         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24937         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24938         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24939         Reported by Ludovic Courtès <ludo@gnu.org>.
24940
24941 2010-06-02  Eric Blake  <eblake@redhat.com>
24942
24943         time: work with mingw + pthreads-win32 library
24944         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24945         if timespec is defined only in pthread.h.
24946         * modules/time (Makefile.am): Substitute it.
24947         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24948         <pthread.h>, when needed.
24949         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24950         from the library.
24951
24952 2010-05-31  Bruno Haible  <bruno@clisp.org>
24953
24954         Avoid expanding two macros in the wrong order.
24955         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24956         gl_LIBUNISTRING if it is defined.
24957         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24958         autoconf >= 2.64.
24959         Reported by Ludovic Courtès <ludo@gnu.org>.
24960
24961 2010-05-27  Jim Meyering  <meyering@redhat.com>
24962
24963         maint.mk: also prohibit "#undef" of always-defined symbols
24964         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24965         Allow more than one space before the symbol name.
24966         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24967         the regexp uses alternation.
24968
24969 2010-05-26  Eric Blake  <eblake@redhat.com>
24970
24971         maint.mk: avoid echo -e
24972         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24973         Convert all uses of echo -* to printf.
24974         Reported by Matthias Bolte.
24975
24976 2010-05-25  Bruno Haible  <bruno@clisp.org>
24977
24978         Update to GNU gettext 0.18, part 2.
24979         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24980         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24981
24982 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24983
24984         Add missing include in test-pwrite.c.
24985         * tests/test-pwrite.c: Include string.h, for strcmp.
24986
24987 2010-05-24  Bruno Haible  <bruno@clisp.org>
24988
24989         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24990
24991 2010-05-24  Bruno Haible  <bruno@clisp.org>
24992
24993         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24994         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24995         iconveh_error argument.
24996         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24997         U_STRCONV_TO_LOCALE.
24998         * lib/unistr/u16-strcoll.c: Likewise.
24999         * lib/unistr/u32-strcoll.c: Likewise.
25000         * modules/unistr/u8-strcoll (Depends-on): Add
25001         uniconv/u8-strconv-to-enc, localcharset. Remove
25002         uniconv/u8-strconv-to-locale.
25003         (configure.ac): Bump version number.
25004         * modules/unistr/u16-strcoll (Depends-on): Add
25005         uniconv/u16-strconv-to-enc, localcharset. Remove
25006         uniconv/u16-strconv-to-locale.
25007         (configure.ac): Bump version number.
25008         * modules/unistr/u32-strcoll (Depends-on): Add
25009         uniconv/u32-strconv-to-enc, localcharset. Remove
25010         uniconv/u32-strconv-to-locale.
25011         (configure.ac): Bump version number.
25012
25013 2010-05-24  Bruno Haible  <bruno@clisp.org>
25014
25015         Avoid a test failure on NetBSD 5.0.
25016         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25017         an iconv() bug.
25018
25019 2010-05-24  Bruno Haible  <bruno@clisp.org>
25020
25021         Adjust #include directive style.
25022         * modules/regex (Includes): Recommend to write <regex.h>.
25023
25024 2010-05-24  Bruno Haible  <bruno@clisp.org>
25025
25026         regex: Don't require alloca.
25027         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25028         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25029         only inside if (0).
25030
25031 2010-05-23  Jim Meyering  <meyering@redhat.com>
25032
25033         test-renameat.c: include <sys/stat.h>
25034         * tests/test-renameat.c: Include <sys/stat.h>; required for
25035         definition of S_IS* macros.
25036
25037 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25038
25039         Update maintainer documentation for 'relocatable-prog' module.
25040         * doc/relocatable-maint.texi: Update.
25041         Comments by Bruno Haible.
25042
25043 2010-05-23  Bruno Haible  <bruno@clisp.org>
25044
25045         git-merge-changelog: Enable --split-merged-entry by default.
25046         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25047         (usage): Don't mention this option any more.
25048         Reported by Ralf Wildenhues.
25049
25050 2010-05-23  Jim Meyering  <meyering@redhat.com>
25051
25052         test-pwrite: do not leave behind a test file named "out"
25053         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25054         The trivial-looking use of init.sh is really necessary.
25055         It ensures that the temporary file, "out", is created in
25056         a temporary directory, and removed upon termination.
25057         * tests/test-pwrite.sh: Re-add file.
25058         * modules/pwrite-tests: Reference it.
25059
25060 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25061
25062         Fix output redirection buglet in init.sh.
25063         * tests/init.sh: Fix redirection of stderr.
25064
25065 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25066
25067         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25068
25069 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25070
25071         * modules/valgrind-tests: New file.
25072         * m4/valgrind-tests.m4: New file.
25073         * doc/valgrind-tests.texi: New file.
25074         * doc/gnulib.texi (Running self-tests under valgrind): New
25075         section.
25076
25077 2010-05-19  Bruno Haible  <bruno@clisp.org>
25078
25079         Clean up dead code in recent commit.
25080         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25081         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25082         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25083         Suggested by Paolo Bonzini.
25084
25085 2010-05-19  Bruno Haible  <bruno@clisp.org>
25086
25087         Avoid valgrind error reports from libunistring.
25088         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25089         * modules/libunistring (Files): Add it.
25090         * modules/libunistring-optional (Files): Likewise.
25091
25092 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25093             Bruno Haible  <bruno@clisp.org>
25094
25095         New module 'libunistring-optional'.
25096         * modules/libunistring-optional: New file.
25097         * m4/libunistring-base.m4: New file.
25098         * m4/libunistring-optional.m4: New file.
25099         * lib/unicase.in.h: Renamed from lib/unicase.h.
25100         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25101         * lib/unictype.in.h: Renamed from lib/unictype.h.
25102         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25103         * lib/uniname.in.h: Renamed from lib/uniname.h.
25104         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25105         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25106         * lib/unistr.in.h: Renamed from lib/unistr.h.
25107         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25108         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25109         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25110         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25111         gl_LIBUNISTRING. If the library was found, determine the installed
25112         version and set LIBUNISTRING_VERSION.
25113         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25114         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25115         handle a configuration option --with-included-libunistring.
25116         * modules/libunistring (Files): Add m4/absolute-header.m4.
25117         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25118         Add m4/libunistring-base.m4.
25119         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25120         (Makefile.am): Build unicase.h from unicase.in.h.
25121         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25122         Add m4/libunistring-base.m4.
25123         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25124         (Makefile.am): Build uniconv.h from uniconv.in.h.
25125         * modules/unictype/base (Files): Use unictype.in.h instead of
25126         unictype.h. Add m4/libunistring-base.m4.
25127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25128         (Makefile.am): Build unictype.h from unictype.in.h.
25129         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25130         Add m4/libunistring-base.m4.
25131         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25132         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25133         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25134         Add m4/libunistring-base.m4.
25135         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25136         (Makefile.am): Build uniname.h from uniname.in.h.
25137         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25138         Add m4/libunistring-base.m4.
25139         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25140         (Makefile.am): Build uninorm.h from uninorm.in.h.
25141         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25142         unistdio.h. Add m4/libunistring-base.m4.
25143         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25144         (Makefile.am): Build unistdio.h from unistdio.in.h.
25145         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25146         Add m4/libunistring-base.m4.
25147         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25148         (Makefile.am): Build unistr.h from unistr.in.h.
25149         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25150         Add m4/libunistring-base.m4.
25151         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25152         (Makefile.am): Build unitypes.h from unitypes.in.h.
25153         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25154         Add m4/libunistring-base.m4.
25155         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25156         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25157         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25158         uniwidth.h. Add m4/libunistring-base.m4.
25159         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25160         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25161         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25162         instead of augmenting lib_SOURCES.
25163         * modules/unicase/empty-suffix-context: Likewise.
25164         * modules/unicase/locale-language: Likewise.
25165         * modules/unicase/tolower: Likewise.
25166         * modules/unicase/totitle: Likewise.
25167         * modules/unicase/toupper: Likewise.
25168         * modules/unicase/u8-casecmp: Likewise.
25169         * modules/unicase/u8-casecoll: Likewise.
25170         * modules/unicase/u8-casefold: Likewise.
25171         * modules/unicase/u8-casexfrm: Likewise.
25172         * modules/unicase/u8-ct-casefold: Likewise.
25173         * modules/unicase/u8-ct-tolower: Likewise.
25174         * modules/unicase/u8-ct-totitle: Likewise.
25175         * modules/unicase/u8-ct-toupper: Likewise.
25176         * modules/unicase/u8-is-cased: Likewise.
25177         * modules/unicase/u8-is-casefolded: Likewise.
25178         * modules/unicase/u8-is-lowercase: Likewise.
25179         * modules/unicase/u8-is-titlecase: Likewise.
25180         * modules/unicase/u8-is-uppercase: Likewise.
25181         * modules/unicase/u8-prefix-context: Likewise.
25182         * modules/unicase/u8-suffix-context: Likewise.
25183         * modules/unicase/u8-tolower: Likewise.
25184         * modules/unicase/u8-totitle: Likewise.
25185         * modules/unicase/u8-toupper: Likewise.
25186         * modules/unicase/u16-casecmp: Likewise.
25187         * modules/unicase/u16-casecoll: Likewise.
25188         * modules/unicase/u16-casefold: Likewise.
25189         * modules/unicase/u16-casexfrm: Likewise.
25190         * modules/unicase/u16-ct-casefold: Likewise.
25191         * modules/unicase/u16-ct-tolower: Likewise.
25192         * modules/unicase/u16-ct-totitle: Likewise.
25193         * modules/unicase/u16-ct-toupper: Likewise.
25194         * modules/unicase/u16-is-cased: Likewise.
25195         * modules/unicase/u16-is-casefolded: Likewise.
25196         * modules/unicase/u16-is-lowercase: Likewise.
25197         * modules/unicase/u16-is-titlecase: Likewise.
25198         * modules/unicase/u16-is-uppercase: Likewise.
25199         * modules/unicase/u16-prefix-context: Likewise.
25200         * modules/unicase/u16-suffix-context: Likewise.
25201         * modules/unicase/u16-tolower: Likewise.
25202         * modules/unicase/u16-totitle: Likewise.
25203         * modules/unicase/u16-toupper: Likewise.
25204         * modules/unicase/u32-casecmp: Likewise.
25205         * modules/unicase/u32-casecoll: Likewise.
25206         * modules/unicase/u32-casefold: Likewise.
25207         * modules/unicase/u32-casexfrm: Likewise.
25208         * modules/unicase/u32-ct-casefold: Likewise.
25209         * modules/unicase/u32-ct-tolower: Likewise.
25210         * modules/unicase/u32-ct-totitle: Likewise.
25211         * modules/unicase/u32-ct-toupper: Likewise.
25212         * modules/unicase/u32-is-cased: Likewise.
25213         * modules/unicase/u32-is-casefolded: Likewise.
25214         * modules/unicase/u32-is-lowercase: Likewise.
25215         * modules/unicase/u32-is-titlecase: Likewise.
25216         * modules/unicase/u32-is-uppercase: Likewise.
25217         * modules/unicase/u32-prefix-context: Likewise.
25218         * modules/unicase/u32-suffix-context: Likewise.
25219         * modules/unicase/u32-tolower: Likewise.
25220         * modules/unicase/u32-totitle: Likewise.
25221         * modules/unicase/u32-toupper: Likewise.
25222         * modules/unicase/ulc-casecmp: Likewise.
25223         * modules/unicase/ulc-casecoll: Likewise.
25224         * modules/unicase/ulc-casexfrm: Likewise.
25225         * modules/uniconv/u8-conv-from-enc: Likewise.
25226         * modules/uniconv/u8-conv-to-enc: Likewise.
25227         * modules/uniconv/u8-strconv-from-enc: Likewise.
25228         * modules/uniconv/u8-strconv-from-locale: Likewise.
25229         * modules/uniconv/u8-strconv-to-enc: Likewise.
25230         * modules/uniconv/u8-strconv-to-locale: Likewise.
25231         * modules/uniconv/u16-conv-from-enc: Likewise.
25232         * modules/uniconv/u16-conv-to-enc: Likewise.
25233         * modules/uniconv/u16-strconv-from-enc: Likewise.
25234         * modules/uniconv/u16-strconv-from-locale: Likewise.
25235         * modules/uniconv/u16-strconv-to-enc: Likewise.
25236         * modules/uniconv/u16-strconv-to-locale: Likewise.
25237         * modules/uniconv/u32-conv-from-enc: Likewise.
25238         * modules/uniconv/u32-conv-to-enc: Likewise.
25239         * modules/uniconv/u32-strconv-from-enc: Likewise.
25240         * modules/uniconv/u32-strconv-from-locale: Likewise.
25241         * modules/uniconv/u32-strconv-to-enc: Likewise.
25242         * modules/uniconv/u32-strconv-to-locale: Likewise.
25243         * modules/unictype/bidicategory-byname: Likewise.
25244         * modules/unictype/bidicategory-name: Likewise.
25245         * modules/unictype/bidicategory-of: Likewise.
25246         * modules/unictype/bidicategory-test: Likewise.
25247         * modules/unictype/block-list: Likewise.
25248         * modules/unictype/block-test: Likewise.
25249         * modules/unictype/category-C: Likewise.
25250         * modules/unictype/category-Cc: Likewise.
25251         * modules/unictype/category-Cf: Likewise.
25252         * modules/unictype/category-Cn: Likewise.
25253         * modules/unictype/category-Co: Likewise.
25254         * modules/unictype/category-Cs: Likewise.
25255         * modules/unictype/category-L: Likewise.
25256         * modules/unictype/category-Ll: Likewise.
25257         * modules/unictype/category-Lm: Likewise.
25258         * modules/unictype/category-Lo: Likewise.
25259         * modules/unictype/category-Lt: Likewise.
25260         * modules/unictype/category-Lu: Likewise.
25261         * modules/unictype/category-M: Likewise.
25262         * modules/unictype/category-Mc: Likewise.
25263         * modules/unictype/category-Me: Likewise.
25264         * modules/unictype/category-Mn: Likewise.
25265         * modules/unictype/category-N: Likewise.
25266         * modules/unictype/category-Nd: Likewise.
25267         * modules/unictype/category-Nl: Likewise.
25268         * modules/unictype/category-No: Likewise.
25269         * modules/unictype/category-P: Likewise.
25270         * modules/unictype/category-Pc: Likewise.
25271         * modules/unictype/category-Pd: Likewise.
25272         * modules/unictype/category-Pe: Likewise.
25273         * modules/unictype/category-Pf: Likewise.
25274         * modules/unictype/category-Pi: Likewise.
25275         * modules/unictype/category-Po: Likewise.
25276         * modules/unictype/category-Ps: Likewise.
25277         * modules/unictype/category-S: Likewise.
25278         * modules/unictype/category-Sc: Likewise.
25279         * modules/unictype/category-Sk: Likewise.
25280         * modules/unictype/category-Sm: Likewise.
25281         * modules/unictype/category-So: Likewise.
25282         * modules/unictype/category-Z: Likewise.
25283         * modules/unictype/category-Zl: Likewise.
25284         * modules/unictype/category-Zp: Likewise.
25285         * modules/unictype/category-Zs: Likewise.
25286         * modules/unictype/category-and: Likewise.
25287         * modules/unictype/category-and-not: Likewise.
25288         * modules/unictype/category-byname: Likewise.
25289         * modules/unictype/category-name: Likewise.
25290         * modules/unictype/category-none: Likewise.
25291         * modules/unictype/category-of: Likewise.
25292         * modules/unictype/category-or: Likewise.
25293         * modules/unictype/category-test: Likewise.
25294         * modules/unictype/combining-class: Likewise.
25295         * modules/unictype/ctype-alnum: Likewise.
25296         * modules/unictype/ctype-alpha: Likewise.
25297         * modules/unictype/ctype-blank: Likewise.
25298         * modules/unictype/ctype-cntrl: Likewise.
25299         * modules/unictype/ctype-digit: Likewise.
25300         * modules/unictype/ctype-graph: Likewise.
25301         * modules/unictype/ctype-lower: Likewise.
25302         * modules/unictype/ctype-print: Likewise.
25303         * modules/unictype/ctype-punct: Likewise.
25304         * modules/unictype/ctype-space: Likewise.
25305         * modules/unictype/ctype-upper: Likewise.
25306         * modules/unictype/ctype-xdigit: Likewise.
25307         * modules/unictype/decimal-digit: Likewise.
25308         * modules/unictype/digit: Likewise.
25309         * modules/unictype/mirror: Likewise.
25310         * modules/unictype/numeric: Likewise.
25311         * modules/unictype/property-alphabetic: Likewise.
25312         * modules/unictype/property-ascii-hex-digit: Likewise.
25313         * modules/unictype/property-bidi-arabic-digit: Likewise.
25314         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25315         * modules/unictype/property-bidi-block-separator: Likewise.
25316         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25317         * modules/unictype/property-bidi-common-separator: Likewise.
25318         * modules/unictype/property-bidi-control: Likewise.
25319         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25320         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25321         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25322         * modules/unictype/property-bidi-european-digit: Likewise.
25323         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25324         * modules/unictype/property-bidi-left-to-right: Likewise.
25325         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25326         * modules/unictype/property-bidi-other-neutral: Likewise.
25327         * modules/unictype/property-bidi-pdf: Likewise.
25328         * modules/unictype/property-bidi-segment-separator: Likewise.
25329         * modules/unictype/property-bidi-whitespace: Likewise.
25330         * modules/unictype/property-byname: Likewise.
25331         * modules/unictype/property-combining: Likewise.
25332         * modules/unictype/property-composite: Likewise.
25333         * modules/unictype/property-currency-symbol: Likewise.
25334         * modules/unictype/property-dash: Likewise.
25335         * modules/unictype/property-decimal-digit: Likewise.
25336         * modules/unictype/property-default-ignorable-code-point: Likewise.
25337         * modules/unictype/property-deprecated: Likewise.
25338         * modules/unictype/property-diacritic: Likewise.
25339         * modules/unictype/property-extender: Likewise.
25340         * modules/unictype/property-format-control: Likewise.
25341         * modules/unictype/property-grapheme-base: Likewise.
25342         * modules/unictype/property-grapheme-extend: Likewise.
25343         * modules/unictype/property-grapheme-link: Likewise.
25344         * modules/unictype/property-hex-digit: Likewise.
25345         * modules/unictype/property-hyphen: Likewise.
25346         * modules/unictype/property-id-continue: Likewise.
25347         * modules/unictype/property-id-start: Likewise.
25348         * modules/unictype/property-ideographic: Likewise.
25349         * modules/unictype/property-ids-binary-operator: Likewise.
25350         * modules/unictype/property-ids-trinary-operator: Likewise.
25351         * modules/unictype/property-ignorable-control: Likewise.
25352         * modules/unictype/property-iso-control: Likewise.
25353         * modules/unictype/property-join-control: Likewise.
25354         * modules/unictype/property-left-of-pair: Likewise.
25355         * modules/unictype/property-line-separator: Likewise.
25356         * modules/unictype/property-logical-order-exception: Likewise.
25357         * modules/unictype/property-lowercase: Likewise.
25358         * modules/unictype/property-math: Likewise.
25359         * modules/unictype/property-non-break: Likewise.
25360         * modules/unictype/property-not-a-character: Likewise.
25361         * modules/unictype/property-numeric: Likewise.
25362         * modules/unictype/property-other-alphabetic: Likewise.
25363         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
25364         * modules/unictype/property-other-grapheme-extend: Likewise.
25365         * modules/unictype/property-other-id-continue: Likewise.
25366         * modules/unictype/property-other-id-start: Likewise.
25367         * modules/unictype/property-other-lowercase: Likewise.
25368         * modules/unictype/property-other-math: Likewise.
25369         * modules/unictype/property-other-uppercase: Likewise.
25370         * modules/unictype/property-paired-punctuation: Likewise.
25371         * modules/unictype/property-paragraph-separator: Likewise.
25372         * modules/unictype/property-pattern-syntax: Likewise.
25373         * modules/unictype/property-pattern-white-space: Likewise.
25374         * modules/unictype/property-private-use: Likewise.
25375         * modules/unictype/property-punctuation: Likewise.
25376         * modules/unictype/property-quotation-mark: Likewise.
25377         * modules/unictype/property-radical: Likewise.
25378         * modules/unictype/property-sentence-terminal: Likewise.
25379         * modules/unictype/property-soft-dotted: Likewise.
25380         * modules/unictype/property-space: Likewise.
25381         * modules/unictype/property-terminal-punctuation: Likewise.
25382         * modules/unictype/property-test: Likewise.
25383         * modules/unictype/property-titlecase: Likewise.
25384         * modules/unictype/property-unassigned-code-value: Likewise.
25385         * modules/unictype/property-unified-ideograph: Likewise.
25386         * modules/unictype/property-uppercase: Likewise.
25387         * modules/unictype/property-variation-selector: Likewise.
25388         * modules/unictype/property-white-space: Likewise.
25389         * modules/unictype/property-xid-continue: Likewise.
25390         * modules/unictype/property-xid-start: Likewise.
25391         * modules/unictype/property-zero-width: Likewise.
25392         * modules/unictype/scripts: Likewise.
25393         * modules/unictype/syntax-c-ident: Likewise.
25394         * modules/unictype/syntax-c-whitespace: Likewise.
25395         * modules/unictype/syntax-java-ident: Likewise.
25396         * modules/unictype/syntax-java-whitespace: Likewise.
25397         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25398         * modules/unilbrk/u8-width-linebreaks: Likewise.
25399         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25400         * modules/unilbrk/u16-width-linebreaks: Likewise.
25401         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25402         * modules/unilbrk/u32-width-linebreaks: Likewise.
25403         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25404         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25405         * modules/uniname/uniname: Likewise.
25406         * modules/uninorm/canonical-decomposition: Likewise.
25407         * modules/uninorm/composition: Likewise.
25408         * modules/uninorm/decomposing-form: Likewise.
25409         * modules/uninorm/decomposition: Likewise.
25410         * modules/uninorm/filter: Likewise.
25411         * modules/uninorm/nfc: Likewise.
25412         * modules/uninorm/nfd: Likewise.
25413         * modules/uninorm/nfkc: Likewise.
25414         * modules/uninorm/nfkd: Likewise.
25415         * modules/uninorm/u8-normalize: Likewise.
25416         * modules/uninorm/u8-normcmp: Likewise.
25417         * modules/uninorm/u8-normcoll: Likewise.
25418         * modules/uninorm/u8-normxfrm: Likewise.
25419         * modules/uninorm/u16-normalize: Likewise.
25420         * modules/uninorm/u16-normcmp: Likewise.
25421         * modules/uninorm/u16-normcoll: Likewise.
25422         * modules/uninorm/u16-normxfrm: Likewise.
25423         * modules/uninorm/u32-normalize: Likewise.
25424         * modules/uninorm/u32-normcmp: Likewise.
25425         * modules/uninorm/u32-normcoll: Likewise.
25426         * modules/uninorm/u32-normxfrm: Likewise.
25427         * modules/unistdio/u8-asnprintf: Likewise.
25428         * modules/unistdio/u8-asprintf: Likewise.
25429         * modules/unistdio/u8-snprintf: Likewise.
25430         * modules/unistdio/u8-sprintf: Likewise.
25431         * modules/unistdio/u8-u8-asnprintf: Likewise.
25432         * modules/unistdio/u8-u8-asprintf: Likewise.
25433         * modules/unistdio/u8-u8-snprintf: Likewise.
25434         * modules/unistdio/u8-u8-sprintf: Likewise.
25435         * modules/unistdio/u8-u8-vasnprintf: Likewise.
25436         * modules/unistdio/u8-u8-vasprintf: Likewise.
25437         * modules/unistdio/u8-u8-vsnprintf: Likewise.
25438         * modules/unistdio/u8-u8-vsprintf: Likewise.
25439         * modules/unistdio/u8-vasnprintf: Likewise.
25440         * modules/unistdio/u8-vasprintf: Likewise.
25441         * modules/unistdio/u8-vsnprintf: Likewise.
25442         * modules/unistdio/u8-vsprintf: Likewise.
25443         * modules/unistdio/u16-asnprintf: Likewise.
25444         * modules/unistdio/u16-asprintf: Likewise.
25445         * modules/unistdio/u16-snprintf: Likewise.
25446         * modules/unistdio/u16-sprintf: Likewise.
25447         * modules/unistdio/u16-u16-asnprintf: Likewise.
25448         * modules/unistdio/u16-u16-asprintf: Likewise.
25449         * modules/unistdio/u16-u16-snprintf: Likewise.
25450         * modules/unistdio/u16-u16-sprintf: Likewise.
25451         * modules/unistdio/u16-u16-vasnprintf: Likewise.
25452         * modules/unistdio/u16-u16-vasprintf: Likewise.
25453         * modules/unistdio/u16-u16-vsnprintf: Likewise.
25454         * modules/unistdio/u16-u16-vsprintf: Likewise.
25455         * modules/unistdio/u16-vasnprintf: Likewise.
25456         * modules/unistdio/u16-vasprintf: Likewise.
25457         * modules/unistdio/u16-vsnprintf: Likewise.
25458         * modules/unistdio/u16-vsprintf: Likewise.
25459         * modules/unistdio/u32-asnprintf: Likewise.
25460         * modules/unistdio/u32-asprintf: Likewise.
25461         * modules/unistdio/u32-snprintf: Likewise.
25462         * modules/unistdio/u32-sprintf: Likewise.
25463         * modules/unistdio/u32-u32-asnprintf: Likewise.
25464         * modules/unistdio/u32-u32-asprintf: Likewise.
25465         * modules/unistdio/u32-u32-snprintf: Likewise.
25466         * modules/unistdio/u32-u32-sprintf: Likewise.
25467         * modules/unistdio/u32-u32-vasnprintf: Likewise.
25468         * modules/unistdio/u32-u32-vasprintf: Likewise.
25469         * modules/unistdio/u32-u32-vsnprintf: Likewise.
25470         * modules/unistdio/u32-u32-vsprintf: Likewise.
25471         * modules/unistdio/u32-vasnprintf: Likewise.
25472         * modules/unistdio/u32-vasprintf: Likewise.
25473         * modules/unistdio/u32-vsnprintf: Likewise.
25474         * modules/unistdio/u32-vsprintf: Likewise.
25475         * modules/unistdio/ulc-asnprintf: Likewise.
25476         * modules/unistdio/ulc-asprintf: Likewise.
25477         * modules/unistdio/ulc-fprintf: Likewise.
25478         * modules/unistdio/ulc-snprintf: Likewise.
25479         * modules/unistdio/ulc-sprintf: Likewise.
25480         * modules/unistdio/ulc-vasnprintf: Likewise.
25481         * modules/unistdio/ulc-vasprintf: Likewise.
25482         * modules/unistdio/ulc-vfprintf: Likewise.
25483         * modules/unistdio/ulc-vsnprintf: Likewise.
25484         * modules/unistdio/ulc-vsprintf: Likewise.
25485         * modules/unistr/u8-check: Likewise.
25486         * modules/unistr/u8-chr: Likewise.
25487         * modules/unistr/u8-cmp: Likewise.
25488         * modules/unistr/u8-cmp2: Likewise.
25489         * modules/unistr/u8-cpy: Likewise.
25490         * modules/unistr/u8-cpy-alloc: Likewise.
25491         * modules/unistr/u8-endswith: Likewise.
25492         * modules/unistr/u8-mblen: Likewise.
25493         * modules/unistr/u8-mbsnlen: Likewise.
25494         * modules/unistr/u8-mbtouc: Likewise.
25495         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25496         * modules/unistr/u8-mbtoucr: Likewise.
25497         * modules/unistr/u8-move: Likewise.
25498         * modules/unistr/u8-next: Likewise.
25499         * modules/unistr/u8-prev: Likewise.
25500         * modules/unistr/u8-set: Likewise.
25501         * modules/unistr/u8-startswith: Likewise.
25502         * modules/unistr/u8-stpcpy: Likewise.
25503         * modules/unistr/u8-stpncpy: Likewise.
25504         * modules/unistr/u8-strcat: Likewise.
25505         * modules/unistr/u8-strchr: Likewise.
25506         * modules/unistr/u8-strcmp: Likewise.
25507         * modules/unistr/u8-strcoll: Likewise.
25508         * modules/unistr/u8-strcpy: Likewise.
25509         * modules/unistr/u8-strcspn: Likewise.
25510         * modules/unistr/u8-strdup: Likewise.
25511         * modules/unistr/u8-strlen: Likewise.
25512         * modules/unistr/u8-strmblen: Likewise.
25513         * modules/unistr/u8-strmbtouc: Likewise.
25514         * modules/unistr/u8-strncat: Likewise.
25515         * modules/unistr/u8-strncmp: Likewise.
25516         * modules/unistr/u8-strncpy: Likewise.
25517         * modules/unistr/u8-strnlen: Likewise.
25518         * modules/unistr/u8-strpbrk: Likewise.
25519         * modules/unistr/u8-strrchr: Likewise.
25520         * modules/unistr/u8-strspn: Likewise.
25521         * modules/unistr/u8-strstr: Likewise.
25522         * modules/unistr/u8-strtok: Likewise.
25523         * modules/unistr/u8-to-u16: Likewise.
25524         * modules/unistr/u8-to-u32: Likewise.
25525         * modules/unistr/u8-uctomb: Likewise.
25526         * modules/unistr/u16-check: Likewise.
25527         * modules/unistr/u16-chr: Likewise.
25528         * modules/unistr/u16-cmp: Likewise.
25529         * modules/unistr/u16-cmp2: Likewise.
25530         * modules/unistr/u16-cpy: Likewise.
25531         * modules/unistr/u16-cpy-alloc: Likewise.
25532         * modules/unistr/u16-endswith: Likewise.
25533         * modules/unistr/u16-mblen: Likewise.
25534         * modules/unistr/u16-mbsnlen: Likewise.
25535         * modules/unistr/u16-mbtouc: Likewise.
25536         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25537         * modules/unistr/u16-mbtoucr: Likewise.
25538         * modules/unistr/u16-move: Likewise.
25539         * modules/unistr/u16-next: Likewise.
25540         * modules/unistr/u16-prev: Likewise.
25541         * modules/unistr/u16-set: Likewise.
25542         * modules/unistr/u16-startswith: Likewise.
25543         * modules/unistr/u16-stpcpy: Likewise.
25544         * modules/unistr/u16-stpncpy: Likewise.
25545         * modules/unistr/u16-strcat: Likewise.
25546         * modules/unistr/u16-strchr: Likewise.
25547         * modules/unistr/u16-strcmp: Likewise.
25548         * modules/unistr/u16-strcoll: Likewise.
25549         * modules/unistr/u16-strcpy: Likewise.
25550         * modules/unistr/u16-strcspn: Likewise.
25551         * modules/unistr/u16-strdup: Likewise.
25552         * modules/unistr/u16-strlen: Likewise.
25553         * modules/unistr/u16-strmblen: Likewise.
25554         * modules/unistr/u16-strmbtouc: Likewise.
25555         * modules/unistr/u16-strncat: Likewise.
25556         * modules/unistr/u16-strncmp: Likewise.
25557         * modules/unistr/u16-strncpy: Likewise.
25558         * modules/unistr/u16-strnlen: Likewise.
25559         * modules/unistr/u16-strpbrk: Likewise.
25560         * modules/unistr/u16-strrchr: Likewise.
25561         * modules/unistr/u16-strspn: Likewise.
25562         * modules/unistr/u16-strstr: Likewise.
25563         * modules/unistr/u16-strtok: Likewise.
25564         * modules/unistr/u16-to-u32: Likewise.
25565         * modules/unistr/u16-to-u8: Likewise.
25566         * modules/unistr/u16-uctomb: Likewise.
25567         * modules/unistr/u32-check: Likewise.
25568         * modules/unistr/u32-chr: Likewise.
25569         * modules/unistr/u32-cmp: Likewise.
25570         * modules/unistr/u32-cmp2: Likewise.
25571         * modules/unistr/u32-cpy: Likewise.
25572         * modules/unistr/u32-cpy-alloc: Likewise.
25573         * modules/unistr/u32-endswith: Likewise.
25574         * modules/unistr/u32-mblen: Likewise.
25575         * modules/unistr/u32-mbsnlen: Likewise.
25576         * modules/unistr/u32-mbtouc: Likewise.
25577         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25578         * modules/unistr/u32-mbtoucr: Likewise.
25579         * modules/unistr/u32-move: Likewise.
25580         * modules/unistr/u32-next: Likewise.
25581         * modules/unistr/u32-prev: Likewise.
25582         * modules/unistr/u32-set: Likewise.
25583         * modules/unistr/u32-startswith: Likewise.
25584         * modules/unistr/u32-stpcpy: Likewise.
25585         * modules/unistr/u32-stpncpy: Likewise.
25586         * modules/unistr/u32-strcat: Likewise.
25587         * modules/unistr/u32-strchr: Likewise.
25588         * modules/unistr/u32-strcmp: Likewise.
25589         * modules/unistr/u32-strcoll: Likewise.
25590         * modules/unistr/u32-strcpy: Likewise.
25591         * modules/unistr/u32-strcspn: Likewise.
25592         * modules/unistr/u32-strdup: Likewise.
25593         * modules/unistr/u32-strlen: Likewise.
25594         * modules/unistr/u32-strmblen: Likewise.
25595         * modules/unistr/u32-strmbtouc: Likewise.
25596         * modules/unistr/u32-strncat: Likewise.
25597         * modules/unistr/u32-strncmp: Likewise.
25598         * modules/unistr/u32-strncpy: Likewise.
25599         * modules/unistr/u32-strnlen: Likewise.
25600         * modules/unistr/u32-strpbrk: Likewise.
25601         * modules/unistr/u32-strrchr: Likewise.
25602         * modules/unistr/u32-strspn: Likewise.
25603         * modules/unistr/u32-strstr: Likewise.
25604         * modules/unistr/u32-strtok: Likewise.
25605         * modules/unistr/u32-to-u16: Likewise.
25606         * modules/unistr/u32-to-u8: Likewise.
25607         * modules/unistr/u32-uctomb: Likewise.
25608         * modules/uniwbrk/u8-wordbreaks: Likewise.
25609         * modules/uniwbrk/u16-wordbreaks: Likewise.
25610         * modules/uniwbrk/u32-wordbreaks: Likewise.
25611         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25612         * modules/uniwbrk/wordbreak-property: Likewise.
25613         * modules/uniwidth/u8-strwidth: Likewise.
25614         * modules/uniwidth/u8-width: Likewise.
25615         * modules/uniwidth/u16-strwidth: Likewise.
25616         * modules/uniwidth/u16-width: Likewise.
25617         * modules/uniwidth/u32-strwidth: Likewise.
25618         * modules/uniwidth/u32-width: Likewise.
25619         * modules/uniwidth/width: Likewise.
25620         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25621         with $(LIBUNISTRING).
25622         * modules/unicase/ignorable-tests: Likewise.
25623         * modules/unicase/locale-language-tests: Likewise.
25624         * modules/unicase/tolower-tests: Likewise.
25625         * modules/unicase/totitle-tests: Likewise.
25626         * modules/unicase/toupper-tests: Likewise.
25627         * modules/unicase/u8-casecmp-tests: Likewise.
25628         * modules/unicase/u8-casecoll-tests: Likewise.
25629         * modules/unicase/u8-casefold-tests: Likewise.
25630         * modules/unicase/u8-is-cased-tests: Likewise.
25631         * modules/unicase/u8-is-casefolded-tests: Likewise.
25632         * modules/unicase/u8-is-lowercase-tests: Likewise.
25633         * modules/unicase/u8-is-titlecase-tests: Likewise.
25634         * modules/unicase/u8-is-uppercase-tests: Likewise.
25635         * modules/unicase/u8-tolower-tests: Likewise.
25636         * modules/unicase/u8-totitle-tests: Likewise.
25637         * modules/unicase/u8-toupper-tests: Likewise.
25638         * modules/unicase/u16-casecmp-tests: Likewise.
25639         * modules/unicase/u16-casecoll-tests: Likewise.
25640         * modules/unicase/u16-casefold-tests: Likewise.
25641         * modules/unicase/u16-is-cased-tests: Likewise.
25642         * modules/unicase/u16-is-casefolded-tests: Likewise.
25643         * modules/unicase/u16-is-lowercase-tests: Likewise.
25644         * modules/unicase/u16-is-titlecase-tests: Likewise.
25645         * modules/unicase/u16-is-uppercase-tests: Likewise.
25646         * modules/unicase/u16-tolower-tests: Likewise.
25647         * modules/unicase/u16-totitle-tests: Likewise.
25648         * modules/unicase/u16-toupper-tests: Likewise.
25649         * modules/unicase/u32-casecmp-tests: Likewise.
25650         * modules/unicase/u32-casecoll-tests: Likewise.
25651         * modules/unicase/u32-casefold-tests: Likewise.
25652         * modules/unicase/u32-is-cased-tests: Likewise.
25653         * modules/unicase/u32-is-casefolded-tests: Likewise.
25654         * modules/unicase/u32-is-lowercase-tests: Likewise.
25655         * modules/unicase/u32-is-titlecase-tests: Likewise.
25656         * modules/unicase/u32-is-uppercase-tests: Likewise.
25657         * modules/unicase/u32-tolower-tests: Likewise.
25658         * modules/unicase/u32-totitle-tests: Likewise.
25659         * modules/unicase/u32-toupper-tests: Likewise.
25660         * modules/unicase/ulc-casecmp-tests: Likewise.
25661         * modules/unicase/ulc-casecoll-tests: Likewise.
25662         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25663         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25664         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25665         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25666         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25667         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25668         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25669         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25670         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25671         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25672         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25673         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25674         * modules/unictype/bidicategory-byname-tests: Likewise.
25675         * modules/unictype/bidicategory-name-tests: Likewise.
25676         * modules/unictype/bidicategory-of-tests: Likewise.
25677         * modules/unictype/bidicategory-test-tests: Likewise.
25678         * modules/unictype/block-list-tests: Likewise.
25679         * modules/unictype/block-of-tests: Likewise.
25680         * modules/unictype/block-test-tests: Likewise.
25681         * modules/unictype/category-C-tests: Likewise.
25682         * modules/unictype/category-Cc-tests: Likewise.
25683         * modules/unictype/category-Cf-tests: Likewise.
25684         * modules/unictype/category-Cn-tests: Likewise.
25685         * modules/unictype/category-Co-tests: Likewise.
25686         * modules/unictype/category-Cs-tests: Likewise.
25687         * modules/unictype/category-L-tests: Likewise.
25688         * modules/unictype/category-Ll-tests: Likewise.
25689         * modules/unictype/category-Lm-tests: Likewise.
25690         * modules/unictype/category-Lo-tests: Likewise.
25691         * modules/unictype/category-Lt-tests: Likewise.
25692         * modules/unictype/category-Lu-tests: Likewise.
25693         * modules/unictype/category-M-tests: Likewise.
25694         * modules/unictype/category-Mc-tests: Likewise.
25695         * modules/unictype/category-Me-tests: Likewise.
25696         * modules/unictype/category-Mn-tests: Likewise.
25697         * modules/unictype/category-N-tests: Likewise.
25698         * modules/unictype/category-Nd-tests: Likewise.
25699         * modules/unictype/category-Nl-tests: Likewise.
25700         * modules/unictype/category-No-tests: Likewise.
25701         * modules/unictype/category-P-tests: Likewise.
25702         * modules/unictype/category-Pc-tests: Likewise.
25703         * modules/unictype/category-Pd-tests: Likewise.
25704         * modules/unictype/category-Pe-tests: Likewise.
25705         * modules/unictype/category-Pf-tests: Likewise.
25706         * modules/unictype/category-Pi-tests: Likewise.
25707         * modules/unictype/category-Po-tests: Likewise.
25708         * modules/unictype/category-Ps-tests: Likewise.
25709         * modules/unictype/category-S-tests: Likewise.
25710         * modules/unictype/category-Sc-tests: Likewise.
25711         * modules/unictype/category-Sk-tests: Likewise.
25712         * modules/unictype/category-Sm-tests: Likewise.
25713         * modules/unictype/category-So-tests: Likewise.
25714         * modules/unictype/category-Z-tests: Likewise.
25715         * modules/unictype/category-Zl-tests: Likewise.
25716         * modules/unictype/category-Zp-tests: Likewise.
25717         * modules/unictype/category-Zs-tests: Likewise.
25718         * modules/unictype/category-and-not-tests: Likewise.
25719         * modules/unictype/category-and-tests: Likewise.
25720         * modules/unictype/category-byname-tests: Likewise.
25721         * modules/unictype/category-name-tests: Likewise.
25722         * modules/unictype/category-none-tests: Likewise.
25723         * modules/unictype/category-of-tests: Likewise.
25724         * modules/unictype/category-or-tests: Likewise.
25725         * modules/unictype/category-test-withtable-tests: Likewise.
25726         * modules/unictype/combining-class-tests: Likewise.
25727         * modules/unictype/ctype-alnum-tests: Likewise.
25728         * modules/unictype/ctype-alpha-tests: Likewise.
25729         * modules/unictype/ctype-blank-tests: Likewise.
25730         * modules/unictype/ctype-cntrl-tests: Likewise.
25731         * modules/unictype/ctype-digit-tests: Likewise.
25732         * modules/unictype/ctype-graph-tests: Likewise.
25733         * modules/unictype/ctype-lower-tests: Likewise.
25734         * modules/unictype/ctype-print-tests: Likewise.
25735         * modules/unictype/ctype-punct-tests: Likewise.
25736         * modules/unictype/ctype-space-tests: Likewise.
25737         * modules/unictype/ctype-upper-tests: Likewise.
25738         * modules/unictype/ctype-xdigit-tests: Likewise.
25739         * modules/unictype/decimal-digit-tests: Likewise.
25740         * modules/unictype/digit-tests: Likewise.
25741         * modules/unictype/mirror-tests: Likewise.
25742         * modules/unictype/numeric-tests: Likewise.
25743         * modules/unictype/property-alphabetic-tests: Likewise.
25744         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25745         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25746         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25747         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25748         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25749         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25750         * modules/unictype/property-bidi-control-tests: Likewise.
25751         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25752         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25753         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25754         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25755         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25756         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25757         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25758         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25759         * modules/unictype/property-bidi-pdf-tests: Likewise.
25760         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25761         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25762         * modules/unictype/property-byname-tests: Likewise.
25763         * modules/unictype/property-combining-tests: Likewise.
25764         * modules/unictype/property-composite-tests: Likewise.
25765         * modules/unictype/property-currency-symbol-tests: Likewise.
25766         * modules/unictype/property-dash-tests: Likewise.
25767         * modules/unictype/property-decimal-digit-tests: Likewise.
25768         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25769         * modules/unictype/property-deprecated-tests: Likewise.
25770         * modules/unictype/property-diacritic-tests: Likewise.
25771         * modules/unictype/property-extender-tests: Likewise.
25772         * modules/unictype/property-format-control-tests: Likewise.
25773         * modules/unictype/property-grapheme-base-tests: Likewise.
25774         * modules/unictype/property-grapheme-extend-tests: Likewise.
25775         * modules/unictype/property-grapheme-link-tests: Likewise.
25776         * modules/unictype/property-hex-digit-tests: Likewise.
25777         * modules/unictype/property-hyphen-tests: Likewise.
25778         * modules/unictype/property-id-continue-tests: Likewise.
25779         * modules/unictype/property-id-start-tests: Likewise.
25780         * modules/unictype/property-ideographic-tests: Likewise.
25781         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25782         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25783         * modules/unictype/property-ignorable-control-tests: Likewise.
25784         * modules/unictype/property-iso-control-tests: Likewise.
25785         * modules/unictype/property-join-control-tests: Likewise.
25786         * modules/unictype/property-left-of-pair-tests: Likewise.
25787         * modules/unictype/property-line-separator-tests: Likewise.
25788         * modules/unictype/property-logical-order-exception-tests: Likewise.
25789         * modules/unictype/property-lowercase-tests: Likewise.
25790         * modules/unictype/property-math-tests: Likewise.
25791         * modules/unictype/property-non-break-tests: Likewise.
25792         * modules/unictype/property-not-a-character-tests: Likewise.
25793         * modules/unictype/property-numeric-tests: Likewise.
25794         * modules/unictype/property-other-alphabetic-tests: Likewise.
25795         * modules/unictype/property-other-default-ignorable-code-point-tests:
25796         Likewise.
25797         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25798         * modules/unictype/property-other-id-continue-tests: Likewise.
25799         * modules/unictype/property-other-id-start-tests: Likewise.
25800         * modules/unictype/property-other-lowercase-tests: Likewise.
25801         * modules/unictype/property-other-math-tests: Likewise.
25802         * modules/unictype/property-other-uppercase-tests: Likewise.
25803         * modules/unictype/property-paired-punctuation-tests: Likewise.
25804         * modules/unictype/property-paragraph-separator-tests: Likewise.
25805         * modules/unictype/property-pattern-syntax-tests: Likewise.
25806         * modules/unictype/property-pattern-white-space-tests: Likewise.
25807         * modules/unictype/property-private-use-tests: Likewise.
25808         * modules/unictype/property-punctuation-tests: Likewise.
25809         * modules/unictype/property-quotation-mark-tests: Likewise.
25810         * modules/unictype/property-radical-tests: Likewise.
25811         * modules/unictype/property-sentence-terminal-tests: Likewise.
25812         * modules/unictype/property-soft-dotted-tests: Likewise.
25813         * modules/unictype/property-space-tests: Likewise.
25814         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25815         * modules/unictype/property-test-tests: Likewise.
25816         * modules/unictype/property-titlecase-tests: Likewise.
25817         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25818         * modules/unictype/property-unified-ideograph-tests: Likewise.
25819         * modules/unictype/property-uppercase-tests: Likewise.
25820         * modules/unictype/property-variation-selector-tests: Likewise.
25821         * modules/unictype/property-white-space-tests: Likewise.
25822         * modules/unictype/property-xid-continue-tests: Likewise.
25823         * modules/unictype/property-xid-start-tests: Likewise.
25824         * modules/unictype/property-zero-width-tests: Likewise.
25825         * modules/unictype/scripts-tests: Likewise.
25826         * modules/unictype/syntax-c-ident-tests: Likewise.
25827         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25828         * modules/unictype/syntax-java-ident-tests: Likewise.
25829         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25830         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25831         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25832         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25833         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25834         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25835         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25836         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25837         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25838         * modules/uniname/uniname-tests: Likewise.
25839         * modules/uninorm/canonical-decomposition-tests: Likewise.
25840         * modules/uninorm/compat-decomposition-tests: Likewise.
25841         * modules/uninorm/composition-tests: Likewise.
25842         * modules/uninorm/decomposing-form-tests: Likewise.
25843         * modules/uninorm/decomposition-tests: Likewise.
25844         * modules/uninorm/filter-tests: Likewise.
25845         * modules/uninorm/nfc-tests: Likewise.
25846         * modules/uninorm/nfd-tests: Likewise.
25847         * modules/uninorm/nfkc-tests: Likewise.
25848         * modules/uninorm/nfkd-tests: Likewise.
25849         * modules/uninorm/u8-normcmp-tests: Likewise.
25850         * modules/uninorm/u8-normcoll-tests: Likewise.
25851         * modules/uninorm/u16-normcmp-tests: Likewise.
25852         * modules/uninorm/u16-normcoll-tests: Likewise.
25853         * modules/uninorm/u32-normcmp-tests: Likewise.
25854         * modules/uninorm/u32-normcoll-tests: Likewise.
25855         * modules/unistdio/u8-asnprintf-tests: Likewise.
25856         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25857         * modules/unistdio/u8-vasprintf-tests: Likewise.
25858         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25859         * modules/unistdio/u8-vsprintf-tests: Likewise.
25860         * modules/unistdio/u16-asnprintf-tests: Likewise.
25861         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25862         * modules/unistdio/u16-vasprintf-tests: Likewise.
25863         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25864         * modules/unistdio/u16-vsprintf-tests: Likewise.
25865         * modules/unistdio/u32-asnprintf-tests: Likewise.
25866         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25867         * modules/unistdio/u32-vasprintf-tests: Likewise.
25868         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25869         * modules/unistdio/u32-vsprintf-tests: Likewise.
25870         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25871         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25872         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25873         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25874         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25875         * modules/unistr/u8-check-tests: Likewise.
25876         * modules/unistr/u8-chr-tests: Likewise.
25877         * modules/unistr/u8-cmp-tests: Likewise.
25878         * modules/unistr/u8-cmp2-tests: Likewise.
25879         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25880         * modules/unistr/u8-cpy-tests: Likewise.
25881         * modules/unistr/u8-mblen-tests: Likewise.
25882         * modules/unistr/u8-mbsnlen-tests: Likewise.
25883         * modules/unistr/u8-mbtouc-tests: Likewise.
25884         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25885         * modules/unistr/u8-mbtoucr-tests: Likewise.
25886         * modules/unistr/u8-move-tests: Likewise.
25887         * modules/unistr/u8-next-tests: Likewise.
25888         * modules/unistr/u8-prev-tests: Likewise.
25889         * modules/unistr/u8-set-tests: Likewise.
25890         * modules/unistr/u8-stpcpy-tests: Likewise.
25891         * modules/unistr/u8-stpncpy-tests: Likewise.
25892         * modules/unistr/u8-strcat-tests: Likewise.
25893         * modules/unistr/u8-strcmp-tests: Likewise.
25894         * modules/unistr/u8-strcoll-tests: Likewise.
25895         * modules/unistr/u8-strcpy-tests: Likewise.
25896         * modules/unistr/u8-strdup-tests: Likewise.
25897         * modules/unistr/u8-strlen-tests: Likewise.
25898         * modules/unistr/u8-strmblen-tests: Likewise.
25899         * modules/unistr/u8-strmbtouc-tests: Likewise.
25900         * modules/unistr/u8-strncat-tests: Likewise.
25901         * modules/unistr/u8-strncmp-tests: Likewise.
25902         * modules/unistr/u8-strncpy-tests: Likewise.
25903         * modules/unistr/u8-strnlen-tests: Likewise.
25904         * modules/unistr/u8-to-u16-tests: Likewise.
25905         * modules/unistr/u8-to-u32-tests: Likewise.
25906         * modules/unistr/u8-uctomb-tests: Likewise.
25907         * modules/unistr/u16-check-tests: Likewise.
25908         * modules/unistr/u16-chr-tests: Likewise.
25909         * modules/unistr/u16-cmp-tests: Likewise.
25910         * modules/unistr/u16-cmp2-tests: Likewise.
25911         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25912         * modules/unistr/u16-cpy-tests: Likewise.
25913         * modules/unistr/u16-mblen-tests: Likewise.
25914         * modules/unistr/u16-mbsnlen-tests: Likewise.
25915         * modules/unistr/u16-mbtouc-tests: Likewise.
25916         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25917         * modules/unistr/u16-mbtoucr-tests: Likewise.
25918         * modules/unistr/u16-move-tests: Likewise.
25919         * modules/unistr/u16-next-tests: Likewise.
25920         * modules/unistr/u16-prev-tests: Likewise.
25921         * modules/unistr/u16-set-tests: Likewise.
25922         * modules/unistr/u16-stpcpy-tests: Likewise.
25923         * modules/unistr/u16-stpncpy-tests: Likewise.
25924         * modules/unistr/u16-strcat-tests: Likewise.
25925         * modules/unistr/u16-strcmp-tests: Likewise.
25926         * modules/unistr/u16-strcoll-tests: Likewise.
25927         * modules/unistr/u16-strcpy-tests: Likewise.
25928         * modules/unistr/u16-strdup-tests: Likewise.
25929         * modules/unistr/u16-strlen-tests: Likewise.
25930         * modules/unistr/u16-strmblen-tests: Likewise.
25931         * modules/unistr/u16-strmbtouc-tests: Likewise.
25932         * modules/unistr/u16-strncat-tests: Likewise.
25933         * modules/unistr/u16-strncmp-tests: Likewise.
25934         * modules/unistr/u16-strncpy-tests: Likewise.
25935         * modules/unistr/u16-strnlen-tests: Likewise.
25936         * modules/unistr/u16-to-u32-tests: Likewise.
25937         * modules/unistr/u16-to-u8-tests: Likewise.
25938         * modules/unistr/u16-uctomb-tests: Likewise.
25939         * modules/unistr/u32-check-tests: Likewise.
25940         * modules/unistr/u32-chr-tests: Likewise.
25941         * modules/unistr/u32-cmp-tests: Likewise.
25942         * modules/unistr/u32-cmp2-tests: Likewise.
25943         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25944         * modules/unistr/u32-cpy-tests: Likewise.
25945         * modules/unistr/u32-mblen-tests: Likewise.
25946         * modules/unistr/u32-mbsnlen-tests: Likewise.
25947         * modules/unistr/u32-mbtouc-tests: Likewise.
25948         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25949         * modules/unistr/u32-mbtoucr-tests: Likewise.
25950         * modules/unistr/u32-move-tests: Likewise.
25951         * modules/unistr/u32-next-tests: Likewise.
25952         * modules/unistr/u32-prev-tests: Likewise.
25953         * modules/unistr/u32-set-tests: Likewise.
25954         * modules/unistr/u32-stpcpy-tests: Likewise.
25955         * modules/unistr/u32-stpncpy-tests: Likewise.
25956         * modules/unistr/u32-strcat-tests: Likewise.
25957         * modules/unistr/u32-strcmp-tests: Likewise.
25958         * modules/unistr/u32-strcoll-tests: Likewise.
25959         * modules/unistr/u32-strcpy-tests: Likewise.
25960         * modules/unistr/u32-strdup-tests: Likewise.
25961         * modules/unistr/u32-strlen-tests: Likewise.
25962         * modules/unistr/u32-strmblen-tests: Likewise.
25963         * modules/unistr/u32-strmbtouc-tests: Likewise.
25964         * modules/unistr/u32-strncat-tests: Likewise.
25965         * modules/unistr/u32-strncmp-tests: Likewise.
25966         * modules/unistr/u32-strncpy-tests: Likewise.
25967         * modules/unistr/u32-strnlen-tests: Likewise.
25968         * modules/unistr/u32-to-u16-tests: Likewise.
25969         * modules/unistr/u32-to-u8-tests: Likewise.
25970         * modules/unistr/u32-uctomb-tests: Likewise.
25971         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25972         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25973         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25974         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25975         * modules/uniwidth/u8-strwidth-tests: Likewise.
25976         * modules/uniwidth/u8-width-tests: Likewise.
25977         * modules/uniwidth/u16-strwidth-tests: Likewise.
25978         * modules/uniwidth/u16-width-tests: Likewise.
25979         * modules/uniwidth/u32-strwidth-tests: Likewise.
25980         * modules/uniwidth/u32-width-tests: Likewise.
25981         * modules/uniwidth/width-tests: Likewise.
25982
25983 2010-05-18  Richard Jones  <rjones@redhat.com>
25984
25985         doc: users.txt: list hivex
25986         * users.txt: Add hivex.
25987
25988 2010-05-18  Richard Jones  <rjones@redhat.com>
25989
25990         doc: users.txt: list febootstrap
25991         * users.txt: Add febootstrap.
25992
25993 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25994
25995         bootstrap: fix an error when gnulib is not used as a git submodule
25996         * build-aux/bootstrap (gnulib_path): If its length is zero then
25997         assign "gnulib" to it.
25998         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25999
26000 2010-05-16  Bruno Haible  <bruno@clisp.org>
26001
26002         Avoid autoconf warnings about AM_ICONV.
26003         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26004         2.64.
26005
26006 2010-05-16  Bruno Haible  <bruno@clisp.org>
26007
26008         absolute-header: Make the macro usable in more situations.
26009         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26010         from gl_ABSOLUTE_HEADER.
26011         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26012
26013 2010-05-16  James Youngman  <jay@gnu.org>
26014
26015         doc: update users.txt
26016         * users.txt: Add CSSC.
26017
26018 2010-05-16  Jim Meyering  <meyering@redhat.com>
26019
26020         init.sh: fix an error in the previous change; add more comments
26021         * tests/init.sh: Compare exit code in loop against 9, not 2.
26022         Patch by Bruno Haible.
26023         Make the two tests more similar by adding an empty "then" clause.
26024         Add comments.
26025
26026         init.sh: avoid unnecessary shell re-exec
26027         * tests/init.sh: Improve the re-exec-required check to first test the
26028         current shell.  If it passes the test, do not search for a shell that
26029         does pass, and do not re-exec.  This test is particularly contorted to
26030         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26031         of $(...) evokes a syntax error and causes immediate shell exit with
26032         status 2.  Bruno Haible reported that the re-exec made it impossible
26033         to single-step through any init.sh-using script.
26034
26035 2010-05-16  Bruno Haible  <bruno@clisp.org>
26036
26037         Fix collision between gnulib's and libintl's printf replacements.
26038         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26039         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26040         (printf): When using GNU C, map the __printf__ function to rpl_printf
26041         via __asm__. When not using GNU C, define rpl_printf instead of
26042         __printf__.
26043         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26044         commit.
26045         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26046         commit.
26047         * m4/asm-underscore.m4: New file.
26048         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26049         * modules/stdio (Files): Add m4/asm-underscore.m4.
26050         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26051         Reported by Ben Pfaff.
26052
26053 2010-05-16  Bruno Haible  <bruno@clisp.org>
26054
26055         verify: Avoid skipping the test on openSUSE 11.0.
26056         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26057
26058 2010-05-13  Bruno Haible  <bruno@clisp.org>
26059
26060         Avoid useless warnings from G++.
26061         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26062         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26063         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26064
26065 2010-05-11  Jim Meyering  <meyering@redhat.com>
26066
26067         maint.mk: tweak preceding change
26068         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26069         regexps tighter by anchoring at EOL, and make the new group "shy"
26070         for slightly decreased overhead.
26071
26072 2010-05-11  Eric Blake  <eblake@redhat.com>
26073
26074         maint.mk: gnulib doesn't guarantee NSIG
26075         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26076
26077 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26078
26079         test-pwrite.c: Remove unused variable declaration.
26080         * tests/test-pwrite.c (main): Remove read_buf declaration.
26081
26082         Remove useless test-pwrite.sh file.
26083         * tests/test-pwrite.sh: Delete file.
26084         * modules/pwrite-tests: Remove references.
26085         Reported by Bruno Haible.
26086
26087 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26088
26089         init.sh: fix a typo
26090         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26091
26092 2010-05-10  Jim Meyering  <meyering@redhat.com>
26093
26094         maint.mk: avoid using a temporary file in the always-defined-macros check
26095         * top/maint.mk (.re-defmac): Remove rule.
26096         (gl_trap_): Remove definition.
26097         (sc_prohibit_always-defined_macros): Rewrite not to create and
26098         depend on a temporary file.  Instead, depend on GNU grep's ability
26099         to read a list of regular expressions from stdin when given "-f -".
26100
26101 2010-05-09  Bruno Haible  <bruno@clisp.org>
26102
26103         Update to GNU gettext 0.18, part 1.
26104         * m4/gettext.m4: Update to GNU gettext 0.18.
26105         * m4/intl.m4: Likewise.
26106         * m4/po.m4: Likewise.
26107         * modules/gettext (Files): Add m4/fcntl-o.m4.
26108         (configure.ac): Require gettext infrastructure from version 0.18.
26109
26110 2010-05-09  Jim Meyering  <meyering@redhat.com>
26111
26112         init.sh: enable MALLOC_PERTURB_
26113         * tests/init.sh: Enable glibc's malloc-perturbing option.
26114
26115         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26116         With my recent change in init.sh from the two-line form:
26117             -#   : ${srcdir=.}
26118             -#   . "$srcdir/init.sh"; path_prepend_ .
26119             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26120         I noticed that using the one-line form would cause this test
26121         to fail with a false-positive, or to stop working altogether,
26122         depending on whether help-version changed or all the tests did.
26123         * top/maint.mk (_hv_regex): Remove this definition.
26124         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26125         (_hv_regex_strong): Use a stronger regex to check for conformance.
26126         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26127         Give a separate diagnostic for lack of conforming use.
26128
26129         maint.mk: prohibit definition of symbols defined by gnulib
26130         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26131         definition of symbols defined by gnulib.
26132
26133 2010-05-09  Bruno Haible  <bruno@clisp.org>
26134
26135         acl: Avoid test failure on Cygwin-hosted mingw.
26136         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26137
26138 2010-05-09  Bruno Haible  <bruno@clisp.org>
26139
26140         error: Use system's fcntl function.
26141         * lib/error.c (fcntl): Undefine.
26142
26143 2010-05-09  Jim Meyering  <meyering@redhat.com>
26144
26145         verify: adjust formatting to be more consistent
26146         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26147         argument-list '('s, and after one comma.
26148
26149 2010-05-09  Bruno Haible  <bruno@clisp.org>
26150
26151         error: More reliable output on mingw.
26152         * lib/error.c: Include <windows.h>.
26153         (is_open): New function.
26154         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26155         defined.
26156
26157 2010-05-09  Bruno Haible  <bruno@clisp.org>
26158
26159         vasnprintf: Fix syntax errors in libintl build on mingw.
26160         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26161         pad_ourselves and prec_ourselves after use.
26162
26163 2010-05-08  Bruno Haible  <bruno@clisp.org>
26164
26165         * lib/config.charset: Update comments for Cygwin 1.7.
26166         * lib/localcharset.c: Likewise.
26167
26168 2010-05-07  Jim Meyering  <meyering@redhat.com>
26169
26170         init.sh: improve comments
26171         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26172         . "${srcdir=.}/init.sh"; path_prepend_ .
26173         Add a note about path_prepend_ and the alternative of using
26174         TESTS_ENVIRONMENT.
26175
26176 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26177
26178         exclude: Unescape hashed patterns in wildcard mode.
26179         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26180         to the hash list.
26181         * tests/test-exclude8.sh: New test case.
26182         * modules/exclude-tests: Add new test.
26183
26184 2010-05-05  Eric Blake  <eblake@redhat.com>
26185
26186         verify: automate tests
26187         * modules/verify-tests: New module.
26188         * tests/test-verify.sh: New file.
26189         * tests/test-verify.c: Guard each negative test with a unique id.
26190         Also avoid warning about unused left hand of comma expressions.
26191
26192 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
26193
26194         Further improvements to verify.h, suggested by Eric Blake.
26195         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
26196         the GL_* versions, to avoid collision with OpenGL.
26197         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
26198         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
26199         than testing merely whether it's defined.
26200
26201         Modify verify.h to pacify gcc -Wredundant_decls.
26202         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
26203         These use the prefix "GL_" since they're likely to be useful elsewhere.
26204         We may need to break them out into a different .h file.
26205         (__COUNTER__): Define to 0 if the compiler doesn't support it.
26206         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
26207         of verify_function__.
26208
26209 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26210
26211         Tests for module pwrite.
26212         * modules/pwrite-tests: New file.
26213         * tests/test-pwrite.sh: New file.
26214         * tests/test-pwrite.c: New file.
26215
26216         New module pwrite.
26217         * lib/unistd.in.h (pwrite): New declaration.
26218         * lib/pwrite.c: New file, from glibc with modifications.
26219         * m4/pwrite.m4: New file.
26220         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
26221         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
26222         REPLACE_PWRITE.
26223         * modules/pwrite: New file.
26224         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
26225         REPLACE_PWRITE.
26226         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
26227         * doc/posix-functions/pwrite.texi: Mention the new module.
26228
26229 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26230
26231         pread: Update documentation.
26232         * doc/posix-functions/pread.texi: Mention the 'pread' module.
26233
26234 2010-05-04  Eric Blake  <eblake@redhat.com>
26235
26236         docs: update cygwin progress
26237         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
26238         this bug.
26239         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
26240         Added in cygwin 1.7.2.
26241         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
26242         Likewise.
26243         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
26244         Likewise.
26245         * doc/glibc-functions/dup3.texi (dup3): Likewise.
26246         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
26247         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26248         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
26249         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
26250         Mention nproc module.
26251         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
26252         bug in cygwin 1.7.5 addition.
26253         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
26254         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
26255         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
26256         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
26257         1.7.5.
26258         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
26259         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
26260         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
26261         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
26262         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
26263         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
26264         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
26265         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
26266         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
26267         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
26268         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
26269         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
26270         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
26271         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
26272         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
26273         Likewise.
26274         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
26275         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
26276         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
26277         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
26278         Likewise.
26279         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
26280         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
26281         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
26282         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
26283         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
26284         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
26285         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
26286         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
26287         Likewise.
26288         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
26289         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
26290         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
26291         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
26292         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
26293         Likewise.
26294         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
26295         Likewise.
26296         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
26297         Likewise.
26298         * doc/glibc-functions/xdrrec_endofrecord.texi
26299         (xdrrec_endofrecord): Likewise.
26300         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
26301         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
26302         Likewise.
26303         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
26304         Likewise.
26305
26306 2010-05-04  Jim Meyering  <meyering@redhat.com>
26307
26308         gendocs.sh: make its "-s FILE" option more useful
26309         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26310         $PACKAGE to reflect the probably-different basename of "FILE".
26311
26312 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26313
26314         bootstrap: don't ignore download_po_files failure
26315         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26316         failure.
26317
26318 2010-05-03  Jim Meyering  <meyering@redhat.com>
26319
26320         maint.mk: allow to pass options to gendocs.sh
26321         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26322         (gendocs_options_): New overridable variable.
26323
26324         gnu-web-doc-update: don't ignore configure or build failure
26325         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26326
26327         announce-gen: backslash-escape '@'s in --help output
26328         * build-aux/announce-gen: Fix syntax errors.
26329
26330         maint.mk, announce-gen: allow project-specific announcement mail headers
26331         * top/maint.mk (translation_project_): Define default.
26332         (announcement_Cc_, announcement_mail_headers_): Likewise.
26333         (announcement): Invoke announce-gen with new --mail-headers option.
26334         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26335
26336         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26337         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26338         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26339         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26340         line in the "err2" output file when running "make check" in verbose
26341         mode (i.e., with set -x enabled).
26342
26343 2010-05-03  Bruno Haible  <bruno@clisp.org>
26344
26345         wctob: Fix for weird platforms.
26346         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26347         argument value.
26348
26349 2010-05-03  Jim Meyering  <meyering@redhat.com>
26350
26351         maint.mk: prohibit unwarranted use of <strings.h>
26352         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26353         strings.h in a file that does not also use strcasecmp, strncasecmp,
26354         ffs or ffsll.
26355
26356         maint.mk: remove obsolete comments
26357         * top/maint.mk: Remove stale, commented-out rules.
26358
26359 2010-05-02  Bruno Haible  <bruno@clisp.org>
26360
26361         wcwidth: Declare also when it's aliased.
26362         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
26363         macro.
26364
26365 2010-05-02  Bruno Haible  <bruno@clisp.org>
26366
26367         Fix regression from 2010-04-25.
26368         * gnulib-tool (func_modules_transitive_closure): Check the status of
26369         all modules, not only of the tests that are of the form foo-tests where
26370         foo is a module.
26371
26372 2010-05-02  Bruno Haible  <bruno@clisp.org>
26373
26374         wctob: Work around nasty Cygwin 1.7.2 bug.
26375         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
26376         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
26377
26378 2010-05-01  Bruno Haible  <bruno@clisp.org>
26379
26380         fpurge: Sharper test.
26381         * tests/test-fpurge.c (main): Add one more ftell check.
26382         * modules/fpurge-tests (Depends-on): Add ftell.
26383         Suggested by Eric Blake.
26384
26385 2010-05-01  Bruno Haible  <bruno@clisp.org>
26386
26387         ftello: Another test.
26388         * tests/test-ftello3.c: New file.
26389         * modules/ftello-tests (Files): Add it.
26390         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26391         MOSTLYCLEANFILES.
26392
26393         ftell: Another test.
26394         * tests/test-ftell3.c: New file.
26395         * modules/ftell-tests (Files): Add it.
26396         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26397         MOSTLYCLEANFILES.
26398
26399 2010-05-01  Bruno Haible  <bruno@clisp.org>
26400
26401         ftell, ftello: Work around Solaris bug.
26402         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26403         * lib/ftello.c: Include stdio-impl.h.
26404         (ftello): On Solaris, when _IOWRT is set, compute the result without
26405         looking at _IOREAD.
26406         * modules/ftello (Files): Add lib/stdio-impl.h.
26407         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26408         * doc/posix-functions/ftello.texi: Likewise.
26409         Reported by Eric Blake.
26410
26411 2010-05-01  Bruno Haible  <bruno@clisp.org>
26412
26413         freading: Adapt to special meaning of _IOREAD flag on Solaris.
26414         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
26415         the _IOWRT flag is also set.
26416
26417 2010-05-01  Bruno Haible  <bruno@clisp.org>
26418
26419         Fix doc about a HP-UX stdio bug.
26420         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
26421         * doc/posix-functions/ftello.texi: Likewise.
26422
26423 2010-05-01  Bruno Haible  <bruno@clisp.org>
26424
26425         lseek test: Fix failure on Solaris.
26426         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
26427         output.
26428
26429 2010-04-30  Jim Meyering  <meyering@redhat.com>
26430
26431         bootstrap: don't ignore failure to generate po*/Makevars
26432         * build-aux/bootstrap (with_gettext): Don't ignore failure
26433         to create po/Makevars or runtime-po/Makevars.
26434
26435 2010-04-29  Eric Blake  <eblake@redhat.com>
26436
26437         headers: relax license to LGPLv2+
26438         * modules/fcntl-h (License): Relax license.
26439         * modules/getopt-posix (License): Likewise.
26440         * modules/locale (License): Likewise.
26441         * modules/math (License): Likewise.
26442         * modules/pty (License): Likewise.
26443         * modules/sched (License): Likewise.
26444         * modules/search (License): Likewise.
26445         * modules/spawn (License): Likewise.
26446         * modules/stdarg (License): Likewise.
26447         * modules/sysexits (License): Likewise.
26448
26449 2010-04-29  Jim Meyering  <meyering@redhat.com>
26450
26451         inttypes: relax license to LGPLv2+
26452         * modules/inttypes (License): Relax license.
26453
26454 2010-04-29  Simon Josefsson  <simon@josefsson.org>
26455
26456         * top/maint.mk (indent): Run twice to produce idempotent results.
26457
26458 2010-04-28  Bruno Haible  <bruno@clisp.org>
26459
26460         getdate: Generate getdate.c in the source directory.
26461         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
26462         MOSTLYCLEANFILES.
26463         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
26464
26465 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
26466
26467         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
26468         is not declared as a const *; avoid warnings in that case.
26469
26470 2010-04-28  Eric Blake  <eblake@redhat.com>
26471
26472         canonicalize-lgpl: avoid compiler warning
26473         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
26474         declaration' / 'extraneous semicolon' warning with some compilers.
26475         Reported by Andreas Gruenbacher.
26476
26477 2010-04-28  Jim Meyering  <meyering@redhat.com>
26478
26479         init.sh: ensure a more reliable exit status when exiting via trap
26480         * tests/init.sh (setup_): Don't rely on $? in signal handler.
26481         Inspired by patches from Dmitry V. Levin.
26482         Also trap on signal 3 (SIGQUIT).
26483
26484 2010-04-27  Bruno Haible  <bruno@clisp.org>
26485
26486         Update doc about utimes().
26487         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26488         'utimens' module.
26489         Reported by Andreas Gruenbacher <agruen@suse.de>.
26490
26491 2010-04-27  Eric Blake  <eblake@redhat.com>
26492
26493         full-read, full-write: relax license
26494         * modules/full-read (License): Drop to LGPLv2+.
26495         * modules/full-write (License): Likewise.
26496         * modules/safe-read (License): Likewise.
26497         * modules/safe-write (License): Likewise.
26498
26499         pthread: mention library for linking
26500         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26501
26502 2010-04-27  Jim Meyering  <meyering@redhat.com>
26503
26504         maint.mk: fix a bug introduced in last change
26505         * top/maint.mk (gl_assured_headers_): Now that all names are on
26506         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26507         is not anchored to end of word, it should be adequate.
26508
26509         maint.mk: avoid side-effect in latest syntax-check
26510         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26511         to run commands via $(shell...), and hence to incur cost only when
26512         the new rule is actually run.
26513
26514         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26515         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26516         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26517         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26518         (gl_assured_headers_, az_, AZ_): Define.
26519         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26520
26521 2010-04-26  Jim Meyering  <jim@meyering.net>
26522             Bruno Haible  <bruno@clisp.org>
26523
26524         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26525         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26526         Prompted by an exchange with Gilles Espinasse.
26527
26528 2010-04-26  Jim Meyering  <meyering@redhat.com>
26529
26530         git-version-gen: aesthetic tweak
26531         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26532         so that the command remains on a single line.
26533
26534 2010-04-26  Eric Blake  <eblake@redhat.com>
26535
26536         git-version-gen: allow use on EBCDIC hosts
26537         * build-aux/git-version-gen (dirty): Use literal rather than tying
26538         ourselves to ascii.
26539         Reported by Steve Goetze.
26540
26541 2010-04-25  Bruno Haible  <bruno@clisp.org>
26542
26543         netdb: Add support for GNULIB_POSIXCHECK.
26544         * lib/netdb.in.h: Include warn-on-use.h.
26545         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26546         functions are used when GNULIB_POSIXCHECK is defined and the
26547         getaddrinfo module is not in use.
26548         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26549         freeaddrinfo, gai_strerror, getnameinfo are declared.
26550         * modules/netdb (Depends-on): Add warn-on-use.
26551         (Makefile.am): Include warn-on-use.h in netdb.h.
26552
26553 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26554
26555         build: avoid "make check" failure without .git/ directory
26556         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26557         there is no .git/ directory.
26558
26559 2010-04-25  Bruno Haible  <bruno@clisp.org>
26560
26561         ptsname: Fix misuse of ttyname_r.
26562         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26563         of errno.
26564
26565 2010-04-25  Bruno Haible  <bruno@clisp.org>
26566
26567         ttyname_r: Make it work on Solaris 10.
26568         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26569         if the system function has the POSIX declaration. Test whether the
26570         function fails if the buffer is less than 128 bytes large.
26571         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26572         system's ttyname_r function. Provide a reasonably large buffer.
26573         * modules/ttyname_r (Depends-on): Add extensions.
26574         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26575
26576 2010-04-25  Bruno Haible  <bruno@clisp.org>
26577
26578         Use the 'extensions' module for some more functions on Solaris.
26579         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26580         module.
26581         * doc/posix-functions/ctime_r.texi: Likewise.
26582         * doc/posix-functions/getgrgid_r.texi: Likewise.
26583         * doc/posix-functions/getgrnam_r.texi: Likewise.
26584         * doc/posix-functions/getpwnam_r.texi: Likewise.
26585         * doc/posix-functions/getpwuid_r.texi: Likewise.
26586         * doc/posix-functions/readdir_r.texi: Likewise.
26587         * doc/posix-functions/sigwait.texi: Likewise.
26588         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26589         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26590
26591 2010-04-25  Bruno Haible  <bruno@clisp.org>
26592
26593         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26594         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26595         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26596         * lib/ttyname_r.c: Include <limits.h>.
26597         (ttyname_r): Define using the system's ttyname_r function, if it exists
26598         and not on Solaris.
26599         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26600         set.
26601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26602         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26603         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26604         Reported by Simon Josefsson.
26605
26606 2010-04-25  Bruno Haible  <bruno@clisp.org>
26607
26608         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26609         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26610         * doc/posix-functions/ctime_r.texi: Likewise.
26611         * doc/posix-functions/getgrgid_r.texi: Likewise.
26612         * doc/posix-functions/getgrnam_r.texi: Likewise.
26613         * doc/posix-functions/getlogin_r.texi: Likewise.
26614         * doc/posix-functions/getpwnam_r.texi: Likewise.
26615         * doc/posix-functions/getpwuid_r.texi: Likewise.
26616         * doc/posix-functions/readdir_r.texi: Likewise.
26617         * doc/posix-functions/sigwait.texi: Likewise.
26618         * doc/posix-functions/ttyname_r.texi: Likewise.
26619         Reported by Simon Josefsson.
26620
26621 2010-04-25  Bruno Haible  <bruno@clisp.org>
26622
26623         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26624         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26625         also to --create-testdir.
26626         (func_acceptable): Don't consider the status of *-tests modules here.
26627         (func_modules_transitive_closure): Consider it here, before including a
26628         test module.
26629         (func_import, func_create_testdir): Set inc_all_direct_tests,
26630         inc_all_indirect_tests.
26631         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26632         --create-testdir and --create-megatestdir.
26633
26634 2010-04-25  Bruno Haible  <bruno@clisp.org>
26635
26636         gnulib-tool: Add --without-*-tests options.
26637         * gnulib-tool (func_usage): Document the --without-*-tests options.
26638         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26639         excl_unportable_tests): New variables.
26640         Fail if they are specified with --import or --update.
26641         (func_acceptable): Respect the excl_*_tests variables.
26642         (func_import): Set the excl_*_tests variables to empty.
26643
26644 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26645             Bruno Haible  <bruno@clisp.org>
26646
26647         Work around a MacOS X 10.4 bug with openpty.
26648         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26649         * tests/test-openpty.c (main): Close the master side explicitly.
26650
26651 2010-04-25  Bruno Haible  <bruno@clisp.org>
26652
26653         strnlen: Fix a C++ test error on MacOS X and Solaris.
26654         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26655         the function is not declared.
26656         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26657         Simon Josefsson.
26658
26659 2010-04-24  Bruno Haible  <bruno@clisp.org>
26660
26661         Avoid a gcc warning.
26662         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26663         of correct type for %08lx directive.
26664         Reported by Eric Blake.
26665
26666 2010-04-24  Bruno Haible  <bruno@clisp.org>
26667
26668         vasnprintf: Correct errno value in case of out-of-memory.
26669         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26670         or sprintf. Use the errno value from SNPRINTF or sprintf.
26671         Reported by Ian Beckwith <ianb@erislabs.net>.
26672
26673 2010-04-24  Bruno Haible  <bruno@clisp.org>
26674
26675         ansi-c++-opt: Find correct compiler when cross-compiling.
26676         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26677         AC_CHECK_PROGS.
26678         Reported by Simon Josefsson.
26679
26680 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26681
26682         vc-list-files: Add support for subversion
26683         * build-aux/vc-list-files: Use "svn list" to generate the list of
26684         files controlled by subversion.
26685
26686 2010-04-23  Jim Meyering  <meyering@redhat.com>
26687
26688         vc-list-files tests: convert to use init.sh
26689         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26690         path_prepend_.
26691         Use Exit, not exit.
26692         Use skip_ rather than open coding it.
26693         Remove trap set-up and compare definitions.
26694         * tests/test-vc-list-files-git.sh: Likewise.
26695         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26696
26697 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26698
26699         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26700         backup files.
26701
26702 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26703
26704         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26705
26706 2010-04-20  Eric Blake  <eblake@redhat.com>
26707
26708         tests: be robust to ignored SIGPIPE
26709         * tests/test-select-in.sh: Consume all output.
26710         * tests/test-lseek.sh: Check correct exit status, while avoiding
26711         EPIPE.
26712
26713 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26714             Bruno Haible  <bruno@clisp.org>
26715
26716         visibility: Don't use -fvisibility if it leads to a warning.
26717         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26718         yes, don't pretend that visibility works if it leads to a warning.
26719         Reported by Mike Gran <spk121@yahoo.com>.
26720
26721 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26722
26723         * build-aux/bootstrap: Use "git -h" for testing for supported options
26724         instead of "git --help".  The short-form option only shows a summary,
26725         and doesn't layout the full man page.  Grep for the full option name
26726         in the summary, too.
26727
26728 2010-04-19  Bruno Haible  <bruno@clisp.org>
26729
26730         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26731         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26732         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26733         mention of RELOCATABLE_STRIP.
26734         Reported by Sylvain Beucler <beuc@beuc.net>.
26735
26736 2010-04-19  Bruno Haible  <bruno@clisp.org>
26737
26738         * lib/diffseq.h: Fix typo in comment.
26739         Reported by Eric Blake.
26740
26741 2010-04-19  Bruno Haible  <bruno@clisp.org>
26742
26743         ioctl: Move autoconf macro to a .m4 file.
26744         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26745         * modules/ioctl (Files): Add it.
26746         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26747         Reported by Ian Beckwith <ianb@erislabs.net>.
26748
26749 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26750             Bruno Haible  <bruno@clisp.org>
26751
26752         diffseq: Accommodate use-case with abstract arrays.
26753         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26754         is not defined.
26755         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26756         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26757
26758 2010-04-18  Bruno Haible  <bruno@clisp.org>
26759
26760         * doc/posix-headers/stdbool.texi: More precise wording.
26761
26762 2010-04-17  Jim Meyering  <meyering@redhat.com>
26763
26764         maint.mk: use gnu-style indentation in an embedded perl script
26765         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26766         Rename variable: s/two/last_two_bytes/
26767
26768 2010-04-16  Eric Blake  <eblake@redhat.com>
26769
26770         test-stdbool: skip test that fails with Solaris CC
26771         * tests/test-stdbool.c (f): Skip test that causes compilation
26772         error under buggy C++ compiler.
26773         * lib/stdbool.in.h: Document the limitation.
26774         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26775
26776         setenv: allow compilation with C++
26777         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26778         register keyword.
26779
26780         stdint: allow test to pass with C++
26781         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26782
26783         getopt: allow compilation with C++
26784         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26785         struct.
26786         * lib/getopt.c (_getopt_internal_r): Use correct type.
26787         Reported by Dagobert Michelson, via Joel E. Denny.
26788
26789 2010-04-16  Bruno Haible  <bruno@clisp.org>
26790
26791         Override netdb.h always.
26792         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26793         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26794         Reported by Ludovic Courtès <ludo@gnu.org>.
26795
26796 2010-04-15  Bruno Haible  <bruno@clisp.org>
26797
26798         openpty: Fix mistake from 2010-03-21.
26799         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26800         Reported by Simon Josefsson.
26801
26802 2010-04-15  Eric Blake  <eblake@redhat.com>
26803
26804         test-forkpty: fix expected signature
26805         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26806         Reported by Simon Josefsson.
26807
26808 2010-04-15  Jim Meyering  <meyering@redhat.com>
26809
26810         maint.mk: texinfo_suffix_re_: correct the default regexp
26811         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26812
26813         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26814         make it configurable via texinfo_suffix_re_.
26815
26816 2010-04-14  Eric Blake  <eblake@redhat.com>
26817
26818         strtok_r: relax license to LGPLv2+
26819         * modules/strtok_r (License): Relax license.
26820         Reported by Matthias Bolte.
26821
26822 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26823
26824         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26825         version 1.4.4 by default instead of requiring the libgcrypt
26826         version used during build.  This makes it possible to use the
26827         application with older but still binary compatible libgcrypt
26828         versions.
26829
26830 2010-04-13  Eric Blake  <eblake@redhat.com>
26831
26832         getopt-gnu: match recent glibc fixes and posix ruling
26833         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26834         '+' handling, when requesting extensions.
26835         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26836         'W;' handling.
26837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26838         * doc/posix-functions/getopt.texi (getopt): Document this.
26839         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26840         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26841         Likewise.
26842
26843         getopt: merge bug fixes from glibc
26844         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26845         diagnostics.  Honor '+:' correctly.  Reject ';'.
26846
26847         getopt-posix: detect MacOS bug
26848         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26849         optind when missing a required argument.
26850         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26851         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26852         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26853         Likewise.
26854
26855         getopt-posix: avoid spurious failure on Solaris
26856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26857         an indicator that setting optind=1 is sufficient for reset.
26858
26859         getopt-posix: avoid spurious failure on FreeBSD
26860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26861         in POSIX mode, since the m4 test uses it.
26862
26863         gnulib-tool: silence warning on BSD sh
26864         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26865
26866 2010-04-13  Jim Meyering  <meyering@redhat.com>
26867
26868         doc: users.txt: GNU patch now uses gnulib
26869         * users.txt: Add patch.
26870
26871 2010-04-12  Jim Meyering  <meyering@redhat.com>
26872
26873         maint.mk: generate more concise timing data for syntax-check rules
26874         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26875         " done" from each line that reports a syntax-check test duration.
26876
26877 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26878
26879         git-version-gen: use "git update-index..." rather than "git status"
26880         * build-aux/git-version-gen: Use git update-index --refresh, not
26881         "git status".  With some versions of git, "git status" would fail
26882         to update the index and result in an unwarranted "-dirty" suffix.
26883
26884 2010-04-11  Jim Meyering  <meyering@redhat.com>
26885
26886         openat: correct formatting (no semantic change)
26887         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26888         Suggested by Bruno Haible.
26889
26890 2010-04-11  Bruno Haible  <bruno@clisp.org>
26891
26892         Stricter declaration checking in testdirs.
26893         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26894         If for_tests is true, augment AM_CPPFLAGS to define
26895         GNULIB_STRICT_CHECKING.
26896         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26897         GNULIB_STRICT_CHECKING is defined, verify that the function is
26898         declared.
26899
26900 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26901             Bruno Haible  <bruno@clisp.org>
26902
26903         libunistring: Improve configure output.
26904         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26905         Don't say "consider installing GNU libunistring" when checking again
26906         with libiconv.
26907
26908 2010-04-11  Bruno Haible  <bruno@clisp.org>
26909
26910         libunistring: Correct value of $LTLIBUNISTRING.
26911         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26912         correct the value of $LTLIBUNISTRING.
26913
26914 2010-04-11  Bruno Haible  <bruno@clisp.org>
26915
26916         havelib: Add static libraries to LIBS in the right order.
26917         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26918         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26919
26920 2010-04-11  Bruno Haible  <bruno@clisp.org>
26921
26922         libunistring: Detect libunistring also when it depends on libiconv.
26923         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26924         the second AC_LIB_HAVE_LINKFLAGS invocation.
26925
26926 2010-04-11  James Youngman  <jay@gnu.org>
26927
26928         close-stream: declare local scalars to be "const"
26929         * lib/close-stream.c (close_stream): Make boolean variables const
26930         to document the fact that we set but do not change them.
26931
26932 2010-04-11  Bruno Haible  <bruno@clisp.org>
26933
26934         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26935
26936 2010-04-11  Jim Meyering  <meyering@redhat.com>
26937
26938         maint.mk: don't include dist-check.mk
26939         * top/maint.mk: Remove bogus include directive.
26940
26941         maint.mk: improve empty-line-at-EOF check
26942         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26943         solution, rather than tail+Perl-based one.  The latter would read
26944         a few kilobytes from the end of each file, and did not handle empty
26945         files properly.
26946
26947         maint.mk: print the elapsed time for each syntax-check rule
26948         * top/maint.mk (sc_m_rules_): Save start time in a file.
26949         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26950         (local-check): Interpose the .z rules
26951
26952 2010-04-11  Jim Meyering  <meyering@redhat.com>
26953
26954         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26955         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26956         empty file with one that ends in an empty line.
26957
26958 2010-04-10  Bruno Haible  <bruno@clisp.org>
26959
26960         mkdir: Make it work on mingw64.
26961         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26962         * lib/mkdir.c: Update comment.
26963         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26964
26965 2010-04-10  Bruno Haible  <bruno@clisp.org>
26966
26967         Don't override improved macro from newer autoconf.
26968         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26969         autoconf >= 2.62.
26970         Reported by Joel E. Denny <jdenny@clemson.edu>.
26971
26972 2010-04-10  Jim Meyering  <meyering@redhat.com>
26973
26974         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26975         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26976
26977         maint.mk: correct a diagnostic
26978         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26979         in diagnostic; now use $prohibit.
26980
26981 2010-04-10  Bruno Haible  <address@hidden>
26982
26983         fchownat: Fix a C++ test error on Solaris 8.
26984         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26985         the function does not exist.
26986
26987 2010-04-10  Bruno Haible  <bruno@clisp.org>
26988
26989         vasnprintf: Add more tests.
26990         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26991         (test_function): Test converting an invalid wide string.
26992
26993         vasnprintf: Correct handling of unconvertible wide string arguments.
26994         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26995         VASNPRINTF.
26996         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26997         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26998         smaller than the expected maximum need for the directive. Set errno to
26999         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27000         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27001         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27002         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27003         * modules/vasnprintf (Files): Add m4/printf.m4.
27004         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27005
27006 2010-04-10  Bruno Haible  <bruno@clisp.org>
27007
27008         vasnprintf: Fix crash in %ls directive.
27009         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27010         string is passed as argument to %ls, with no precision and no width.
27011         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27012
27013 2010-04-10  Bruno Haible  <bruno@clisp.org>
27014
27015         vasnprintf: Fix multiple test failures on mingw.
27016         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27017         _snprintf, or snwprintf, not _snwprintf.
27018
27019 2010-04-10  Bruno Haible  <bruno@clisp.org>
27020
27021         write: Fix a C++ test error on mingw.
27022         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27023
27024 2010-04-10  Bruno Haible  <bruno@clisp.org>
27025
27026         vasnprintf test: Reduce code duplication.
27027         * tests/test-vasnprintf.c (test_function): New function, extracted from
27028         test_vasnprintf.
27029         (test_vasnprintf, test_asnprintf): Invoke it.
27030
27031 2010-04-10  Bruno Haible  <bruno@clisp.org>
27032
27033         strnlen: Fix warning in C++ mode on MacOS X.
27034         * lib/string.in.h (strnlen): Use the modern idiom.
27035         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27036         defining strnlen as a macro already in <config.h>.
27037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27038         REPLACE_STRNLEN.
27039         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27040         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27041
27042 2010-04-08  James Youngman  <jay@gnu.org>
27043
27044         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27045         the example.
27046
27047 2010-04-09  Jim Meyering  <meyering@redhat.com>
27048
27049         maint.mk: print better diagnostic when there is no $(_hv_file)
27050         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27051         announce that when $(_hv_file) (aka help-version) does not exist.
27052
27053         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27054         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27055         not try to interpret its random input bytes.  Jarno Rajahalme reported
27056         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27057         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27058         (mktempd_): Likewise, just in case.
27059
27060         ftruncate: add two years to projected module removal date: 2012
27061         * m4/ftruncate.m4: Adjust comments.
27062
27063         ftruncate: mark module as obsolete; even MinGW provides it, now
27064         * modules/ftruncate (Status): Obsolete.
27065         (Notice): Say that.
27066         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27067         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27068
27069 2010-04-08  Bruno Haible  <bruno@clisp.org>
27070
27071         Fix side effects from tests-related modules.
27072         * modules/dprintf-posix (Comment): New section.
27073         * modules/fprintf-posix (Comment): Likewise.
27074         * modules/obstack-printf-posix (Comment): Likewise.
27075         * modules/printf-posix (Comment): Likewise.
27076         * modules/snprintf-posix (Comment): Likewise.
27077         * modules/sprintf-posix (Comment): Likewise.
27078         * modules/vasnprintf-posix (Comment): Likewise.
27079         * modules/vasprintf-posix (Comment): Likewise.
27080         * modules/vdprintf-posix (Comment): Likewise.
27081         * modules/vfprintf-posix (Comment): Likewise.
27082         * modules/vprintf-posix (Comment): Likewise.
27083         * modules/vsnprintf-posix (Comment): Likewise.
27084         * modules/vsprintf-posix (Comment): Likewise.
27085         * modules/xprintf-posix (Comment): Likewise.
27086         * modules/xvasprintf-posix (Comment): Likewise.
27087         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27088         * modules/floorf-tests (Depends-on): Likewise.
27089         * modules/round-tests (Depends-on): Likewise.
27090         * modules/roundf-tests (Depends-on): Likewise.
27091         * modules/trunc-tests (Depends-on): Likewise.
27092         * modules/truncf-tests (Depends-on): Likewise.
27093         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27094         'fprintf-posix' module is not present.
27095         * tests/test-floorf2.c (check): Likewise.
27096         * tests/test-trunc2.c (check): Likewise.
27097         * tests/test-truncf2.c (check): Likewise.
27098         * tests/test-round2.c (equal): Likewise.
27099         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27100
27101 2010-04-07  Karl Berry  <karl@gnu.org>
27102
27103         * config/srclist.txt,
27104         * config/srclistvars.sh,
27105         * config/srclist-update: doc fixes.
27106
27107 2010-04-07  Jim Meyering  <meyering@redhat.com>
27108
27109         maint.mk: add a PATH crosschecking syntax-check rule
27110         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27111         Useful if you use a test like the one in help-version (coreutils,
27112         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27113         printed by prog --version.
27114
27115 2010-04-06  Bruno Haible  <bruno@clisp.org>
27116
27117         Fix link error on mingw.
27118         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27119         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27120
27121 2010-04-06  Bruno Haible  <bruno@clisp.org>
27122
27123         Assume rmdir exists.
27124         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27125
27126 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27127
27128         doc: update users.txt
27129         * users.txt: Add gcal.
27130
27131 2010-04-06  Jim Meyering  <meyering@redhat.com>
27132
27133         init.sh: simply unset TMPDIR rather than risking env -i
27134         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27135         although it probably works fine on all Unix-based systems, some
27136         systems (Cygwin?) cannot tolerate a totally cleared environment.
27137         Suggestion from Eric Blake.
27138
27139 2010-04-06  Jim Meyering  <meyering@redhat.com>
27140
27141         init.sh: portability fix: use env's POSIX-specified -i option not -u
27142         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27143         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27144
27145 2010-04-05  Bruno Haible  <bruno@clisp.org>
27146
27147         btowc: Work around Cygwin 1.7.2 bug.
27148         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27149         does not map NUL to 0.
27150         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27151
27152 2010-04-05  Bruno Haible  <bruno@clisp.org>
27153
27154         Make the multithread modules work on Cygwin 1.7.2.
27155         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27156         imported symbols can be declared weak, so that it returns "no" on
27157         Cygwin 1.7.2.
27158
27159 2010-04-05  Bruno Haible  <bruno@clisp.org>
27160
27161         Use the module 'strncat'.
27162         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27163
27164         Tests for module 'strncat'.
27165         * modules/strncat-tests: New file.
27166         * tests/test-strncat.c: New file.
27167
27168         New module 'strncat'.
27169         * lib/string.in.h (strncat): New declaration.
27170         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27171         * m4/strncat.m4: New file, based on m4/memchr.m4.
27172         * modules/strncat: New file.
27173         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27174         is declared.
27175         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27176         REPLACE_STRNCAT.
27177         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27178         REPLACE_STRNCAT.
27179         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27180         module.
27181         * tests/test-string-c++.cc: Check signature of strncat.
27182
27183 2010-04-05  Jim Meyering  <meyering@redhat.com>
27184
27185         xstrtoumax-tests: convert to use init.sh
27186         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27187         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27188         Use Exit, not exit.
27189         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27190
27191         xstrtoimax-tests: convert to use init.sh
27192         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
27193         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27194         Use Exit, not exit.
27195         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27196
27197 2010-04-05  Bruno Haible  <bruno@clisp.org>
27198
27199         sys_socket: Avoid #define replacements in C++ mode.
27200         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
27201         warning to the function if possible, rather than #defining the symbol
27202         to a dysfunctional alias.
27203
27204 2010-04-05  Bruno Haible  <bruno@clisp.org>
27205
27206         fseeko: Fix C++ test error on mingw.
27207         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
27208         gl_FUNC_FSEEKO.
27209         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
27210         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
27211         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
27212         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
27213
27214 2010-04-05  Bruno Haible  <bruno@clisp.org>
27215
27216         duplocale: Improve test output.
27217         * tests/test-duplocale.c (main): Print reason for skipped test.
27218
27219 2010-04-05  Bruno Haible  <bruno@clisp.org>
27220
27221         Assume rmdir exists.
27222         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
27223         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
27224
27225 2010-04-05  Bruno Haible  <bruno@clisp.org>
27226
27227         Fix link error on Solaris 8 with cc.
27228         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
27229
27230 2010-04-05  Bruno Haible  <bruno@clisp.org>
27231
27232         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27233         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
27234
27235 2010-04-05  Bruno Haible  <bruno@clisp.org>
27236
27237         vasprintf: Update documentation.
27238         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
27239
27240 2010-04-05  Bruno Haible  <bruno@clisp.org>
27241
27242         ptsname: Improve test.
27243         * tests/test-ptsname.c (main): Also try the various master names of BSD
27244         systems.
27245
27246 2010-04-05  Bruno Haible  <bruno@clisp.org>
27247
27248         memchr: Avoid a possible C++ test error.
27249         * lib/string.in.h (memchr): Provide declaration if function is missing.
27250         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
27251         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
27252         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
27253         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
27254
27255 2010-04-05  Bruno Haible  <bruno@clisp.org>
27256
27257         strtok_r: Improve idiom.
27258         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
27259         AC_LIBOBJ is used.
27260
27261 2010-04-05  Bruno Haible  <bruno@clisp.org>
27262
27263         strdup: Improve idiom.
27264         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
27265         AC_LIBOBJ is used.
27266         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
27267         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
27268         when AC_LIBOBJ is used.
27269
27270 2010-04-05  Bruno Haible  <bruno@clisp.org>
27271
27272         mbsinit, mbrtowc, wcrtomb: Improve idioms.
27273         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
27274         don't set REPLACE_MBSINIT to 1.
27275         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
27276         don't set REPLACE_MBRTOWC to 1.
27277         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
27278         exist, don't set REPLACE_MBSRTOWCS to 1.
27279         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
27280         exist, don't set REPLACE_MBSNRTOWCS to 1.
27281         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
27282         don't set REPLACE_WCRTOMB to 1.
27283         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
27284         exist, don't set REPLACE_WCSRTOMBS to 1.
27285         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
27286         exist, don't set REPLACE_WCSNRTOMBS to 1.
27287
27288 2010-04-05  Bruno Haible  <bruno@clisp.org>
27289
27290         ldexpl: Improve idiom.
27291         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
27292         make sure to set HAVE_DECL_LDEXPL to 0.
27293
27294 2010-04-05  Jim Meyering  <meyering@redhat.com>
27295
27296         xstrtol-tests: convert to use init.sh
27297         * modules/xstrtol-tests (Files): Add tests/init.sh.
27298         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27299         Use Exit, not exit.
27300         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27301
27302         atexit-tests: convert to use init.sh
27303         * modules/atexit-tests (Files): Add tests/init.sh.
27304         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27305         Use Exit, not exit.
27306         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27307
27308         init.sh: fix typo
27309         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27310
27311         init.sh: make it easier for a test script to write to the tty, ...
27312         when using automake's parallel-tests mode.
27313         * tests/init.sh (stderr_fileno_): Define overridable variable.
27314         (warn_): New function, to use it.
27315         (fail_, skip_, framework_failure_): Use warn_.
27316
27317 2010-04-04  Bruno Haible  <bruno@clisp.org>
27318
27319         btowc: Avoid warning.
27320         * lib/btowc.c: Include <stdlib.h>.
27321         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27322
27323 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27324             Bruno Haible  <bruno@clisp.org>
27325
27326         wchar: Port to NetBSD 1.5.
27327         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27328         * lib/wctype.in.h (WEOF): Likewise.
27329
27330 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27331             Bruno Haible  <bruno@clisp.org>
27332
27333         Port extended stdio to NetBSD 1.5.
27334         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27335         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27336         older.
27337
27338 2010-04-04  Bruno Haible  <bruno@clisp.org>
27339
27340         string: Remove unused substitution.
27341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27342         HAVE_DECL_STRERROR.
27343         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27344
27345 2010-04-04  Bruno Haible  <bruno@clisp.org>
27346
27347         strtod: Avoid a possible C++ test error.
27348         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27349         set REPLACE_STRTOD.
27350
27351 2010-04-04  Bruno Haible  <bruno@clisp.org>
27352
27353         strerror: Update documentation.
27354         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27355
27356 2010-04-04  Bruno Haible  <bruno@clisp.org>
27357
27358         stdio: Fix some C++ test errors on Solaris 8 with GCC.
27359         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
27360         _GL_CXXALIAS_SYS_CAST.
27361
27362 2010-04-04  Bruno Haible  <bruno@clisp.org>
27363
27364         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27365         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
27366         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
27367         REPLACE_FREXPL to 1.
27368         * doc/posix-functions/frexpl.texi: Update documentation.
27369
27370 2010-04-04  Bruno Haible  <bruno@clisp.org>
27371
27372         math: Fix some C++ test errors on Solaris 8 and Cygwin.
27373         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
27374
27375 2010-04-04  Bruno Haible  <bruno@clisp.org>
27376
27377         Implement nanosleep for native Windows.
27378         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27379
27380 2010-04-04  Bruno Haible  <bruno@clisp.org>
27381
27382         math: Fix some C++ test errors on Solaris 8.
27383         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27384
27385 2010-04-04  Bruno Haible  <bruno@clisp.org>
27386
27387         math: Fix some C++ test errors on Cygwin.
27388         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27389         truncl): Provide declaration if the system does not have it.
27390         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27391         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27392         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27393         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27394         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27395         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27396         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27397         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27398         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27399         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27400         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27401         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27402         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27403         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27404         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27405         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27407         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27408         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27409         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27410         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27411         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27412
27413 2010-04-04  Bruno Haible  <bruno@clisp.org>
27414
27415         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
27416         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27417         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27418         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27419         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27420         * m4/isinf.m4 (gl_ISINF): Likewise.
27421         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27422
27423 2010-04-04  Bruno Haible  <bruno@clisp.org>
27424
27425         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
27426         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27427
27428 2010-04-04  Bruno Haible  <bruno@clisp.org>
27429
27430         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
27431         * modules/tmpfile (configure.ac): Update.
27432
27433         tmpfile: Fix C++ test error on mingw.
27434         * lib/stdio.in.h (tmpfile): New declaration.
27435         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
27436         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
27437         * modules/tmpfile (Depends-on): Add stdio.
27438         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27439         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
27440         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
27441         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
27442         REPLACE_TMPFILE.
27443         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
27444
27445 2010-04-04  Bruno Haible  <bruno@clisp.org>
27446
27447         ioctl: Fix C++ test error on mingw.
27448         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
27449         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
27450         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
27451
27452 2010-04-03  Bruno Haible  <bruno@clisp.org>
27453
27454         wcwidth: Fix C++ test error on mingw.
27455         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
27456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
27457         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
27458
27459 2010-04-03  Bruno Haible  <bruno@clisp.org>
27460
27461         nanosleep: Fix C++ test error on mingw.
27462         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
27463         * lib/time.in.h (nanosleep): Use modern idiom.
27464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
27465         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
27466         REPLACE_NANOSLEEP to 1.
27467         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
27468         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
27469
27470 2010-04-03  Bruno Haible  <bruno@clisp.org>
27471
27472         strptime: Fix C++ test error on mingw.
27473         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
27474         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
27475         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
27476         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
27477         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
27478         not REPLACE_STRPTIME.
27479         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
27480         REPLACE_STRPTIME.
27481
27482 2010-04-03  Bruno Haible  <bruno@clisp.org>
27483
27484         timegm: Fix C++ test error on mingw.
27485         * lib/time.in.h (timegm): Use modern idiom.
27486         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27487         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27488         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27489         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27490
27491 2010-04-03  Bruno Haible  <bruno@clisp.org>
27492
27493         timegm: Assume declaration if function exists.
27494         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27495         if it exists. Don't clobber ac_cv_func_timegm.
27496
27497 2010-04-03  Bruno Haible  <bruno@clisp.org>
27498
27499         time_r: Fix C++ test error on mingw.
27500         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27501         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27502         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27503         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27504         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27505
27506 2010-04-03  Bruno Haible  <bruno@clisp.org>
27507
27508         time_r: Minor updates.
27509         * modules/time_r (Description): Mention the provided functions.
27510         * lib/time_r.c: Don't include <string.h>.
27511         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27512         * doc/posix-functions/localtime_r.texi: Likewise.
27513
27514 2010-04-03  Bruno Haible  <bruno@clisp.org>
27515
27516         time: Fix regression introduced on 2010-03-08.
27517         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27518         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27519
27520 2010-04-03  Jim Meyering  <meyering@redhat.com>
27521
27522         maint.mk: don't silently disable project-specific syntax-check rules
27523         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27524         that they need to convert their project-specific syntax-check rules
27525         to use the new _sc_search_regexp.
27526
27527 2010-04-03  Bruno Haible  <bruno@clisp.org>
27528
27529         fchdir: Fix regression introduced on 2010-03-08.
27530         * lib/unistd.in.h (fchdir): Fix declaration.
27531         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27533         REPLACE_FCHDIR.
27534         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27535         REPLACE_FCHDIR.
27536
27537 2010-04-03  Bruno Haible  <bruno@clisp.org>
27538
27539         getpagesize: Fix C++ test error on mingw.
27540         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27541         system does not declare the function.
27542         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27543         declared.
27544         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27545         HAVE_DECL_GETPAGESIZE.
27546         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27547
27548 2010-04-03  Bruno Haible  <bruno@clisp.org>
27549
27550         stdio: Make C++ tests work on mingw.
27551         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27552         does not declare the function.
27553
27554 2010-04-03  Bruno Haible  <bruno@clisp.org>
27555
27556         ftello: Fix C++ test error on mingw.
27557         * lib/stdio.in.h (ftello): Use modern idiom.
27558         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27559         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27560         is missing and that it needs to be replaced.
27561         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27563         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27564
27565 2010-04-03  Bruno Haible  <bruno@clisp.org>
27566
27567         fseeko: Fix C++ test error on mingw.
27568         * lib/stdio.in.h (fseeko): Use modern idiom.
27569         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27570         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27571         is missing and that it needs to be replaced.
27572         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27574         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27575
27576 2010-04-03  Bruno Haible  <bruno@clisp.org>
27577
27578         mkstemp: Fix C++ test error on mingw.
27579         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27580         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27581         function is missing and that it needs to be replaced.
27582         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27583         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27584
27585 2010-04-03  Bruno Haible  <bruno@clisp.org>
27586
27587         stpncpy: Fix C++ test error on mingw.
27588         * lib/string.in.h (stpncpy): Use modern idiom.
27589         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27590         function is missing and that it needs to be replaced.
27591         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27592         REPLACE_STPNCPY.
27593         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27594
27595 2010-04-03  Bruno Haible  <bruno@clisp.org>
27596
27597         sys_stat: Fix C++ test error on mingw.
27598         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27599         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27600
27601 2010-04-03  Bruno Haible  <bruno@clisp.org>
27602
27603         pty: Update doc.
27604         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27605
27606 2010-04-03  Bruno Haible  <bruno@clisp.org>
27607
27608         unistd: Fix C++ test error on mingw.
27609         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27610
27611 2010-04-03  Bruno Haible  <bruno@clisp.org>
27612
27613         Update doc regarding mingw.
27614         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27615         * doc/glibc-functions/login_tty.texi: Likewise.
27616         * doc/glibc-functions/forkpty.texi: Likewise.
27617
27618 2010-04-03  Bruno Haible  <bruno@clisp.org>
27619
27620         stdlib: Avoid compilation failure of c-strtold on mingw.
27621         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27622
27623 2010-04-03  Bruno Haible  <bruno@clisp.org>
27624
27625         locale: Make C++ tests work on Cygwin and mingw.
27626         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27627         cannot provide the function.
27628         Reported by Simon Josefsson.
27629
27630 2010-04-03  Bruno Haible  <bruno@clisp.org>
27631
27632         localename: Port to MacOS X 10.6.
27633         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27634         memory layout of the locales in MacOS X 10.6 as well.
27635         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27636
27637 2010-04-02  Bruno Haible  <bruno@clisp.org>
27638
27639         gnulib-tool: Ensure that long-running tests are executed last.
27640         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27641         running tests after the one for the other tests.
27642
27643 2010-04-02  Bruno Haible  <bruno@clisp.org>
27644
27645         gnulib-tool: Ensure the tests in the main directory are executed first.
27646         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27647         start with the current directory.
27648
27649 2010-04-02  Bruno Haible  <bruno@clisp.org>
27650
27651         Tests for module 'havelib', moved here from GNU gettext.
27652         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27653         modifications.
27654         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27655         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27656         with modifications.
27657         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27658         modifications.
27659         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27660         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27661         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27662         with modifications.
27663         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27664         with modifications.
27665         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27666         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27667         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27668         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27669         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27670         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27671         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27672         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27673         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27674         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27675         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27676         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27677         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27678         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27679         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27680         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27681         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27682         with modifications.
27683         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27684         with modifications.
27685         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27686         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27687         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27688         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27689         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27690         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27691         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27692         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27693         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27694         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27695         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27696         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27697         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27698         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27699         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27700         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27701         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27702         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27703         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27704         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27705         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27706         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27707         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27708         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27709         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27710         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27711         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27712         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27713         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27714         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27715         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27716         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27717         * tests/havelib/rpathx/rpathx.c: New file, from
27718         gettext/autoconf-lib-link.
27719         * tests/havelib/rpathx/Makefile.am: New file, from
27720         gettext/autoconf-lib-link.
27721         * tests/havelib/rpathx/configure.ac: New file, from
27722         gettext/autoconf-lib-link with modifications.
27723         * tests/havelib/rpathy/rpathy.c: New file, from
27724         gettext/autoconf-lib-link.
27725         * tests/havelib/rpathy/Makefile.am: New file, from
27726         gettext/autoconf-lib-link.
27727         * tests/havelib/rpathy/configure.ac: New file, from
27728         gettext/autoconf-lib-link with modifications.
27729         * tests/havelib/rpathz/rpathz.c: New file, from
27730         gettext/autoconf-lib-link.
27731         * tests/havelib/rpathz/Makefile.am: New file, from
27732         gettext/autoconf-lib-link.
27733         * tests/havelib/rpathz/configure.ac: New file, from
27734         gettext/autoconf-lib-link with modifications.
27735         * tests/havelib/rpathlx/usex.c: New file, from
27736         gettext/autoconf-lib-link.
27737         * tests/havelib/rpathlx/Makefile.am: New file, from
27738         gettext/autoconf-lib-link.
27739         * tests/havelib/rpathlx/configure.ac: New file, from
27740         gettext/autoconf-lib-link with modifications.
27741         * tests/havelib/rpathly/usey.c: New file, from
27742         gettext/autoconf-lib-link.
27743         * tests/havelib/rpathly/Makefile.am: New file, from
27744         gettext/autoconf-lib-link.
27745         * tests/havelib/rpathly/configure.ac: New file, from
27746         gettext/autoconf-lib-link with modifications.
27747         * tests/havelib/rpathlz/usez.c: New file, from
27748         gettext/autoconf-lib-link.
27749         * tests/havelib/rpathlz/Makefile.am: New file, from
27750         gettext/autoconf-lib-link.
27751         * tests/havelib/rpathlz/configure.ac: New file, from
27752         gettext/autoconf-lib-link with modifications.
27753         * tests/havelib/rpathlyx/usey.c: New file, from
27754         gettext/autoconf-lib-link.
27755         * tests/havelib/rpathlyx/Makefile.am: New file, from
27756         gettext/autoconf-lib-link.
27757         * tests/havelib/rpathlyx/configure.ac: New file, from
27758         gettext/autoconf-lib-link with modifications.
27759         * tests/havelib/rpathlzyx/usez.c: New file, from
27760         gettext/autoconf-lib-link.
27761         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27762         gettext/autoconf-lib-link.
27763         * tests/havelib/rpathlzyx/configure.ac: New file, from
27764         gettext/autoconf-lib-link with modifications.
27765         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27766         with modifications.
27767
27768 2010-04-02  Bruno Haible  <bruno@clisp.org>
27769
27770         gnulib-tool: Create distributed built sources also for the tests.
27771         * gnulib-tool (func_create_testdir): Also generate distributed built
27772         sources in the tests directory.
27773
27774 2010-04-02  Bruno Haible  <bruno@clisp.org>
27775
27776         gnulib-tool: Obey user's environment variables.
27777         * gnulib-tool (func_create_testdir): When creating built sources,
27778         respect the environment variables for autoconf, automake, etc. given by
27779         the user.
27780
27781 2010-04-02  Bruno Haible  <bruno@clisp.org>
27782
27783         gnulib-tool: Provide the value of --m4-base to modules.
27784         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27785         of gl_m4_base.
27786
27787 2010-04-02  Eric Blake  <eblake@redhat.com>
27788
27789         maint.mk: fix some fallout
27790         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27791         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27792
27793 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27794
27795         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27796         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27797         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27798         (sc_cast_of_x_alloc_return_value): Likewise.
27799         (sc_cast_of_alloca_return_value): Likewise.
27800         (sc_space_tab): Likewise.
27801         (sc_prohibit_atoi_atof): Likewise.
27802         (sc_prohibit_magic_number_exit): Likewise.
27803         (sc_error_exit_success): Likewise.
27804         (sc_file_system): Likewise.
27805         (sc_prohibit_have_config_h): Likewise.
27806         (sc_require_config_h): Likewise.
27807         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27808         (sc_obsolete_symbols): Likewise.
27809         (sc_changelog): Likewise.
27810         (sc_program_name): Likewise.
27811         (sc_the_the): Likewise.
27812         (sc_trailing_blank): Likewise.
27813         (sc_two_space_separator_in_usage): Likewise.
27814         (sc_useless_cpp_parens): Likewise.
27815         (sc_GPL_version): Likewise.
27816         (sc_GFDL_version): Likewise.
27817         (sc_texinfo_acronym): Likewise.
27818         (sc_prohibit_cvs_keyword): Likewise.
27819         (sc_prohibit_stat_st_blocks): Likewise.
27820         (sc_prohibit_S_IS_definition): Likewise.
27821         (sc_redundant_const): Likewise.
27822         (sc_makefile_TAB_only_indentation): Likewise.
27823         (sc_m4_quote_check): Likewise.
27824         (sc_makefile_path_separator_check): Likewise.
27825         (sc_copyright_check): Likewise.
27826         (sc_Wundef_boolean): Likewise.
27827         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27828
27829         maint.mk: match 0 or more whitespace-before-function-call '('
27830         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27831         that have zero or two-and-more spaces between the function name
27832         and the open parenthesis.
27833         (sc_error_message_warn_fatal): Likewise.
27834         (sc_error_message_uppercase): Likewise.
27835         (sc_error_message_period): Likewise.
27836
27837 2010-03-31  Eric Blake  <eblake@redhat.com>
27838
27839         maint.mk: check for [ as well as test
27840         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27841         Based on a libvirt report by Matthias Bolte.
27842
27843         gnumakefile: don't squelch _version output
27844         * top/GNUmakefile (_version): Create one-shot dependency rather
27845         than using $(shell) when version must be regenerated.
27846         (_autoreconf): Run verbosely, by default.
27847
27848         sys_time: avoid compiler warnings
27849         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27850         unconditional, fixing regression from 2010-03-29.
27851         Reported by Simon Josefsson.
27852
27853 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27854
27855         maint.mk: s/_header_without_use/_sc_header_without_use/
27856         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27857         (sc_prohibit_assert_without_use): Use the new name.
27858         (sc_prohibit_close_stream_without_use): Likewise.
27859         (sc_prohibit_getopt_without_use): Likewise.
27860         (sc_prohibit_quotearg_without_use): Likewise.
27861         (sc_prohibit_quote_without_use): Likewise.
27862         (sc_prohibit_long_options_without_use): Likewise.
27863         (sc_prohibit_inttostr_without_use): Likewise.
27864         (sc_prohibit_ignore_value_without_use): Likewise.
27865         (sc_prohibit_error_without_use): Likewise.
27866         (sc_prohibit_xalloc_without_use): Likewise.
27867         (sc_prohibit_hash_without_use): Likewise.
27868         (sc_prohibit_hash_pjw_without_use): Likewise.
27869         (sc_prohibit_safe_read_without_use): Likewise.
27870         (sc_prohibit_argmatch_without_use): Likewise.
27871         (sc_prohibit_canonicalize_without_use): Likewise.
27872         (sc_prohibit_root_dev_ino_without_use): Likewise.
27873         (sc_prohibit_openat_without_use): Likewise.
27874         (sc_prohibit_c_ctype_without_use): Likewise.
27875         (sc_prohibit_signal_without_use): Likewise.
27876         (sc_prohibit_intprops_without_use): Likewise.
27877
27878 2010-03-30  Eric Blake  <eblake@redhat.com>
27879
27880         maint: improve module indicators
27881         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27882         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27883         columns, and avoid extra macro expansion.
27884
27885         fdopendir: work around FreeBSD bug
27886         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27887         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27888         * modules/dirent (Makefile.am): Substitute it.
27889         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27890         declaration.
27891         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27892         fix.
27893         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27894
27895 2010-03-29  Bruno Haible  <bruno@clisp.org>
27896
27897         Emit #pragma system_header after the inclusion guard, not before.
27898         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27899         guard that spans the entire file, not before. This enables an
27900         optimization in GCC's preprocessor.
27901         * lib/ctype.in.h: Likewise.
27902         * lib/dirent.in.h: Likewise.
27903         * lib/errno.in.h: Likewise.
27904         * lib/float.in.h: Likewise.
27905         * lib/getopt.in.h: Likewise.
27906         * lib/iconv.in.h: Likewise.
27907         * lib/langinfo.in.h: Likewise.
27908         * lib/locale.in.h: Likewise.
27909         * lib/math.in.h: Likewise.
27910         * lib/netdb.in.h: Likewise.
27911         * lib/netinet_in.in.h: Likewise.
27912         * lib/pty.in.h: Likewise.
27913         * lib/sched.in.h: Likewise.
27914         * lib/se-selinux.in.h: Likewise.
27915         * lib/search.in.h: Likewise.
27916         * lib/spawn.in.h: Likewise.
27917         * lib/stdarg.in.h: Likewise.
27918         * lib/stdint.in.h: Likewise.
27919         * lib/string.in.h: Likewise.
27920         * lib/strings.in.h: Likewise.
27921         * lib/sys_file.in.h: Likewise.
27922         * lib/sys_ioctl.in.h: Likewise.
27923         * lib/sys_time.in.h: Likewise.
27924         * lib/sys_times.in.h: Likewise.
27925         * lib/sys_utsname.in.h: Likewise.
27926         * lib/sys_wait.in.h: Likewise.
27927         * lib/sysexits.in.h: Likewise.
27928         * lib/wctype.in.h: Likewise.
27929
27930 2010-03-28  James Youngman  <jay@gnu.org>
27931
27932         save-cwd: don't leak a file descriptor when the caller execs.
27933         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27934         saved file descriptor.
27935         * modules/save-cwd (Depends-on): Depend on cloexec.
27936
27937 2010-03-29  Bruno Haible  <bruno@clisp.org>
27938
27939         Remove vestiges of fts-lgpl module.
27940         * lib/fts_.h: Assume GNULIB_FTS is 1.
27941         * lib/fts.c: Likewise.
27942         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27943
27944 2010-03-28  Bruno Haible  <bruno@clisp.org>
27945
27946         Fix definition of tests witness macro.
27947         * gnulib-tool (func_import): Fix definition of witness macro.
27948
27949 2010-03-28  Bruno Haible  <bruno@clisp.org>
27950
27951         Fix ioctl's protoype on glibc systems.
27952         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27953         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27954         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27955         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27956         signature. If not, arrange to replace the ioctl function.
27957         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27958         REPLACE_IOCTL.
27959         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27960         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27961         Reported by Ludovic Courtès <ludo@gnu.org>.
27962
27963 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27964
27965         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27966         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27967         made it so grep -r --include=GLOB* ... did not work.
27968
27969 2010-03-26  Jim Meyering  <meyering@redhat.com>
27970             Eric Blake  <eblake@redhat.com>
27971
27972         maint.mk: prohibit use of test's -o and -a operators
27973         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27974
27975 2010-03-28  Bruno Haible  <bruno@clisp.org>
27976
27977         Remove unused GNULIB_XYZ macro definitions.
27978         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27979         invocation.
27980
27981 2010-03-28  Bruno Haible  <bruno@clisp.org>
27982
27983         Mark privileged tests modules.
27984         * modules/idpriv-drop-tests (Status): New section.
27985         * modules/idpriv-droptemp-tests (Status): New section.
27986
27987 2010-03-28  Bruno Haible  <bruno@clisp.org>
27988
27989         Split C++ tests into separate tests modules.
27990         * modules/dirent-c++-tests: New file, extracted from
27991         modules/dirent-tests.
27992         * modules/dirent-tests: Depend on it.
27993         * modules/fcntl-h-c++-tests: New file, extracted from
27994         modules/fcntl-h-tests.
27995         * modules/fcntl-h-tests: Depend on it.
27996         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27997         * modules/glob-tests: Depend on it.
27998         * modules/iconv-h-c++-tests: New file, extracted from
27999         modules/iconv-h-tests.
28000         * modules/iconv-h-tests: Depend on it.
28001         * modules/langinfo-c++-tests: New file, extracted from
28002         modules/langinfo-tests.
28003         * modules/langinfo-tests: Depend on it.
28004         * modules/locale-c++-tests: New file, extracted from
28005         modules/locale-tests.
28006         * modules/locale-tests: Depend on it.
28007         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28008         * modules/math-tests: Depend on it.
28009         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28010         * modules/pty-tests: Depend on it.
28011         * modules/search-c++-tests: New file, extracted from
28012         modules/search-tests.
28013         * modules/search-tests: Depend on it.
28014         * modules/signal-c++-tests: New file, extracted from
28015         modules/signal-tests.
28016         * modules/signal-tests: Depend on it.
28017         * modules/spawn-c++-tests: New file, extracted from
28018         modules/spawn-tests.
28019         * modules/spawn-tests: Depend on it.
28020         * modules/stdio-c++-tests: New file, extracted from
28021         modules/stdio-tests.
28022         * modules/stdio-tests: Depend on it.
28023         * modules/stdlib-c++-tests: New file, extracted from
28024         modules/stdlib-tests.
28025         * modules/stdlib-tests: Depend on it.
28026         * modules/string-c++-tests: New file, extracted from
28027         modules/string-tests.
28028         * modules/string-tests: Depend on it.
28029         * modules/sys_ioctl-c++-tests: New file, extracted from
28030         modules/sys_ioctl-tests.
28031         * modules/sys_ioctl-tests: Depend on it.
28032         * modules/sys_select-c++-tests: New file, extracted from
28033         modules/sys_select-tests.
28034         * modules/sys_select-tests: Depend on it.
28035         * modules/sys_socket-c++-tests: New file, extracted from
28036         modules/sys_socket-tests.
28037         * modules/sys_socket-tests: Depend on it.
28038         * modules/sys_stat-c++-tests: New file, extracted from
28039         modules/sys_stat-tests.
28040         * modules/sys_stat-tests: Depend on it.
28041         * modules/sys_time-c++-tests: New file, extracted from
28042         modules/sys_time-tests.
28043         * modules/sys_time-tests: Depend on it.
28044         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28045         * modules/time-tests: Depend on it.
28046         * modules/unistd-c++-tests: New file, extracted from
28047         modules/unistd-tests.
28048         * modules/unistd-tests: Depend on it.
28049         * modules/wchar-c++-tests: New file, extracted from
28050         modules/wchar-tests.
28051         * modules/wchar-tests: Depend on it.
28052         * modules/wctype-c++-tests: New file, extracted from
28053         modules/wctype-tests.
28054         * modules/wctype-tests: Depend on it.
28055         Reported by Simon Josefsson.
28056
28057 2010-03-28  Bruno Haible  <bruno@clisp.org>
28058
28059         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28060         * gnulib-tool (func_exists_module): New function, extracted from
28061         func_verify_module.
28062         (func_verify_module): Use it.
28063         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28064         'foo' only if 'foo' exists.
28065         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28066         module.
28067
28068 2010-03-28  Bruno Haible  <bruno@clisp.org>
28069
28070         gnulib-tool: Add support for special categories of tests.
28071         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28072         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28073         (func_usage): Document them.
28074         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28075         inc_unportable_tests, inc_all_tests): New variables.
28076         (func_acceptable): Consider these variables.
28077         (func_modules_transitive_closure): Make it work when the 'Status' field
28078         consists of multiple words.
28079         (func_import): Store and restore the values of inc_cxx_tests,
28080         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28081         inc_all_tests in gnulib-comp.m4.
28082         (func_create_testdir): Set inc_all_tests to true.
28083         * doc/gnulib.texi (Extra tests modules): New section.
28084         Suggested by Jim Meyering.
28085
28086 2010-03-28  Bruno Haible  <bruno@clisp.org>
28087
28088         ansi-c++-opt: Allow turning off the C++ build by default.
28089         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28090         gl_CXX_CHOICE_DEFAULT_NO is defined.
28091         Requested by Eric Blake.
28092
28093 2010-03-28  Bruno Haible  <bruno@clisp.org>
28094
28095         unistd: Avoid #define replacements in C++ mode.
28096         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28097         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28098         setsockopt, shutdown, select): In C++, attach a warning to the function
28099         if possible, rather than #defining the symbol to a dysfunctional alias.
28100         Reported by John W. Eaton <jwe@gnu.org>.
28101
28102 2010-03-28  Bruno Haible  <bruno@clisp.org>
28103
28104         Fix link errors on mingw.
28105         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28106         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28107         $(LIBSOCKET).
28108         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28109         $(LIBSOCKET).
28110
28111 2010-03-28  Bruno Haible  <bruno@clisp.org>
28112             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28113
28114         lib-ignore: Determine different options for different compilers.
28115         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28116         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28117         Add comments.
28118         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28119         * NEWS: Mention the change.
28120
28121 2010-03-27  Bruno Haible  <bruno@clisp.org>
28122
28123         Remove unused GNULIB_XYZ macro definitions.
28124         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28125         * modules/fseek (configure.ac): Likewise.
28126         * modules/ioctl (configure.ac): Likewise.
28127         * modules/open (configure.ac): Likewise.
28128         * modules/stdlib-safer (configure.ac): Likewise.
28129
28130 2010-03-27  Bruno Haible  <bruno@clisp.org>
28131
28132         Add a remark about certain modules.
28133         * modules/malloc (Comment): New section.
28134         * modules/realloc (Comment): Likewise.
28135         * modules/sigpipe (Comment): Likewise.
28136
28137 2010-03-27  Bruno Haible  <bruno@clisp.org>
28138
28139         Resolve conflict between the two kinds of module indicators.
28140         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28141         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28142         * modules/canonicalize (configure.ac): Invoke
28143         gl_MODULE_INDICATOR_FOR_TESTS.
28144         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28145         GNULIB_XYZ.
28146         * tests/test-dirent-c++.cc: Likewise.
28147         * tests/test-dirent-safer.c: Likewise.
28148         * tests/test-dup2.c: Likewise.
28149         * tests/test-fchdir.c: Likewise.
28150         * tests/test-fcntl-h-c++.cc: Likewise.
28151         * tests/test-getopt.c: Likewise.
28152         * tests/test-getopt.h: Likewise.
28153         * tests/test-langinfo-c++.cc: Likewise.
28154         * tests/test-locale-c++.cc: Likewise.
28155         * tests/test-math-c++.cc: Likewise.
28156         * tests/test-pty-c++.cc: Likewise.
28157         * tests/test-search-c++.cc: Likewise.
28158         * tests/test-signal-c++.cc: Likewise.
28159         * tests/test-spawn-c++.cc: Likewise.
28160         * tests/test-stdio-c++.cc: Likewise.
28161         * tests/test-stdlib-c++.cc: Likewise.
28162         * tests/test-string-c++.cc: Likewise.
28163         * tests/test-sys_ioctl-c++.cc: Likewise.
28164         * tests/test-sys_select-c++.cc: Likewise.
28165         * tests/test-sys_socket-c++.cc: Likewise.
28166         * tests/test-sys_stat-c++.cc: Likewise.
28167         * tests/test-sys_time-c++.cc: Likewise.
28168         * tests/test-time-c++.cc: Likewise.
28169         * tests/test-unistd-c++.cc: Likewise.
28170         * tests/test-wchar-c++.cc: Likewise.
28171         * tests/uninorm/test-u8-nfc.c: Likewise.
28172         * tests/uninorm/test-u8-nfd.c: Likewise.
28173         * tests/uninorm/test-u8-nfkc.c: Likewise.
28174         * tests/uninorm/test-u8-nfkd.c: Likewise.
28175         * tests/uninorm/test-u16-nfc.c: Likewise.
28176         * tests/uninorm/test-u16-nfd.c: Likewise.
28177         * tests/uninorm/test-u16-nfkc.c: Likewise.
28178         * tests/uninorm/test-u16-nfkd.c: Likewise.
28179         * tests/uninorm/test-u32-nfc.c: Likewise.
28180         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28181         * tests/uninorm/test-u32-nfd.c: Likewise.
28182         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28183         * tests/uninorm/test-u32-nfkc.c: Likewise.
28184         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28185         * tests/uninorm/test-u32-nfkd.c: Likewise.
28186         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28187         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28188
28189 2010-03-27  Bruno Haible  <bruno@clisp.org>
28190
28191         Distinguish two kinds of module indicators.
28192         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
28193         gl_MODULE_INDICATOR.
28194         (gl_MODULE_INDICATOR): New macro.
28195         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28196         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
28197         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28198         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28199         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28200         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28201         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28202         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28203         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28204         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28205         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28206         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28208         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28209         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28210         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28211         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28212         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28213         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28214         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28215         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28216         * modules/cloexec (configure.ac): Likewise.
28217         * modules/getopt-gnu (configure.ac): Likewise.
28218         * modules/uninorm/u8-normalize (configure.ac): Likewise.
28219         * modules/uninorm/u16-normalize (configure.ac): Likewise.
28220         * modules/uninorm/u32-normalize (configure.ac): Likewise.
28221         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
28222
28223 2010-03-27  Bruno Haible  <bruno@clisp.org>
28224
28225         New module description field 'Comment'.
28226         * gnulib-tool: New option --extract-comment.
28227         (func_usage): Document it.
28228         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
28229         (func_get_comment): New function.
28230         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
28231
28232 2010-03-27  Bruno Haible  <bruno@clisp.org>
28233
28234         Addendum to 2010-02-07 commit.
28235         * gnulib-tool (func_usage): Document --extract-applicability option.
28236
28237 2010-03-27  Bruno Haible  <bruno@clisp.org>
28238
28239         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
28240         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
28241         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
28242         rather than link errors.
28243
28244 2010-03-27  Bruno Haible  <bruno@clisp.org>
28245
28246         Avoid side effects from tests-related modules on the compilation of lib.
28247         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
28248         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
28249         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
28250         parameter. Emit into AM_CPPFLAGS a definition of the designated C
28251         macro.
28252         (func_import): Define a witness macro. Assign it a value that depends
28253         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
28254         tests-related modules.
28255         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
28256         Reported by Jim Meyering.
28257
28258 2010-03-27  Bruno Haible  <bruno@clisp.org>
28259
28260         Factorize common .m4 code.
28261         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
28262         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
28263         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
28264         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
28265         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28266         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
28267         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
28268         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28269         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28270         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28271         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
28272         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28273         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28274         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28275         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28276         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
28277         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28278         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28279         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28280         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
28281         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
28282         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28283         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28284         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28285         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28286         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28287         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
28288         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
28289         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
28290         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28291         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28292         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28293
28294 2010-03-27  Bruno Haible  <bruno@clisp.org>
28295
28296         Fix a compilation error on Cygwin with g++ >= 4.3.
28297         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
28298         if it is undefined or if we alias it to chmod.
28299         (lstat): Don't warn about the use of this function if it is undefined
28300         or if we alias it to stat.
28301         Reported by Simon Josefsson.
28302
28303 2010-03-27  Bruno Haible  <bruno@clisp.org>
28304
28305         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
28306         * modules/getlogin (configure.ac): Update.
28307
28308         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28309         * modules/getlogin_r (configure.ac): Update.
28310
28311         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28312         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28313         * modules/inet_ntop (configure.ac): Update.
28314
28315         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28316         * modules/inet_pton (configure.ac): Update.
28317
28318         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28319         * modules/mbslen (configure.ac): Update.
28320
28321         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28322         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28323         * modules/forkpty (configure.ac): Update.
28324         * modules/openpty (configure.ac): Update.
28325
28326 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28327
28328         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28329         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28330
28331 2010-03-25  Eric Blake  <eblake@redhat.com>
28332
28333         maint: use pragma consistently across replacement headers
28334         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28335         * lib/dirent.in.h (system_header): Likewise.
28336         * lib/errno.in.h (system_header): Likewise.
28337         * lib/float.in.h (system_header): Likewise.
28338         * lib/getopt.in.h (system_header): Likewise.
28339         * lib/iconv.in.h (system_header): Likewise.
28340         * lib/inttypes.in.h (system_header): Likewise.
28341         * lib/langinfo.in.h (system_header): Likewise.
28342         * lib/locale.in.h (system_header): Likewise.
28343         * lib/math.in.h (system_header): Likewise.
28344         * lib/netdb.in.h (system_header): Likewise.
28345         * lib/netinet_in.in.h (system_header): Likewise.
28346         * lib/pty.in.h (system_header): Likewise.
28347         * lib/sched.in.h (system_header): Likewise.
28348         * lib/se-selinux.in.h (system_header): Likewise.
28349         * lib/search.in.h (system_header): Likewise.
28350         * lib/spawn.in.h (system_header): Likewise.
28351         * lib/stdarg.in.h (system_header): Likewise.
28352         * lib/stdint.in.h (system_header): Likewise.
28353         * lib/string.in.h (system_header): Likewise.
28354         * lib/strings.in.h (system_header): Likewise.
28355         * lib/sys_file.in.h (system_header): Likewise.
28356         * lib/sys_ioctl.in.h (system_header): Likewise.
28357         * lib/sys_socket.in.h (system_header): Likewise.
28358         * lib/sys_times.in.h (system_header): Likewise.
28359         * lib/sys_utsname.in.h (system_header): Likewise.
28360         * lib/sys_wait.in.h (system_header): Likewise.
28361         * lib/sysexits.in.h (system_header): Likewise.
28362         * lib/unistd.in.h (system_header): Likewise.
28363         * lib/wctype.in.h (system_header): Likewise.
28364
28365         arpa/inet: fix mingw compilation warning
28366         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
28367         Reported by Matthew Bolte.
28368
28369 2010-03-25  Bruno Haible  <bruno@clisp.org>
28370
28371         Avoid collision between gnulib wrapper and libintl wrapper.
28372         * lib/printf.c (printf): Don't define if a printf wrapper is already
28373         defined in intl/printf.c.
28374         Reported by Michel Boaventura <michel@michelboaventura.com>.
28375
28376 2010-03-25  Bruno Haible  <bruno@clisp.org>
28377
28378         Use ANSI C.
28379         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28380
28381 2010-03-25  Bruno Haible  <bruno@clisp.org>
28382
28383         Minor formatting changes.
28384         * lib/acosl.c: Insert space before function argument list.
28385         * lib/argz.c: Likewise.
28386         * lib/asinl.c: Likewise.
28387         * lib/expl.c: Likewise.
28388         * lib/gen-uni-tables.c: Likewise.
28389         * lib/gettext.h: Likewise.
28390         * lib/glthread/lock.h: Likewise.
28391         * lib/tanl.c: Likewise.
28392         * lib/uniname/uniname.c: Likewise.
28393         * tests/test-idpriv-drop.c: Likewise.
28394         * tests/test-idpriv-droptemp.c: Likewise.
28395         * tests/test-lock.c: Likewise.
28396         * tests/test-tls.c: Likewise.
28397         * lib/argp-help.c: Insert space before function-like macro argument
28398         list.
28399         * lib/memcmp.c: Likewise.
28400         * tests/test-base64.c: Likewise.
28401         * lib/localename.c: Insert space before sizeof's argument list.
28402         * lib/safe-alloc.h: Likewise.
28403         * lib/file-set.h: Insert space before macro argument list.
28404         * tests/test-argp.c: Likewise.
28405         * lib/argp-namefrob.h: Insert space before function parameter list.
28406         * lib/getaddrinfo.c: Likewise.
28407         * lib/netdb.in.h: Likewise.
28408         * lib/parse-duration.h: Likewise.
28409         * lib/parse-duration.c: Likewise.
28410         * lib/poll.c: Likewise.
28411         * lib/select.c: Likewise.
28412         * lib/trim.h: Likewise.
28413         * tests/test-usleep.c: Likewise.
28414         * lib/ldexpl.c: Insert space before function parameter list and before
28415         function argument list.
28416         * lib/logl.c: Likewise.
28417         * lib/sqrtl.c: Likewise.
28418         * lib/trim.c: Likewise.
28419         * lib/cosl.c: Use GNU style indentation. Insert space before function
28420         argument list.
28421         * lib/sinl.c: Likewise.
28422         * lib/tsearch.c: Insert space after 'for'.
28423         Reported by Jim Meyering.
28424
28425 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
28426
28427         * maint.mk (sc_Wundef_boolean): Check for the presence of the
28428         config header before grepping, as it's not present before
28429         autoreconf/configure are run.  Reported by Simon Josefsson.
28430
28431 2010-03-23  Bruno Haible  <bruno@clisp.org>
28432
28433         pt_chown: Make it work with automake < 1.11.
28434         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
28435         Reported by Simon Josefsson.
28436
28437 2010-03-23  Bruno Haible  <bruno@clisp.org>
28438
28439         pt_chown: Don't depend on GPLed modules.
28440         * lib/pt_chown.c: Don't include idpriv.h.
28441         (main): Don't drop privileges.
28442         * modules/pt_chown (Depends-on): Remove idpriv-drop.
28443         Reported by Simon Josefsson.
28444
28445 2010-03-24  Simon Josefsson  <simon@josefsson.org>
28446
28447         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
28448         suggestions from karl@freefriends.org (Karl Berry).
28449
28450 2010-03-22  Eric Blake  <eblake@redhat.com>
28451
28452         gethostname: further tweaks
28453         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
28454         are overriding gethostname.
28455         Suggested by Bruno Haible.
28456
28457 2010-03-21  Bruno Haible  <bruno@clisp.org>
28458
28459         Fix comments.
28460         * lib/forkpty.c (rpl_forkpty): Fix comment.
28461         * lib/openpty.c (rpl_openpty): Likewise.
28462         Reported by Eric Blake.
28463
28464 2010-03-22  Eric Blake  <eblake@redhat.com>
28465
28466         gethostname: fix build on mingw
28467         * lib/unistd.in.h (includes): Work around fact that mingw
28468         <winsock2.h> re-includes <unistd.h>, by avoiding any
28469         redeclarations if we are being included by <winsock2.h>.
28470         Reported by Matthias Bolte.
28471
28472 2010-03-21  Bruno Haible  <bruno@clisp.org>
28473
28474         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28475         * lib/forkpty.c (forkpty): New replacement function, from glibc with
28476         modifications.
28477         * lib/pty.in.h (forkpty): Update declaration. Add comments.
28478         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
28479         provide the replacement.
28480         * modules/forkpty (Depends-on): Add openpty, login_tty.
28481         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28482         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28483         * doc/glibc-functions/forkpty.texi: More supported platforms.
28484         * config/srclist.txt: Add forkpty.c (commented).
28485
28486 2010-03-21  Bruno Haible  <bruno@clisp.org>
28487
28488         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28489         (Makefile.am): Verify that PTY_LIB is defined.
28490
28491         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28492
28493 2010-03-21  Bruno Haible  <bruno@clisp.org>
28494
28495         Tests for module 'login_tty'.
28496         * modules/login_tty-tests: New file.
28497         * tests/test-login_tty.c: New file.
28498
28499         New module 'login_tty'.
28500         * lib/login_tty.c: New file.
28501         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28502         * modules/login_tty: New file.
28503         * doc/glibc-functions/login_tty.texi: Mention the new module.
28504
28505 2010-03-21  Bruno Haible  <bruno@clisp.org>
28506
28507         login_tty: Documentation.
28508         * doc/glibc-functions/login_tty.texi: New file.
28509         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28510
28511 2010-03-21  Bruno Haible  <bruno@clisp.org>
28512
28513         pty: Consistent macro naming.
28514         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28515         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28516         * modules/pty (configure.ac): Update.
28517
28518 2010-03-21  Bruno Haible  <bruno@clisp.org>
28519
28520         Tests for openpty: Make stricter.
28521         * tests/test-openpty.c (main): Add test of canonical processing and
28522         erase.
28523         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28524
28525         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28526         * lib/openpty.c (openpty): New replacement function.
28527         * lib/pty.in.h: Include <termios.h>.
28528         (openpty): Update declaration. Add comments.
28529         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28530         is not declared, arrange to provide the replacement. Check for _getpty
28531         and posix_openpt.
28532         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28533         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28534         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28535         * modules/pty-tests (test_pty_c___LDADD): New variable.
28536         * doc/glibc-functions/openpty.texi: More supported platforms.
28537
28538 2010-03-21  Bruno Haible  <bruno@clisp.org>
28539
28540         setenv: Tweaks.
28541         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28542         the test program.
28543         * doc/posix-functions/setenv.texi: Update platforms list.
28544
28545 2010-03-21  Bruno Haible  <bruno@clisp.org>
28546
28547         New module 'unlockpt'.
28548         * lib/unlockpt.c: New file, from glibc with modifications.
28549         * m4/unlockpt.m4: New file.
28550         * modules/unlockpt: New file.
28551         * lib/stdlib.in.h (unlockpt): New declaration.
28552         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28553         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28554         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28555         HAVE_UNLOCKPT.
28556         * doc/posix-functions/unlockpt.texi: Mention the new module.
28557         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28558         * config/srclist.txt: Add unlockpt.c (commented).
28559
28560 2010-03-21  Jim Meyering  <meyering@redhat.com>
28561
28562         maint.mk: prohibit inclusion of "intprops.h" without use
28563         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28564
28565 2010-03-21  Bruno Haible  <bruno@clisp.org>
28566
28567         New module 'grantpt'.
28568         * lib/grantpt.c: New file, from glibc with modifications.
28569         * m4/grantpt.m4: New file.
28570         * modules/grantpt: New file.
28571         * lib/stdlib.in.h (grantpt): New declaration.
28572         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28573         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28574         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28575         HAVE_GRANTPT.
28576         * doc/posix-functions/grantpt.texi: Mention the new module.
28577         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28578         * config/srclist.txt: Add grantpt.c (commented).
28579
28580 2010-03-21  Bruno Haible  <bruno@clisp.org>
28581
28582         New module 'pt_chown'.
28583         * lib/pt_chown.c: New file, from glibc with modifications.
28584         * lib/pty-private.h: New file, from glibc with modifications.
28585         * modules/pt_chown: New file.
28586         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28587
28588 2010-03-21  Bruno Haible  <bruno@clisp.org>
28589
28590         Tests for module 'ptsname'.
28591         * modules/ptsname-tests: New file.
28592         * tests/test-ptsname.c: New file.
28593
28594         New module 'ptsname'.
28595         * lib/ptsname.c: New file, from glibc with modifications.
28596         * m4/ptsname.m4: New file.
28597         * modules/ptsname: New file.
28598         * lib/stdlib.in.h (ptsname): New declaration.
28599         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28600         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28601         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28602         HAVE_PTSNAME.
28603         * doc/posix-functions/ptsname.texi: Mention the new module.
28604         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28605         * config/srclist.txt: Add ptsname.c (commented).
28606
28607 2010-03-21  Bruno Haible  <bruno@clisp.org>
28608
28609         Tests for module 'ttyname_r'.
28610         * modules/ttyname_r-tests: New file.
28611         * tests/test-ttyname_r.c: New file.
28612
28613         New module 'ttyname_r'.
28614         * lib/ttyname_r.c: New file.
28615         * m4/ttyname_r.m4: New file.
28616         * modules/ttyname_r: New file.
28617         * lib/unistd.in.h (ttyname_r): New declaration.
28618         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28619         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28620         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28621         HAVE_TTYNAME_R.
28622         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28623         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28624
28625 2010-03-20  Bruno Haible  <bruno@clisp.org>
28626
28627         signal: Undefine macro definitions in C++ mode.
28628         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28629         sigfillset): Undefine macro definitions from the system header in C++
28630         mode.
28631         Reported by John W. Eaton <jwe@gnu.org>.
28632
28633 2010-03-20  Bruno Haible  <bruno@clisp.org>
28634
28635         Ensure no #include statements inside extern "C" { ... }.
28636         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28637         contain #include statements.
28638         * lib/time.in.h: Likewise.
28639
28640 2010-03-20  Bruno Haible  <bruno@clisp.org>
28641
28642         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28643         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28644         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28645         Reported by John W. Eaton <jwe@gnu.org>.
28646
28647 2010-03-20  Bruno Haible  <bruno@clisp.org>
28648
28649         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28650         Reported by Jim Meyering.
28651
28652 2010-03-20  Bruno Haible  <bruno@clisp.org>
28653
28654         pipe: Set errno upon failure.
28655         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28656         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28657         errno value in error message.
28658
28659 2010-03-20  Bruno Haible  <bruno@clisp.org>
28660             Jim Meyering  <meyering@redhat.com>
28661
28662         lchown: Avoid "unused variable" warning.
28663         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28664
28665 2010-03-20  Bruno Haible  <bruno@clisp.org>
28666
28667         Work around unlink() bug on MacOS X 10.5.6.
28668         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28669         attempting to unlink a parent directory.
28670         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28671         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28672         activate for the replacement function.
28673         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28674
28675 2010-03-20  Bruno Haible  <bruno@clisp.org>
28676
28677         Fix link errors on Solaris 8.
28678         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28679         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28680
28681 2010-03-19  Jim Meyering  <meyering@redhat.com>
28682
28683         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28684         The _LIBC implementation of build_range_exp correctly honors the
28685         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28686         However, the non-_LIBC implementation would ignore that syntax-bit
28687         flag and return REG_ERANGE unconditionally.
28688         This change makes it honor that flag.
28689         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28690         Make two pointer parameters "const".
28691         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28692         (parse_bracket_exp): Update caller.
28693
28694         regex.m4: correct the reversed range endpoint ([b-a]) test
28695         * m4/regex.m4: When requiring that [b-a] evoke failure,
28696         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28697         test pass once again for x86-based systems.
28698
28699 2010-03-19  Bruno Haible  <bruno@clisp.org>
28700
28701         scandir: Fix link error on Solaris 8.
28702         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28703         macros.
28704
28705 2010-03-19  Bruno Haible  <bruno@clisp.org>
28706
28707         getusershell: Fix documentation.
28708         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28709         module.
28710         * doc/glibc-functions/setusershell.texi: Likewise.
28711
28712         getusershell: Provide declaration, missing on Solaris 9.
28713         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28714         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28715         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28716         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28718         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28719         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28720         HAVE_GETUSERSHELL.
28721         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28722
28723 2010-03-19  Bruno Haible  <bruno@clisp.org>
28724
28725         wctype: Provide iswblank function.
28726         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28727         exists and is fine.
28728         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28729         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28730         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28731         * doc/posix-functions/iswblank.texi: Update.
28732
28733 2010-03-19  Bruno Haible  <bruno@clisp.org>
28734
28735         Tests of module 'pty' in C++ mode.
28736         * modules/pty-tests: New file.
28737         * tests/test-pty-c++.cc: New file.
28738         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28739
28740 2010-03-19  Eric Blake  <eblake@redhat.com>
28741
28742         logb: fix documentation
28743         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28744         1.5 declaration bug.
28745
28746         forkpty, openpty: prefer glibc's const-safe prototype
28747         * lib/forkpty.c (rpl_forkpty): New file.
28748         * lib/openpty.c (rpl_openpty): Likewise.
28749         * modules/forkpty (Files): Distribute it.
28750         * modules/openpty (Files): Likewise.
28751         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28752         check...
28753         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28754         replacement for for non-const BSD signature.
28755         * modules/pty (Makefile.am): Substitute witnesses.
28756         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28757         * tests/test-forkpty.c: Update signature check.
28758         * tests/test-openpty.c: Likewise.
28759         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28760         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28761
28762         forkpty, openpty: split functions into new modules
28763         * modules/pty (Makefile.am): Substitute new witnesses.
28764         (Libraries): Move library detection...
28765         * modules/forkpty: ...into new module.
28766         * modules/openpty: Another new module.
28767         * modules/pty-tests: Rename and split...
28768         * modules/forkpty-tests: ...to this...
28769         * modules/openpty-tests: ...and this.
28770         * tests/test-pty.c: Rename and split...
28771         * tests/test-forkpty.c: ...to this...
28772         * tests/test-openpty.c: ...and this.
28773         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28774         (gl_PTY): Split library searching...
28775         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28776         (gl_FORKPTY, gl_OPENPTY): New macros.
28777         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28778         * NEWS: Mention the split.
28779         * MODULES.html.sh (Misc): Document the modules.
28780         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28781         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28782
28783         pty: improve replacement header
28784         * lib/pty.in.h: New file.
28785         * modules/pty (Files): Ship it.
28786         (Makefile.am): Always build replacement.
28787         * m4/pty.m4: Rename...
28788         * m4/pty_h.m4: ...to this.
28789         (gl_PTY): Modernize setting of witness macros; update check of
28790         forkpty to take proper advantage of cache.
28791         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28792
28793         getopt: avoid compiler warning
28794         * lib/getopt.c (attribute_hidden): Remove unused macro.
28795
28796 2010-03-18  Bruno Haible  <bruno@clisp.org>
28797
28798         Fix link errors on Solaris 8.
28799         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28800         * modules/search-tests (test_search_c___LDADD): Likewise.
28801         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28802         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28803         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28804         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28805         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28806         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28807         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28808
28809 2010-03-18  Bruno Haible  <bruno@clisp.org>
28810
28811         Fix bug introduced on 2010-03-14.
28812         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28813         (gl_SPAWN_H): Require it.
28814         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28815         Reported by Simon Josefsson.
28816
28817 2010-03-18  Bruno Haible  <bruno@clisp.org>
28818
28819         Fix typo introduced on 2009-12-31.
28820         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28821         posix_spawn_file_actions_adddup2.
28822
28823 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28824         and Eric Blake  <eblake@redhat.com>
28825
28826         test-vc-list-files-git: make more robust
28827         * tests/test-vc-list-files-git.sh: Unset problematic environment
28828         variables.  Chain commands together.
28829
28830 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28831
28832         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28833         `AC_CHECK_DECL' invocation.
28834
28835 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28836
28837         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28838         appears before executable statements. Suggested by Petr Sumbera
28839         <Petr.Sumbera@Sun.COM>.
28840
28841 2010-03-14  Bruno Haible  <bruno@clisp.org>
28842
28843         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28844         portability problems. Instead use a simpler test.
28845         (main): Check that invalid arguments are rejected only on Linux.
28846
28847 2010-03-14  Bruno Haible  <bruno@clisp.org>
28848
28849         Fix bug introduced on 2009-12-31.
28850         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28851         gl_PREREQ_SYS_H_WINSOCK2 always.
28852         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28853         SYS_SOCKET_H variable.
28854         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28855         Update comments.
28856         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28857         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28858         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28859         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28860         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28861
28862 2010-03-14  Bruno Haible  <bruno@clisp.org>
28863
28864         Fix values returned by sinl, cosl.
28865         * lib/trigl.h: Add specification comments.
28866         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28867         that combines the values from the precomputed table with the values of
28868         the Chebyshev polynomials.
28869
28870 2010-03-14  Bruno Haible  <bruno@clisp.org>
28871
28872         Fix compilation error when modules 'posix_spawn[p]' are not used.
28873         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28875
28876 2010-03-14  Bruno Haible  <bruno@clisp.org>
28877
28878         Fix compilation error on mingw when module 'time_r' is not used.
28879         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28880         is 1.
28881         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28882         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28883         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28884         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28885
28886 2010-03-14  Bruno Haible  <bruno@clisp.org>
28887
28888         Fix compilation error with Sun C.
28889         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28890         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28891         instead of GCC specific ULONG_LONG_MAX.
28892         * lib/xstrtoll.c: Likewise.
28893         * lib/xstrtoull.c: Likewise.
28894
28895 2010-03-13  Bruno Haible  <bruno@clisp.org>
28896
28897         Allow the user to disable C++ code and tests.
28898         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28899         (gl_PROG_ANSI_CXX): Require it.
28900
28901 2010-03-13  Bruno Haible  <bruno@clisp.org>
28902
28903         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28904         cases.
28905
28906 2010-03-13  Bruno Haible  <bruno@clisp.org>
28907
28908         Test that gnulib does not break the standard C++ headers.
28909         * tests/test-locale-c++2.cc: New file.
28910         * modules/locale-tests (Files): Add it.
28911         (Makefile.am): Compile it for test-locale-c++.
28912         * tests/test-math-c++2.cc: New file.
28913         * modules/math-tests (Files): Add it.
28914         (Makefile.am): Compile it for test-math-c++.
28915         * tests/test-signal-c++2.cc: New file.
28916         * modules/signal-tests (Files): Add it.
28917         (Makefile.am): Compile it for test-signal-c++.
28918         * tests/test-stdio-c++2.cc: New file.
28919         * modules/stdio-tests (Files): Add it.
28920         (Makefile.am): Compile it for test-stdio-c++.
28921         * tests/test-stdlib-c++2.cc: New file.
28922         * modules/stdlib-tests (Files): Add it.
28923         (Makefile.am): Compile it for test-stdlib-c++.
28924         * tests/test-string-c++2.cc: New file.
28925         * modules/string-tests (Files): Add it.
28926         (Makefile.am): Compile it for test-string-c++.
28927         * tests/test-time-c++2.cc: New file.
28928         * modules/time-tests (Files): Add it.
28929         (Makefile.am): Compile it for test-time-c++.
28930         Reported by John W. Eaton <jwe@gnu.org>.
28931
28932 2010-03-13  Bruno Haible  <bruno@clisp.org>
28933
28934         * gnulib-tool (func_usage): Clarify which options are available for
28935         --create-testdir and --create-megatestdir.
28936
28937 2010-03-13  Bruno Haible  <bruno@clisp.org>
28938
28939         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28940         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28941         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28942         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28943         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28944         when appropriate.
28945         Reported by Jim Meyering.
28946
28947 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28948
28949         * gnulib-tool (func_import): Explain origin of code.
28950
28951 2010-03-12  Bruno Haible  <bruno@clisp.org>
28952
28953         Fix problem with automake's definition of CXXLINK.
28954         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28955         Reported by Simon Josefsson and Ludovic Courtès.
28956
28957 2010-03-12  Bruno Haible  <bruno@clisp.org>
28958
28959         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28960         stable releases.
28961
28962 2010-03-11  Bruno Haible  <bruno@clisp.org>
28963
28964         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28965         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28966         whether the system provides one variant or multiple variants of the
28967         function.
28968         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28969         C++ compilers.
28970         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28971         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28972         Reported by Jim Meyering.
28973
28974 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28975
28976         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28977
28978 2010-03-08  Bruno Haible  <bruno@clisp.org>
28979
28980         gnulib-tool: Add support for --libtool in --create-testdir.
28981         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28982         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28983
28984 2010-03-08  Eric Blake  <eblake@redhat.com>
28985
28986         gnulib-tool.texi: mention possibility of git submodule
28987         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28988         submodules.
28989         * doc/.gitignore: Ignore another generated file.
28990
28991 2010-03-08  Karl Berry  <karl@gnu.org>
28992
28993         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28994         of committing gnulib files while skipping others.
28995
28996 2010-03-07  Bruno Haible  <bruno@clisp.org>
28997
28998         Tests of module 'wctype' in C++ mode.
28999         * tests/test-wctype-c++.cc: New file.
29000         * modules/wctype-tests (Files): Add it and tests/signature.h.
29001         (Depends-on): Add ansi-c++-opt.
29002         (Makefile.am): Arrange to compile and run test-wctype-c++.
29003
29004         Tests of module 'wchar' in C++ mode.
29005         * tests/test-wchar-c++.cc: New file.
29006         * modules/wchar-tests (Files): Add it and tests/signature.h.
29007         (Depends-on): Add ansi-c++-opt.
29008         (Makefile.am): Arrange to compile and run test-wchar-c++.
29009         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29010         gl_MODULE_INDICATOR.
29011
29012         Tests of module 'unistd' in C++ mode.
29013         * tests/test-unistd-c++.cc: New file.
29014         * modules/unistd-tests (Files): Add it and tests/signature.h.
29015         (Depends-on): Add ansi-c++-opt.
29016         (Makefile.am): Arrange to compile and run test-unistd-c++.
29017         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29018         gl_MODULE_INDICATOR.
29019
29020         Tests of module 'time' in C++ mode.
29021         * tests/test-time-c++.cc: New file.
29022         * modules/time-tests (Files): Add it and tests/signature.h.
29023         (Depends-on): Add ansi-c++-opt.
29024         (Makefile.am): Arrange to compile and run test-time-c++.
29025         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29026
29027         Tests of module 'sys_time' in C++ mode.
29028         * tests/test-sys_time-c++.cc: New file.
29029         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29030         (Depends-on): Add ansi-c++-opt.
29031         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29032         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29033         gl_MODULE_INDICATOR.
29034
29035         Tests of module 'sys_stat' in C++ mode.
29036         * tests/test-sys_stat-c++.cc: New file.
29037         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29038         (Depends-on): Add ansi-c++-opt.
29039         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29040         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29041         gl_MODULE_INDICATOR.
29042
29043         Tests of module 'sys_socket' in C++ mode.
29044         * tests/test-sys_socket-c++.cc: New file.
29045         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29046         (Depends-on): Add ansi-c++-opt.
29047         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29048         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29049         gl_MODULE_INDICATOR.
29050
29051         Tests of module 'sys_select' in C++ mode.
29052         * tests/test-sys_select-c++.cc: New file.
29053         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29054         (Depends-on): Add ansi-c++-opt.
29055         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29056         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29057         gl_MODULE_INDICATOR.
29058
29059         Tests of module 'sys_ioctl' in C++ mode.
29060         * tests/test-sys_ioctl-c++.cc: New file.
29061         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29062         (Depends-on): Add ansi-c++-opt.
29063         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29064         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29065         gl_MODULE_INDICATOR.
29066
29067         Tests of module 'string' in C++ mode.
29068         * tests/test-string-c++.cc: New file.
29069         * modules/string-tests (Files): Add it and tests/signature.h.
29070         (Depends-on): Add ansi-c++-opt.
29071         (Makefile.am): Arrange to compile and run test-string-c++.
29072         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29073         gl_MODULE_INDICATOR.
29074
29075         Tests of module 'stdlib' in C++ mode.
29076         * tests/test-stdlib-c++.cc: New file.
29077         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29078         (Depends-on): Add ansi-c++-opt.
29079         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29080         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29081         gl_MODULE_INDICATOR.
29082
29083         Tests of module 'stdio' in C++ mode.
29084         * tests/test-stdio-c++.cc: New file.
29085         * modules/stdio-tests (Files): Add it and tests/signature.h.
29086         (Depends-on): Add ansi-c++-opt.
29087         (Makefile.am): Arrange to compile and run test-stdio-c++.
29088         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29089         gl_MODULE_INDICATOR.
29090
29091         Tests of module 'spawn' in C++ mode.
29092         * tests/test-spawn-c++.cc: New file.
29093         * modules/spawn-tests (Files): Add it and tests/signature.h.
29094         (Depends-on): Add ansi-c++-opt.
29095         (Makefile.am): Arrange to compile and run test-spawn-c++.
29096         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29097         gl_MODULE_INDICATOR.
29098
29099         Tests of module 'signal' in C++ mode.
29100         * tests/test-signal-c++.cc: New file.
29101         * modules/signal-tests (Files): Add it and tests/signature.h.
29102         (Depends-on): Add ansi-c++-opt.
29103         (Makefile.am): Arrange to compile and run test-signal-c++.
29104         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29105         gl_MODULE_INDICATOR.
29106
29107         Tests of module 'search' in C++ mode.
29108         * tests/test-search-c++.cc: New file.
29109         * modules/search-tests (Files): Add it and tests/signature.h.
29110         (Depends-on): Add ansi-c++-opt.
29111         (Makefile.am): Arrange to compile and run test-search-c++.
29112         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29113         gl_MODULE_INDICATOR.
29114
29115         Tests of module 'math' in C++ mode.
29116         * tests/test-math-c++.cc: New file.
29117         * modules/math-tests (Files): Add it and tests/signature.h.
29118         (Depends-on): Add ansi-c++-opt.
29119         (Makefile.am): Arrange to compile and run test-math-c++.
29120         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29121
29122         Tests of module 'locale' in C++ mode.
29123         * tests/test-locale-c++.cc: New file.
29124         * modules/locale-tests (Files): Add it and tests/signature.h.
29125         (Depends-on): Add ansi-c++-opt.
29126         (Makefile.am): Arrange to compile and run test-locale-c++.
29127         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29128         gl_MODULE_INDICATOR.
29129
29130         Tests of module 'langinfo' in C++ mode.
29131         * tests/test-langinfo-c++.cc: New file.
29132         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29133         (Depends-on): Add ansi-c++-opt.
29134         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29135         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29136         gl_MODULE_INDICATOR.
29137
29138         Tests of module 'iconv-h' in C++ mode.
29139         * tests/test-iconv-h-c++.cc: New file.
29140         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29141         (Depends-on): Add ansi-c++-opt.
29142         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29143
29144         Tests of module 'glob' in C++ mode.
29145         * tests/test-glob-c++.cc: New file.
29146         * modules/glob-tests (Files): Add it.
29147         (Depends-on): Add ansi-c++-opt.
29148         (Makefile.am): Arrange to compile and run test-glob-c++.
29149
29150         Tests of module 'fcntl-h' in C++ mode.
29151         * tests/test-fcntl-h-c++.cc: New file.
29152         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29153         (Depends-on): Add ansi-c++-opt.
29154         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29155         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29156         gl_MODULE_INDICATOR.
29157
29158         Tests of module 'dirent' in C++ mode.
29159         * tests/test-dirent-c++.cc: New file.
29160         * modules/dirent-tests (Files): Add it and tests/signature.h.
29161         (Depends-on): Add ansi-c++-opt.
29162         (Makefile.am): Arrange to compile and run test-dirent-c++.
29163         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29164         gl_MODULE_INDICATOR.
29165
29166         New module 'ansi-c++-opt'.
29167         * modules/ansi-c++-opt: New file.
29168         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29169
29170         Document C++ namespace mode.
29171         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29172
29173         wctype: Avoid #define replacements in C++ mode.
29174         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29175         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29176         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29177         In C++, define a namespaced alias symbol.
29178         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29179         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29180         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29181         rule.
29182
29183         wchar: Avoid #define replacements in C++ mode.
29184         * lib/wchar.in.h: Include c++defs.h.
29185         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29186         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29187         symbol.
29188         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
29189         * modules/wchar (Depends-on): Add c++defs.
29190         (Makefile.am): Update wchar.h rule.
29191
29192         unistd: Avoid #define replacements in C++ mode.
29193         * lib/unistd.in.h: Include c++defs.h.
29194         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
29195         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
29196         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
29197         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
29198         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
29199         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
29200         symbol.
29201         (environ): Update.
29202         * modules/unistd (Depends-on): Add c++defs.
29203         (Makefile.am): Update unistd.h rule.
29204
29205         time: Avoid #define replacements in C++ mode.
29206         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
29207         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
29208         define a namespaced alias symbol.
29209         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
29210         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
29211         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
29212         * modules/time (Depends-on): Add c++defs, warn-on-use.
29213         (Makefile.am): Update time.h rule.
29214         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29215         * modules/nanosleep (configure.ac): Likewise.
29216         * modules/strptime (configure.ac): Likewise.
29217         * modules/timegm (configure.ac): Likewise.
29218
29219         sys_time: Avoid #define replacements in C++ mode.
29220         * lib/sys_time.in.h: Include c++defs.h.
29221         (gettimeofday): In C++, define a namespaced alias symbol.
29222         * modules/sys_time (Depends-on): Add c++defs.
29223         (Makefile.am): Update sys/time.h rule.
29224
29225         sys_stat: Avoid #define replacements in C++ mode.
29226         * lib/sys_stat.in.h: Include c++defs.h.
29227         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
29228         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
29229         namespaced alias symbol.
29230         In C++, define a namespaced alias symbol.
29231         * modules/sys_stat (Depends-on): Add c++defs.
29232         (Makefile.am): Update sys/stat.h rule.
29233
29234         sys_socket: Avoid #define replacements in C++ mode.
29235         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
29236         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
29237         definitions also when the system has a <sys/socket.h>.
29238         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29239         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
29240         In C++, define a namespaced alias symbol.
29241         * modules/sys_socket (Depends-on): Add c++defs.
29242         (Makefile.am): Update sys/socket.h rule.
29243
29244         sys_select: Avoid #define replacements in C++ mode.
29245         * lib/sys_select.in.h: Include c++defs.h. Enable the function
29246         definitions also when the system has a <sys/select.h>.
29247         (select): In C++, define a namespaced alias symbol.
29248         * modules/sys_select (Depends-on): Add c++defs.
29249         (Makefile.am): Update sys/select.h rule.
29250
29251         sys_ioctl: Avoid #define replacements in C++ mode.
29252         * lib/sys_ioctl.in.h: Include c++defs.h.
29253         (ioctl): In C++, define a namespaced alias symbol.
29254         * modules/sys_ioctl (Depends-on): Add c++defs.
29255         (Makefile.am): Update sys/ioctl.h rule.
29256
29257         string: Avoid #define replacements in C++ mode.
29258         * lib/string.in.h: Include c++defs.h.
29259         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
29260         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29261         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29262         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
29263         strsignal, strverscmp): In C++, define a namespaced alias symbol.
29264         * modules/string (Depends-on): Add c++defs.
29265         (Makefile.am): Update string.h rule.
29266
29267         stdlib: Avoid #define replacements in C++ mode.
29268         * lib/stdlib.in.h: Include c++defs.h.
29269         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
29270         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
29271         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
29272         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
29273         symbol.
29274         * modules/stdlib (Depends-on): Add c++defs.
29275         (Makefile.am): Update stdlib.h rule.
29276
29277         stdio: Avoid #define replacements in C++ mode.
29278         * lib/stdio.in.h: Include c++defs.h.
29279         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
29280         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
29281         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
29282         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
29283         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
29284         namespaced alias symbol.
29285         * modules/stdio (Depends-on): Add c++defs.
29286         (Makefile.am): Update stdio.h rule.
29287
29288         spawn: Avoid #define replacements in C++ mode.
29289         * lib/spawn.in.h: Include c++defs.h.
29290         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29291         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29292         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29293         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29294         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29295         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29296         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29297         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29298         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29299         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29300         In C++, define a namespaced alias symbol.
29301         * modules/spawn (Depends-on): Add c++defs.
29302         (Makefile.am): Update spawn.h rule.
29303
29304         signal: Avoid #define replacements in C++ mode.
29305         * lib/signal.in.h: Include c++defs.h.
29306         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29307         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29308         namespaced alias symbol.
29309         * modules/signal (Depends-on): Add c++defs.
29310         (Makefile.am): Update signal.h rule.
29311
29312         search: Avoid #define replacements in C++ mode.
29313         * lib/search.in.h: Include c++defs.h.
29314         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29315         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29316         symbol.
29317         * modules/search (Depends-on): Add c++defs.
29318         (Makefile.am): Update search.h rule.
29319
29320         math: Avoid #define replacements in C++ mode.
29321         * lib/math.in.h: Include c++defs.h.
29322         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29323         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29324         trunc, truncl): In C++, define a namespaced alias symbol.
29325         * modules/math (Depends-on): Add c++defs.
29326         (Makefile.am): Update math.h rule.
29327
29328         locale: Avoid #define replacements in C++ mode.
29329         * lib/locale.in.h: Include c++defs.h.
29330         (duplocale): In C++, define a namespaced alias symbol.
29331         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29332         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29333         * modules/locale (Depends-on): Add c++defs.
29334         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29335
29336         langinfo: Avoid #define replacements in C++ mode.
29337         * lib/langinfo.in.h: Include c++defs.h.
29338         (nl_langinfo): In C++, define a namespaced alias symbol.
29339         * modules/langinfo (Depends-on): Add c++defs.
29340         (Makefile.am): Update langinfo.h rule.
29341
29342         iconv-h: Avoid #define replacements in C++ mode.
29343         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29344         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29345         symbol.
29346         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29347         whenever iconv is present.
29348         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29349         (Makefile.am): Update iconv.h rule.
29350
29351         glob: Avoid #define replacements in C++ mode.
29352         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29353         (_gl_glob_errfunc_fn): New type.
29354         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29355         symbol.
29356         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29357         (Makefile.am): Update glob.h rule.
29358
29359         fcntl-h: Avoid #define replacements in C++ mode.
29360         * lib/fcntl.in.h: Include c++defs.h.
29361         (fcntl, open, openat): In C++, define a namespaced alias symbol.
29362         * modules/fcntl-h (Depends-on): Add c++defs.
29363         (Makefile.am): Update fcntl.h rule.
29364
29365         dirent: Avoid #define replacements in C++ mode.
29366         * lib/dirent.in.h: Include c++defs.h.
29367         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
29368         namespaced alias symbol.
29369         (dirfd): Update declaration.
29370         * modules/dirent (Depends-on): Add c++defs.
29371         (Makefile.am): Update dirent.h rule.
29372
29373         ctype: Make it usable in C++ code.
29374         * lib/ctype.in.h: Include c++defs.h.
29375         (isblank): Declare as extern "C".
29376         * modules/ctype (Depends-on): Add c++defs.
29377         (Makefile.am): Update ctype.h rule.
29378
29379         New module 'c++defs'.
29380         * modules/c++defs: New file.
29381         * build-aux/c++defs.h: New file.
29382         Reported by John W. Eaton <jwe@gnu.org>.
29383
29384 2010-03-07  Bruno Haible  <bruno@clisp.org>
29385
29386         logb: Provide missing declaration for Cygwin.
29387         * lib/math.in.h (logb): New declaration.
29388         * m4/logb.m4: New file.
29389         * modules/logb (Files): Add m4/logb.m4.
29390         (Depends-on): Add math.
29391         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29392         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29394         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29395         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29396
29397 2010-03-07  Bruno Haible  <bruno@clisp.org>
29398
29399         Fix test-cond link error.
29400         * tests/test-cond.c: Include <stdio.h>.
29401
29402 2010-03-07  Bruno Haible  <bruno@clisp.org>
29403
29404         Fix test-dirent-safer link error.
29405         * modules/dirent-safer-tests (Makefile.am): Define
29406         test_dirent_safer_LDADD.
29407
29408 2010-03-07  Bruno Haible  <bruno@clisp.org>
29409
29410         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29411         among default module list.
29412
29413 2010-03-07  Bruno Haible  <bruno@clisp.org>
29414
29415         Fix link error on platforms with GNU libiconv.
29416         * modules/unistr/u8-strcoll-tests (Makefile): Define
29417         test_u8_strcoll_LDADD.
29418         * modules/unistr/u16-strcoll-tests (Makefile): Define
29419         test_u16_strcoll_LDADD.
29420         * modules/unistr/u32-strcoll-tests (Makefile): Define
29421         test_u32_strcoll_LDADD.
29422
29423 2010-03-07  Bruno Haible  <bruno@clisp.org>
29424
29425         Use POSIX declarations for socket functions.
29426         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
29427         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
29428         rpl_sendto): Change declaration to match POSIX.
29429         * lib/connect.c (rpl_connect): Likewise.
29430         * lib/accept.c (rpl_accept): Likewise.
29431         * lib/bind.c (rpl_bind): Likewise.
29432         * lib/getpeername.c (rpl_getpeername): Likewise.
29433         * lib/getsockname.c (rpl_getsockname): Likewise.
29434         * lib/recv.c (rpl_recv): Likewise.
29435         * lib/send.c (rpl_send): Likewise.
29436         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29437         * lib/sendto.c (rpl_sendto): Likewise.
29438
29439 2010-03-06  Bruno Haible  <bruno@clisp.org>
29440
29441         Clarify access, euidaccess, faccessat.
29442         * doc/posix-functions/faccessat.texi: Mention security problem under
29443         "Other problems", not "Portability problems".
29444         * doc/posix-functions/access.texi: Likewise. Mention a related security
29445         problem.
29446         * doc/glibc-functions/euidaccess.texi: Mention security problems.
29447         * lib/euidaccess.c: Add comments about platforms.
29448         * lib/unistd.in.h (access, euidaccess): Add warnings.
29449
29450 2010-03-07  Bruno Haible  <bruno@clisp.org>
29451
29452         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
29453         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
29454         (POSIX_SPAWN_SETSCHEDULER): Likewise.
29455         (POSIX_SPAWN_USEVFORK): Define in a way that works when
29456         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29457         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
29458         declare when POSIX_SPAWN_SETSCHEDULER is zero.
29459         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
29460         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
29461         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
29462         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
29463         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
29464         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
29465         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
29466         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
29467         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
29468         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
29469         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
29470         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
29471         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
29472         Likewise.
29473         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
29474         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
29475         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
29476         Likewise.
29477         * tests/test-spawn.c (main): Make it work when
29478         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29479
29480 2010-03-07  Bruno Haible  <bruno@clisp.org>
29481
29482         Fix incorrect Makefile.am generation in German locale.
29483         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29484         Execute sed command with character range in C locale.
29485
29486 2010-03-06  Bruno Haible  <bruno@clisp.org>
29487
29488         Tests for module 'iconv-h'.
29489         * modules/iconv-h-tests: New file.
29490         * tests/test-iconv-h.c: New file.
29491
29492         New module 'iconv-h'.
29493         * modules/iconv-h: New file.
29494         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29495         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29496         (configure.ac): Remove gl_ICONV_H.
29497         (Makefile.am): Remove rule for iconv.h.
29498
29499 2010-03-06  Bruno Haible  <bruno@clisp.org>
29500
29501         More consistent naming of *.m4 files.
29502         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29503         * modules/wctype (Files): Update.
29504
29505         More consistent naming of *.m4 files.
29506         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29507         * modules/wchar (Files): Update.
29508
29509 2010-03-06  Jim Meyering  <meyering@redhat.com>
29510
29511         euidaccess: relax license to LGPLv2+
29512         * modules/euidaccess (License): Relax to LGPLv2+.
29513
29514 2010-03-06  Bruno Haible  <bruno@clisp.org>
29515
29516         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29517         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29518         (Makefile.am): Augment lib_SOURCES instead.
29519
29520 2010-03-04  Jim Meyering  <meyering@redhat.com>
29521
29522         utime: remove obsolete module
29523         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29524         unnecessary for years, and has been marked as obsolete for 10 months.
29525         * modules/utime: Remove file.
29526         * lib/utime.c: Remove file.
29527         * m4/utime.m4: Remove file.
29528         * m4/utimes-null.m4: Remove file.
29529         * doc/posix-functions/utime.texi (utime): Remove reference to
29530         the module.  Move the sole "fixed by gnulib" item into the
29531         "problems not fixed by Gnulib" list.
29532         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29533
29534 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29535
29536         * modules/exit (License): Relax license to LGPLv2+.
29537         (Status): Mark as obsolete.
29538         * NEWS: Mention deprecated 'exit' module.
29539         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29540         of now obsolete 'exit'.
29541
29542 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29543
29544         fts-lgpl: remove unused module
29545         * modules/fts-lgpl: Remove.
29546         * MODULES.html.sh (func_all_modules): Adjust.
29547         * check-module (find_included_lib_files): Adjust.
29548         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29549
29550 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29551
29552         copy-acl: enhance Solaris ACL error handling
29553         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29554         * lib/set-mode-acl.c (qset_acl): Likewise.
29555
29556 2010-03-02  Bruno Haible  <bruno@clisp.org>
29557
29558         spawn: Don't override the system defined values on FreeBSD 8.
29559         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29560         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29561         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29562         if HAVE_POSIX_SPAWN is 1.
29563         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29564
29565 2010-03-01  Bruno Haible  <bruno@clisp.org>
29566
29567         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29568         regarding Automake.
29569
29570 2010-02-25  Bruno Haible  <bruno@clisp.org>
29571
29572         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29573         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29574         setting, not afterwards.
29575         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29576
29577 2010-02-24  Eric Blake  <eblake@redhat.com>
29578
29579         bootstrap, git-version-gen: use timestamp
29580         * build-aux/git-version-gen (scriptversion): Force UTC.
29581         * build-aux/bootstrap (scriptversion): New variable.
29582
29583         bootstrap: allow older git
29584         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29585         older than 1.6.4.  Requested by the libvirt project.
29586
29587 2010-02-23  Eric Blake  <eblake@redhat.com>
29588
29589         warn-on-use: work with old autoconf
29590         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29591         AS_VAR semantics of autoconf 2.60.
29592         Reported by Bruno Haible.
29593
29594         bootstrap: improve some comments
29595         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29596         clarification comments.
29597
29598         gettimeofday: provide correct function
29599         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29600         when replacement is declared, otherwise provide gettimeofday.
29601         Reported by Michael Goffioul.
29602
29603 2010-02-23  Jim Meyering  <meyering@redhat.com>
29604
29605         lib-ignore: relax license to "unlimited", not LGPLv2+
29606         * modules/lib-ignore (License): Relax to "unlimited".
29607
29608 2010-02-23  Jim Meyering  <meyering@redhat.com>
29609
29610         lib-ignore: relax license to LGPLv2+
29611         * modules/lib-ignore (License): Relax to LGPLv2+.
29612
29613 2010-02-22  Eric Blake  <eblake@redhat.com>
29614
29615         lseek: avoid bash 3.2 broken pipe bug
29616         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29617         warning from bash 3.2.
29618         Reported by Ben Pfaff, with analysis from Bruno Haible.
29619
29620         bootstrap: support non-FSF copyright holder
29621         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29622         bootstrap.conf override of COPYRIGHT_HOLDER.
29623         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29624
29625         bootstrap: interoperate with gettext 0.14.1
29626         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29627
29628         bootstrap: allow for alternate submodule location
29629         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29630         hardcoding submodule location.
29631         (gnulib_mk): Allow direct use of Makefile.am.
29632
29633         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29634         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29635         rather than reconfiguring where the submodule points.
29636
29637         gettimeofday: restore support for platforms that lack function
29638         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29639         replacement if function is missing.
29640         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29641         * modules/sys_time (Makefile.am): Substitute it.
29642         * lib/sys_time.in.h (gettimeofday): Check it.
29643         Reported by Michael Goffioul.
29644
29645 2010-02-21  Bruno Haible  <bruno@clisp.org>
29646
29647         * lib/stdio.in.h (obstack_printf): Fix typo.
29648
29649 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29650
29651         vc-list-files: use bzr ls's -R option
29652         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29653         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29654
29655 2010-02-21  Jim Meyering  <meyering@redhat.com>
29656
29657         init.sh: fix EXEEXT shims to work also for names like test-prog
29658         * tests/init.sh: Re-exec a better shell, when needed.
29659         If the current shell lacks support for posix $(...), an init.sh-using
29660         test will now try to find a shell that supports that.  If EXEEXT is
29661         nonempty, we also require support for hyphen-in-alias-name and shell
29662         substitutions like ${var#glob}.  Failure to find such a shell results
29663         in a skipped test.
29664
29665 2010-02-21  Bruno Haible  <bruno@clisp.org>
29666
29667         Really work around around "broken pipe" error message from bash 3.2.
29668         * gnulib-tool (func_reset_sigpipe): Remove function.
29669         (echo): In bash 3.2, define to a function that uses printf.
29670         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29671
29672 2010-02-20  Bruno Haible  <bruno@clisp.org>
29673
29674         Restore support for automake 1.9.6 with autoconf 2.61.
29675         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29676         Reported by James Youngman <jay@gnu.org>.
29677
29678 2010-02-20  Bruno Haible  <bruno@clisp.org>
29679
29680         Improve *printf warning condition.
29681         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29682         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29683         and the function is overridden due to SIGPIPE emulation.
29684
29685 2010-02-20  Bruno Haible  <bruno@clisp.org>
29686
29687         * lib/stdio.in.h: Tweak comments.
29688
29689 2010-02-19  Bruno Haible  <bruno@clisp.org>
29690
29691         Make it easier to find modules. New gnulib-tool option '--find'.
29692         * gnulib-tool: New option --find.
29693         (func_usage): Document it.
29694         (func_sanitize_modulelist): New function, extracted from
29695         func_all_modules.
29696         (func_all_modules): Invoke it.
29697         * doc/gnulib-tool.texi (Which modules?): New node.
29698
29699 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29700
29701         * lib/sys_select.in.h: Provide select replacement even if
29702         sys/select.h exists on a system, for Interix.
29703
29704 2010-02-18  Jim Meyering  <meyering@redhat.com>
29705
29706         init.sh: don't use $(...) just yet
29707         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29708         to accommodate e.g., Solaris' /bin/sh.
29709
29710 2010-02-17  Bruno Haible  <bruno@clisp.org>
29711
29712         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29713         Reported by Ludovic Courtès <ludo@gnu.org>.
29714
29715 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29716
29717         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29718         linking with -lintl.
29719
29720 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29721
29722         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29723         if not provided by the system's netdb.h.  Reported by
29724         ludo@gnu.org (Ludovic Courtès).
29725
29726 2010-02-15  Jim Meyering  <meyering@redhat.com>
29727
29728         init.sh: improve portability and efficiency
29729         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29730         "dummy" in a for loop.
29731         Use '!', not '^' to select the complement of a character set used
29732         in a "case" statement.
29733         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29734         Suggestions from Eric Blake.
29735
29736         init.sh: automatically accommodate programs with the .exe suffix
29737         Automatically arrange for an invocation of "prog" to execute the
29738         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29739         may use the simpler "prog", yet still work when built on a system
29740         that requires specifying the added suffix.
29741         Do this by constructing a function named "prog" that invokes
29742         "prog.exe" for each .exe file in selected directories.
29743         * tests/init.sh (find_exe_basenames_): New function.
29744         (create_exe_shim_functions_): New function.
29745         (path_prepend_): Use it.
29746
29747         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29748         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29749         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29750
29751 2010-02-14  Jim Meyering  <meyering@redhat.com>
29752
29753         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29754         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29755         (sc_prohibit_hash_pjw_without_use): New rule.
29756
29757         maint.mk: allow the default upload destination dir to be overridden
29758         * top/maint.mk (upload_dest_dir_): Define with a default that
29759         preserves the status quo.
29760         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29761         Reported by Peter Simons.
29762
29763         maint.mk: prohibit inclusion of "hash.h" without_use
29764         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29765
29766 2010-02-10  Jim Meyering  <meyering@redhat.com>
29767
29768         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29769         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29770
29771 2010-02-09  Eric Blake  <ebb9@byu.net>
29772         and Bruno Haible  <bruno@clisp.org>
29773
29774         obstack-printf-posix: ensure declaration
29775         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29776         extracted from gl_FUNC_OBSTACK_PRINTF.
29777         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29778         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29779         Likewise.
29780         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29781         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29782         0.
29783
29784 2010-02-08  Bruno Haible  <bruno@clisp.org>
29785
29786         gnulib-tool: Fix typo in 2010-02-07 commit.
29787         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29788         Reported by Eric Blake.
29789
29790 2010-02-07  Bruno Haible  <bruno@clisp.org>
29791
29792         gnulib-tool: Fix up caching patches.
29793         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29794         option --no-cache. Use associative arrays when supported by the shell.
29795         (sed_comments): New variable.
29796         (modcache): Renamed from do_cache.
29797         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29798         abbreviate unnecessarily.
29799         (have_associative): New variable.
29800         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29801         way also for ksh and zsh.
29802         (func_init_sed_convert_to_cache_statements): New function, extracted
29803         from func_cache_lookup_module. Add support for associative arrays.
29804         Don't set the c_MODULE_cached variable here. Ignore all lines before
29805         the first field header. Remove only the final newline, not all trailing
29806         newlines. Support empty fields correctly. Limit the use of 'eval' to
29807         assignments.
29808         (func_get_description, func_get_status, func_get_notice,
29809         func_get_applicability, func_get_filelist, func_get_dependencies,
29810         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29811         func_get_automake_snippet, func_get_include_directive,
29812         func_get_link_directive, func_get_license, func_get_maintainer):
29813         Update documentation. List the unoptimized code first. Add support for
29814         associative arrays. Limit the use of 'eval' to assignments.
29815         (func_get_applicability): Undo stylistic pessimisations.
29816         (func_get_automake_snippet, func_get_include_directive): Reduce code
29817         duplication.
29818         (func_modules_transitive_closure, func_modules_add_dummy,
29819         func_modules_notice, func_modules_to_filelist, func_add_file,
29820         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29821         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29822         func_create_testdir, func_create_megatestdir): Update documentation.
29823
29824 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29825
29826         * gnulib-tool (func_cache_lookup_module): Store the module name
29827         belonging to the cache variable; error out if two different
29828         module names map to the same cache variable name.
29829
29830 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29831
29832         gnulib-tool: Make caching optional.
29833         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29834         Update matching short versions of --no-changelog.
29835         (func_usage): Update.
29836         (sed_extract_cache_prog): Renamed from ...
29837         (sed_extract_prog): ... this; revert to old extraction script.
29838         (func_get_description, func_get_status)
29839         (func_get_notice, func_get_applicability, func_get_filelist)
29840         (func_get_dependencies, func_get_autoconf_early_snippet)
29841         (func_get_autoconf_snippet, func_get_automake_snippet)
29842         (func_get_include_directive, func_get_link_directive)
29843         (func_get_license, func_get_maintainer): If $do_cache is false,
29844         use old, non-caching extraction scripts.
29845         Suggestion by Bruno Haible.
29846
29847 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29848
29849         gnulib-tool: cache module metainformation.
29850         * gnulib-tool (sed_extract_prog): Match newline before each
29851         header, and rewrite header to a shell variable suffix.
29852         (func_cache_var, func_cache_lookup_module): New functions,
29853         to turn a module name into a cache variable prefix, and to
29854         look up and cache module metainformation.
29855         (func_get_description, func_get_status)
29856         (func_get_notice, func_get_applicability, func_get_filelist)
29857         (func_get_dependencies, func_get_autoconf_early_snippet)
29858         (func_get_autoconf_snippet, func_get_automake_snippet)
29859         (func_get_include_directive, func_get_link_directive)
29860         (func_get_license, func_get_maintainer): Use
29861         func_cache_lookup_module.
29862
29863 2010-02-07  Bruno Haible  <bruno@clisp.org>
29864
29865         fnctl: Fix missing dependency.
29866         * modules/fcntl (Depends-on): Add getdtablesize.
29867         Reported by John W. Eaton <jwe@gnu.org>.
29868
29869 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29870
29871         Argp: fix recognition of short alias options.
29872
29873         * lib/argp-parse.c (convert_options): Fix improper use of
29874         `|' between character values.
29875         * tests/test-argp.c (group1_option): New alias option
29876         --read (-r).
29877         (group1_parser): Special handling for 'r'.
29878         (test15): New test case.
29879         (test_fun): Add test15.
29880         * tests/test-argp-2.sh: Update expected --help and --usage
29881         outputs.
29882
29883 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29884
29885         * tests/test-argp.c: Fix indentation.
29886
29887 2010-02-04  Eric Blake  <ebb9@byu.net>
29888
29889         gettimeofday: expose type of second argument
29890         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29891         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29892         * tests/test-gettimeofday.c: Use it to silence warning.
29893         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29894         the issue.
29895
29896 2010-02-03  Jim Meyering  <meyering@redhat.com>
29897
29898         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29899         * lib/regcomp.c (TYPE_SIGNED): Define.
29900         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29901
29902         regcomp.c: avoid a new -Wshadow warning
29903         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29904
29905 2010-02-01  Jim Meyering  <meyering@redhat.com>
29906
29907         removing useless parentheses in cpp #define directives
29908         For motivation, see commit c0221df4, "define STREQ(a,b)
29909         consistently, removing useless parentheses"
29910         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29911         * lib/mountlist.c (MNT_IGNORE): Likewise.
29912         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29913
29914 2010-02-01  Eric Blake  <ebb9@byu.net>
29915
29916         sys_time: use link-warning
29917         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29918         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29919         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29920         * modules/sys_time (Depends-on): Add warn-on-use.
29921         (Makefile.am): Always build replacement.
29922         (configure.ac): Update substitutions.
29923         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29924         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29925         bother with SYS_TIME_H.
29926         * modules/gettimeofday (configure.ac): Declare indicator.
29927         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29928         in use.
29929
29930         closein-tests: silence compiler warning
29931         * tests/test-closein.c (main): Ignore fread result.
29932         * modules/closein-tests (Depends-on): Add ignore-value.
29933
29934         tests: silence warning about system return
29935         * tests/test-areadlink-with-size.c (main): Ignore system result.
29936         * tests/test-areadlink.c (main): Likewise.
29937         * tests/test-areadlinkat-with-size.c (main): Likewise.
29938         * tests/test-areadlinkat.c (main): Likewise.
29939         * tests/test-canonicalize-lgpl.c (main): Likewise.
29940         * tests/test-canonicalize.c (main): Likewise.
29941         * tests/test-chown.c (main): Likewise.
29942         * tests/test-fchownat.c (main): Likewise.
29943         * tests/test-fdutimensat.c (main): Likewise.
29944         * tests/test-fstatat.c (main): Likewise.
29945         * tests/test-futimens.c (main): Likewise.
29946         * tests/test-lchown.c (main): Likewise.
29947         * tests/test-link.c (main): Likewise.
29948         * tests/test-linkat.c (main): Likewise.
29949         * tests/test-lstat.c (main): Likewise.
29950         * tests/test-mkdir.c (main): Likewise.
29951         * tests/test-mkdirat.c (main): Likewise.
29952         * tests/test-mkfifo.c (main): Likewise.
29953         * tests/test-mkfifoat.c (main): Likewise.
29954         * tests/test-mknod.c (main): Likewise.
29955         * tests/test-readlink.c (main): Likewise.
29956         * tests/test-remove.c (main): Likewise.
29957         * tests/test-rename.c (main): Likewise.
29958         * tests/test-renameat.c (main): Likewise.
29959         * tests/test-rmdir.c (main): Likewise.
29960         * tests/test-symlink.c (main): Likewise.
29961         * tests/test-symlinkat.c (main): Likewise.
29962         * tests/test-unlink.c (main): Likewise.
29963         * tests/test-unlinkat.c (main): Likewise.
29964         * tests/test-utimens.c (main): Likewise.
29965         * tests/test-utimensat.c (main): Likewise.
29966         * modules/areadlink-tests (Depends-on): Add ignore-value.
29967         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29968         * modules/areadlinkat-tests (Depends-on): Likewise.
29969         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29970         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29971         * modules/canonicalize-tests (Depends-on): Likewise.
29972         * modules/chown-tests (Depends-on): Likewise.
29973         * modules/fdutimensat-tests (Depends-on): Likewise.
29974         * modules/futimens-tests (Depends-on): Likewise.
29975         * modules/lchown-tests (Depends-on): Likewise.
29976         * modules/link-tests (Depends-on): Likewise.
29977         * modules/linkat-tests (Depends-on): Likewise.
29978         * modules/lstat-tests (Depends-on): Likewise.
29979         * modules/mkdir-tests (Depends-on): Likewise.
29980         * modules/mkfifo-tests (Depends-on): Likewise.
29981         * modules/mkfifoat-tests (Depends-on): Likewise.
29982         * modules/mknod-tests (Depends-on): Likewise.
29983         * modules/openat-tests (Depends-on): Likewise.
29984         * modules/readlink-tests (Depends-on): Likewise.
29985         * modules/remove-tests (Depends-on): Likewise.
29986         * modules/rename-tests (Depends-on): Likewise.
29987         * modules/renameat-tests (Depends-on): Likewise.
29988         * modules/rmdir-tests (Depends-on): Likewise.
29989         * modules/symlink-tests (Depends-on): Likewise.
29990         * modules/symlinkat-tests (Depends-on): Likewise.
29991         * modules/unlink-tests (Depends-on): Likewise.
29992         * modules/utimens-tests (Depends-on): Likewise.
29993         * modules/utimensat-tests (Depends-on): Likewise.
29994
29995 2010-01-31  Bruno Haible  <bruno@clisp.org>
29996
29997         Perform the same test for many <math.h> functions.
29998         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29999         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30000         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30001         of gl_MATHFUNC.
30002         * modules/acos (configure.ac): Likewise.
30003         * modules/asin (configure.ac): Likewise.
30004         * modules/atan (configure.ac): Likewise.
30005         * modules/atan2 (configure.ac): Likewise.
30006         * modules/cbrt (configure.ac): Likewise.
30007         * modules/copysign (configure.ac): Likewise.
30008         * modules/cos (configure.ac): Likewise.
30009         * modules/cosh (configure.ac): Likewise.
30010         * modules/erf (configure.ac): Likewise.
30011         * modules/erfc (configure.ac): Likewise.
30012         * modules/exp (configure.ac): Likewise.
30013         * modules/fmod (configure.ac): Likewise.
30014         * modules/hypot (configure.ac): Likewise.
30015         * modules/j0 (configure.ac): Likewise.
30016         * modules/j1 (configure.ac): Likewise.
30017         * modules/jn (configure.ac): Likewise.
30018         * modules/lgamma (configure.ac): Likewise.
30019         * modules/log (configure.ac): Likewise.
30020         * modules/log10 (configure.ac): Likewise.
30021         * modules/log1p (configure.ac): Likewise.
30022         * modules/pow (configure.ac): Likewise.
30023         * modules/remainder (configure.ac): Likewise.
30024         * modules/sin (configure.ac): Likewise.
30025         * modules/sinh (configure.ac): Likewise.
30026         * modules/tan (configure.ac): Likewise.
30027         * modules/tanh (configure.ac): Likewise.
30028         * modules/y0 (configure.ac): Likewise.
30029         * modules/y1 (configure.ac): Likewise.
30030         * modules/yn (configure.ac): Likewise.
30031         Suggested by Paolo Bonzini.
30032
30033 2010-01-31  Bruno Haible  <bruno@clisp.org>
30034
30035         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30036
30037 2010-01-31  Bruno Haible  <bruno@clisp.org>
30038
30039         Work around getdelim() bug on FreeBSD 8.0.
30040         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30041         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30042         not work.
30043         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30044         is 1.
30045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30046         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30047         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30048         a non-zero size.
30049         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30050
30051 2010-01-31  Bruno Haible  <bruno@clisp.org>
30052
30053         Work around getline() bug on FreeBSD 8.0.
30054         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30055         and a non-zero size.
30056         * tests/test-getline.c (main): Likewise.
30057         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30058         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30059
30060 2010-01-28  Eric Blake  <ebb9@byu.net>
30061
30062         regex: fix build failure
30063         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30064         platforms.
30065
30066 2010-01-28  Jim Meyering  <meyering@redhat.com>
30067
30068         regex: do not ignore memory allocation failure
30069         * lib/regex_internal.c (create_cd_newstate): Detect
30070         re_node_set_init_copy failure.   Extracted from glibc commit
30071         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30072
30073         regex: sync more white-space changes from libc
30074         * lib/regex_internal.c: White-space only changes.
30075         * lib/regexec.c: Likewise.
30076
30077         regex: add many uses of __attribute_warn_unused_result__
30078         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30079         * lib/regexec.c: Likewise.
30080         Extracted from a messy glibc commit.
30081
30082         regcomp.c: spelling and merge-artifact from glibc
30083         * lib/regcomp.c: Merge remainder of glibc's
30084         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30085
30086         regcomp.c: sync white-space changes from glibc
30087         * lib/regcomp.c: Merge to accommodate white space
30088         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30089
30090         regcomp.c: do not ignore internal return values
30091         * lib/regcomp.c: Do not ignore internal return values.
30092         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30093         but without its white-space changes and spelling fixes.
30094
30095         regex_internal.h: define __attribute_warn_unused_result__
30096         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30097
30098         maint: add a syntax-check rule to check for vulnerable Makefile.in
30099         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30100
30101 2010-01-27  Jim Meyering  <meyering@redhat.com>
30102
30103         ncftpput-ftp: clean up spaces
30104         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30105         Remove trailing blanks.
30106
30107 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30108
30109         * build-aux/git-version-gen: Fix copyright statement.
30110         * build-aux/gnupload: Likewise.
30111         * tests/test-arcfour.c: Likewise.
30112         * tests/test-arctwo.c: Likewise.
30113         * tests/test-count-one-bits.c: Likewise.
30114         * tests/test-crc.c: Likewise.
30115         * tests/test-des.c: Likewise.
30116         * tests/test-gc-arcfour.c: Likewise.
30117         * tests/test-gc-arctwo.c: Likewise.
30118         * tests/test-gc-des.c: Likewise.
30119         * tests/test-gc-hmac-md5.c: Likewise.
30120         * tests/test-gc-hmac-sha1.c: Likewise.
30121         * tests/test-gc-md2.c: Likewise.
30122         * tests/test-gc-md4.c: Likewise.
30123         * tests/test-gc-md5.c: Likewise.
30124         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30125         * tests/test-gc-rijndael.c: Likewise.
30126         * tests/test-gc-sha1.c: Likewise.
30127         * tests/test-gc.c: Likewise.
30128         * tests/test-gethostname.c: Likewise.
30129         * tests/test-gettimeofday.c: Likewise.
30130         * tests/test-hash.c: Likewise.
30131         * tests/test-hmac-md5.c: Likewise.
30132         * tests/test-hmac-sha1.c: Likewise.
30133         * tests/test-md2.c: Likewise.
30134         * tests/test-md4.c: Likewise.
30135         * tests/test-md5.c: Likewise.
30136         * tests/test-memchr.c: Likewise.
30137         * tests/test-memchr2.c: Likewise.
30138         * tests/test-memcmp.c: Likewise.
30139         * tests/test-memmem.c: Likewise.
30140         * tests/test-memrchr.c: Likewise.
30141         * tests/test-rawmemchr.c: Likewise.
30142         * tests/test-read-file.c: Likewise.
30143         * tests/test-rijndael.c: Likewise.
30144         * tests/test-sockets.c: Likewise.
30145         * tests/test-strchrnul.c: Likewise.
30146         * tests/test-strstr.c: Likewise.
30147         * tests/test-strtod.c: Likewise.
30148         * build-aux/ncftpput-ftp: Likewise.
30149
30150 2010-01-26  Eric Blake  <ebb9@byu.net>
30151
30152         ignore-value: update recommended header name
30153         * modules/ignore-value (Include): Only use <> for headers that
30154         exist in glibc.
30155
30156 2010-01-26  Jim Meyering  <meyering@redhat.com>
30157
30158         test-userspec.c: avoid compiler warnings
30159         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30160         and "initialization discards qualifiers..." warnings.
30161         Put the first "uid" in its own scope, and make char* members "const".
30162
30163 2010-01-25  Bruno Haible  <bruno@clisp.org>
30164
30165         gnulib-tool: Make warning diagnostics consistent.
30166         * gnulib-tool (func_warning): New function.
30167         Use it everywhere where gnulib-tool produces output to stderr and it is
30168         not a fatal error.
30169
30170 2010-01-25  Bruno Haible  <bruno@clisp.org>
30171
30172         Fix test dependencies.
30173         * modules/xstrtol-tests (Depends-on): Add inttypes.
30174         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30175
30176 2010-01-25 Pádraig Brady <P@draigBrady.com>
30177
30178         syntax-check: detect incorrect boolean macro values in config.h
30179         * modules/maintainer-makefile (configure.ac): Parameterize the location
30180         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30181         The logic is from Eric Blake and the location indicated by Jim Meyering.
30182         Note the more natural CONFIG_HEADER name is prohibited by automake
30183         for backwards compatibility reasons.
30184         * top/maint.mk (sc_Wundef_boolean): New rule.
30185
30186 2010-01-25  Jim Meyering  <meyering@redhat.com>
30187
30188         bootstrap: detect MacOS 10.6's shasum, too
30189         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
30190         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
30191
30192 2010-01-23  Jim Meyering  <meyering@redhat.com>
30193
30194         xstrtoll: new module
30195         * modules/xstrtoll: New file.
30196         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
30197         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
30198         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
30199         ./configure fails if you use this module and lack "long long".
30200         * modules/xstrtoll-tests: New module.
30201         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
30202         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
30203         new init.sh-based test framework.
30204
30205 2010-01-24  Bruno Haible  <bruno@clisp.org>
30206
30207         Tests for module 'yn'.
30208         * modules/yn-tests: New file.
30209         * tests/test-yn.c: New file.
30210
30211         Tests for module 'y1'.
30212         * modules/y1-tests: New file.
30213         * tests/test-y1.c: New file.
30214
30215         Tests for module 'y0'.
30216         * modules/y0-tests: New file.
30217         * tests/test-y0.c: New file.
30218
30219         Tests for module 'tanh'.
30220         * modules/tanh-tests: New file.
30221         * tests/test-tanh.c: New file.
30222
30223         Tests for module 'tan'.
30224         * modules/tan-tests: New file.
30225         * tests/test-tan.c: New file.
30226
30227         Tests for module 'sqrt'.
30228         * modules/sqrt-tests: New file.
30229         * tests/test-sqrt.c: New file.
30230
30231         Tests for module 'sinh'.
30232         * modules/sinh-tests: New file.
30233         * tests/test-sinh.c: New file.
30234
30235         Tests for module 'sin'.
30236         * modules/sin-tests: New file.
30237         * tests/test-sin.c: New file.
30238
30239         Tests for module 'rint'.
30240         * modules/rint-tests: New file.
30241         * tests/test-rint.c: New file.
30242
30243         Tests for module 'remainder'.
30244         * modules/remainder-tests: New file.
30245         * tests/test-remainder.c: New file.
30246
30247         Tests for module 'pow'.
30248         * modules/pow-tests: New file.
30249         * tests/test-pow.c: New file.
30250
30251         Tests for module 'nextafter'.
30252         * modules/nextafter-tests: New file.
30253         * tests/test-nextafter.c: New file.
30254
30255         Tests for module 'modf'.
30256         * modules/modf-tests: New file.
30257         * tests/test-modf.c: New file.
30258
30259         Tests for module 'logb'.
30260         * modules/logb-tests: New file.
30261         * tests/test-logb.c: New file.
30262
30263         Tests for module 'log1p'.
30264         * modules/log1p-tests: New file.
30265         * tests/test-log1p.c: New file.
30266
30267         Tests for module 'log10'.
30268         * modules/log10-tests: New file.
30269         * tests/test-log10.c: New file.
30270
30271         Tests for module 'log'.
30272         * modules/log-tests: New file.
30273         * tests/test-log.c: New file.
30274
30275         Tests for module 'lgamma'.
30276         * modules/lgamma-tests: New file.
30277         * tests/test-lgamma.c: New file.
30278
30279         Tests for module 'ldexp'.
30280         * modules/ldexp-tests: New file.
30281         * tests/test-ldexp.c: New file.
30282
30283         Tests for module 'jn'.
30284         * modules/jn-tests: New file.
30285         * tests/test-jn.c: New file.
30286
30287         Tests for module 'j1'.
30288         * modules/j1-tests: New file.
30289         * tests/test-j1.c: New file.
30290
30291         Tests for module 'j0'.
30292         * modules/j0-tests: New file.
30293         * tests/test-j0.c: New file.
30294
30295         Tests for module 'hypot'.
30296         * modules/hypot-tests: New file.
30297         * tests/test-hypot.c: New file.
30298
30299         Tests for module 'fmod'.
30300         * modules/fmod-tests: New file.
30301         * tests/test-fmod.c: New file.
30302
30303         Tests for module 'fabs'.
30304         * modules/fabs-tests: New file.
30305         * tests/test-fabs.c: New file.
30306
30307         Tests for module 'exp'.
30308         * modules/exp-tests: New file.
30309         * tests/test-exp.c: New file.
30310
30311         Tests for module 'erfc'.
30312         * modules/erfc-tests: New file.
30313         * tests/test-erfc.c: New file.
30314
30315         Tests for module 'erf'.
30316         * modules/erf-tests: New file.
30317         * tests/test-erf.c: New file.
30318
30319         Tests for module 'cosh'.
30320         * modules/cosh-tests: New file.
30321         * tests/test-cosh.c: New file.
30322
30323         Tests for module 'cos'.
30324         * modules/cos-tests: New file.
30325         * tests/test-cos.c: New file.
30326
30327         Tests for module 'copysign'.
30328         * modules/copysign-tests: New file.
30329         * tests/test-copysign.c: New file.
30330
30331         Tests for module 'cbrt'.
30332         * modules/cbrt-tests: New file.
30333         * tests/test-cbrt.c: New file.
30334
30335         Tests for module 'atan2'.
30336         * modules/atan2-tests: New file.
30337         * tests/test-atan2.c: New file.
30338
30339         Tests for module 'atan'.
30340         * modules/atan-tests: New file.
30341         * tests/test-atan.c: New file.
30342
30343         Tests for module 'asin'.
30344         * modules/asin-tests: New file.
30345         * tests/test-asin.c: New file.
30346
30347         Tests for module 'acos'.
30348         * modules/acos-tests: New file.
30349         * tests/test-acos.c: New file.
30350
30351 2010-01-24  Bruno Haible  <bruno@clisp.org>
30352
30353         Fix tests for common <math.h> functions.
30354         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30355         code snippet that references the function pointer, rather than merely
30356         calling the function. Substitute the FUNC_LIBM variable.
30357         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
30358         * modules/acos (configure.ac): Likewise.
30359         * modules/asin (configure.ac): Likewise.
30360         * modules/atan (configure.ac): Likewise.
30361         * modules/atan2 (configure.ac): Likewise.
30362         * modules/cbrt (configure.ac): Likewise.
30363         * modules/copysign (configure.ac): Likewise.
30364         * modules/cos (configure.ac): Likewise.
30365         * modules/cosh (configure.ac): Likewise.
30366         * modules/erf (configure.ac): Likewise.
30367         * modules/erfc (configure.ac): Likewise.
30368         * modules/exp (configure.ac): Likewise.
30369         * modules/fabs (configure.ac): Likewise.
30370         * modules/fmod (configure.ac): Likewise.
30371         * modules/hypot (configure.ac): Likewise.
30372         * modules/j0 (configure.ac): Likewise.
30373         * modules/j1 (configure.ac): Likewise.
30374         * modules/jn (configure.ac): Likewise.
30375         * modules/ldexp (configure.ac): Likewise.
30376         * modules/lgamma (configure.ac): Likewise.
30377         * modules/log (configure.ac): Likewise.
30378         * modules/log10 (configure.ac): Likewise.
30379         * modules/log1p (configure.ac): Likewise.
30380         * modules/logb (configure.ac): Likewise.
30381         * modules/modf (configure.ac): Likewise.
30382         * modules/nextafter (configure.ac): Likewise.
30383         * modules/pow (configure.ac): Likewise.
30384         * modules/remainder (configure.ac): Likewise.
30385         * modules/rint (configure.ac): Likewise.
30386         * modules/sin (configure.ac): Likewise.
30387         * modules/sinh (configure.ac): Likewise.
30388         * modules/tan (configure.ac): Likewise.
30389         * modules/tanh (configure.ac): Likewise.
30390         * modules/y0 (configure.ac): Likewise.
30391         * modules/y1 (configure.ac): Likewise.
30392         * modules/yn (configure.ac): Likewise.
30393
30394 2010-01-24  Bruno Haible  <bruno@clisp.org>
30395
30396         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30397         * tests/test-acosl.c (x): New variable.
30398         (main): Store argument in x and fetch it from x.
30399         * tests/test-asinl.c (x): New variable.
30400         (main): Store argument in x and fetch it from x.
30401         * tests/test-atanl.c (x): New variable.
30402         (main): Store argument in x and fetch it from x.
30403         * tests/test-cosl.c (x): New variable.
30404         (main): Store argument in x and fetch it from x.
30405         * tests/test-expl.c (x): New variable.
30406         (main): Store argument in x and fetch it from x.
30407         * tests/test-logl.c (x): New variable.
30408         (main): Store argument in x and fetch it from x.
30409         * tests/test-sinl.c (x): New variable.
30410         (main): Store argument in x and fetch it from x.
30411         * tests/test-sqrtl.c (x): New variable.
30412         (main): Store argument in x and fetch it from x.
30413         * tests/test-tanl.c (x): New variable.
30414         (main): Store argument in x and fetch it from x.
30415
30416 2010-01-24  Bruno Haible  <bruno@clisp.org>
30417
30418         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
30419         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
30420         assignments to the initial TESTS_ENVIRONMENT.
30421         * doc/gnulib.texi (Unit test modules): Document it.
30422         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
30423         TESTS_ENVIRONMENT.
30424         * modules/btowc-tests (Makefile.am): Likewise.
30425         * modules/c-stack-tests (Makefile.am): Likewise.
30426         * modules/c-strcase-tests (Makefile.am): Likewise.
30427         * modules/copy-file-tests (Makefile.am): Likewise.
30428         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
30429         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
30430         * modules/mbrtowc-tests (Makefile.am): Likewise.
30431         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30432         * modules/mbscasestr-tests (Makefile.am): Likewise.
30433         * modules/mbschr-tests (Makefile.am): Likewise.
30434         * modules/mbscspn-tests (Makefile.am): Likewise.
30435         * modules/mbsinit-tests (Makefile.am): Likewise.
30436         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30437         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
30438         * modules/mbspbrk-tests (Makefile.am): Likewise.
30439         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30440         * modules/mbsrchr-tests (Makefile.am): Likewise.
30441         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
30442         * modules/mbsspn-tests (Makefile.am): Likewise.
30443         * modules/mbsstr-tests (Makefile.am): Likewise.
30444         * modules/nl_langinfo-tests (Makefile.am): Likewise.
30445         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
30446         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30447         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30448         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30449         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30450         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
30451         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30452         * modules/wcrtomb-tests (Makefile.am): Likewise.
30453         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
30454         * modules/wcsrtombs-tests (Makefile.am): Likewise.
30455         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
30456         assignments from TESTS_ENVIRONMENT.
30457         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
30458         augmentation.
30459         * modules/argp-version-etc-tests (Makefile.am): Likewise.
30460         * modules/atexit-tests (Makefile.am): Likewise.
30461         * modules/binary-io-tests (Makefile.am): Likewise.
30462         * modules/closein-tests (Makefile.am): Likewise.
30463         * modules/dprintf-posix-tests (Makefile.am): Likewise.
30464         * modules/exclude-tests (Makefile.am): Likewise.
30465         * modules/fflush-tests (Makefile.am): Likewise.
30466         * modules/fpending-tests (Makefile.am): Likewise.
30467         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30468         * modules/freadahead-tests (Makefile.am): Likewise.
30469         * modules/freadptr-tests (Makefile.am): Likewise.
30470         * modules/freadseek-tests (Makefile.am): Likewise.
30471         * modules/fseek-tests (Makefile.am): Likewise.
30472         * modules/fseeko-tests (Makefile.am): Likewise.
30473         * modules/ftell-tests (Makefile.am): Likewise.
30474         * modules/ftello-tests (Makefile.am): Likewise.
30475         * modules/idpriv-drop-tests (Makefile.am): Likewise.
30476         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
30477         * modules/lseek-tests (Makefile.am): Likewise.
30478         * modules/parse-duration-tests (Makefile.am): Likewise.
30479         * modules/perror-tests (Makefile.am): Likewise.
30480         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
30481         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30482         * modules/pipe-tests (Makefile.am): Likewise.
30483         * modules/pread-tests (Makefile.am): Likewise.
30484         * modules/printf-posix-tests (Makefile.am): Likewise.
30485         * modules/select-tests (Makefile.am): Likewise.
30486         * modules/sigpipe-tests (Makefile.am): Likewise.
30487         * modules/tsearch-tests (Makefile.am): Likewise.
30488         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30489         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30490         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30491         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30492         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30493         * modules/version-etc-tests (Makefile.am): Likewise.
30494         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30495         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30496         * modules/xalloc-die-tests (Makefile.am): Likewise.
30497         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30498         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30499         * modules/xstrtol-tests (Makefile.am): Likewise.
30500         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30501         * modules/yesno-tests (Makefile.am): Likewise.
30502         Suggested by Jim Meyering.
30503
30504 2010-01-24  Bruno Haible  <bruno@clisp.org>
30505
30506         More documentation.
30507         * doc/gnulib.texi (Writing modules): New chapter.
30508         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30509         the new chapter.
30510
30511 2010-01-24  Jim Meyering  <meyering@redhat.com>
30512
30513         maint.mk: do not prepend "./" after filtering
30514         * top/maint.mk (_prepend_srcdir_prefix): New variable
30515         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30516         "./" when $(srcdir) is ".".
30517
30518         define STREQ(a,b) consistently, removing useless parentheses
30519         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30520         since the only risk is that "a" or "b" contains an unparenthesized
30521         comma, but if either did that, STREQ would have 3 or more arguments.
30522         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30523         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30524         * lib/hash-triple.c (STREQ): Likewise.
30525         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30526         * lib/getugroups.c (STREQ): Likewise.
30527
30528 2010-01-23  Jim Meyering  <meyering@redhat.com>
30529
30530         maint.mk: fix syntax-check in a non-srcdir build directory
30531         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30532         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30533
30534 2010-01-22  Jim Meyering  <meyering@redhat.com>
30535
30536         userspec: add unit tests
30537         * tests/test-userspec.c: New file.
30538         * modules/userspec-tests: Likewise.
30539
30540 2010-01-21  Jim Meyering  <meyering@redhat.com>
30541
30542         maint.mk: handle source file names containing "." robustly
30543         * top/maint.mk (_dot_escaped_srcdir): Define.
30544         (VC_LIST): Use it in LHS of sed substitution.
30545
30546 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30547
30548         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30549         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30550         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30551         from a non-srcdir build.
30552
30553 2010-01-20  Eric Blake  <ebb9@byu.net>
30554
30555         warn-on-use: use instead of link-warning
30556         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30557         * modules/unistd (Depends-on, Makefile.am): Likewise.
30558         * modules/arpa_inet (Depends-on): Replace link-warning with
30559         warn-on-use.
30560         (Makefile.am): Update rules accordingly.
30561         * modules/ctype (Depends-on, Makefile.am): Likewise.
30562         * modules/dirent (Depends-on, Makefile.am): Likewise.
30563         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30564         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30565         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30566         * modules/locale (Depends-on, Makefile.am): Likewise.
30567         * modules/math (Depends-on, Makefile.am): Likewise.
30568         * modules/search (Depends-on, Makefile.am): Likewise.
30569         * modules/signal (Depends-on, Makefile.am): Likewise.
30570         * modules/spawn (Depends-on, Makefile.am): Likewise.
30571         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30572         * modules/string (Depends-on, Makefile.am): Likewise.
30573         * modules/strings (Depends-on, Makefile.am): Likewise.
30574         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30575         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30576         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30577         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30578         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30579         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30580         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30581         * modules/wchar (Depends-on, Makefile.am): Likewise.
30582         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30583         should be poisoned.
30584         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30585         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30586         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30587         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30588         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30589         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30590         * m4/math_h.m4 (gl_MATH_H): Likewise.
30591         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30592         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30593         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30594         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30595         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30596         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30597         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30598         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30599         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30600         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30601         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30602         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30603         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30604         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30605         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30606         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30607         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30608         GL_LINK_WARNING.
30609         * lib/ctype.in.h: Likewise.
30610         * lib/dirent.in.h: Likewise.
30611         * lib/fcntl.in.h: Likewise.
30612         * lib/inttypes.in.h: Likewise.
30613         * lib/langinfo.in.h: Likewise.
30614         * lib/locale.in.h: Likewise.
30615         * lib/math.in.h: Likewise.
30616         * lib/search.in.h: Likewise.
30617         * lib/signal.in.h: Likewise.
30618         * lib/spawn.in.h: Likewise.
30619         * lib/stdio.in.h: Likewise.
30620         * lib/stdlib.in.h: Likewise.
30621         * lib/string.in.h: Likewise.
30622         * lib/strings.in.h: Likewise.
30623         * lib/sys_file.in.h: Likewise.
30624         * lib/sys_ioctl.in.h: Likewise.
30625         * lib/sys_select.in.h: Likewise.
30626         * lib/sys_socket.in.h: Likewise.
30627         * lib/sys_stat.in.h: Likewise.
30628         * lib/sys_times.in.h: Likewise.
30629         * lib/sys_utsname.in.h: Likewise.
30630         * lib/unistd.in.h: Likewise.
30631         * lib/wchar.in.h: Likewise.
30632
30633 2010-01-20  Bruno Haible  <bruno@clisp.org>
30634
30635         Avoid duplicate -lm.
30636         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30637         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30638         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30639         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30640         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30641         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30642         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30643         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30644         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30645         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30646         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30647         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30648         Reported by Paolo Bonzini.
30649
30650 2010-01-19  Bruno Haible  <bruno@clisp.org>
30651
30652         langinfo, nl_langinfo: Relicense under LGPLv2+.
30653         * modules/langinfo (License): Change to LGPLv2+.
30654         * modules/nl_langinfo (License): Likewise.
30655         Patch by David Lutterkort <lutter@redhat.com>.
30656
30657 2010-01-19  Bruno Haible  <bruno@clisp.org>
30658
30659         Avoid compilation error with cc on OSF/1 5.1.
30660         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30661         statement, not before.
30662         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30663
30664 2010-01-18  Bruno Haible  <bruno@clisp.org>
30665
30666         Avoid a link error due to the __printf__ symbol.
30667         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30668         and 2.6.x.
30669         (__format__, __printf__): Remove definitions.
30670         * lib/argp-fmtstream.h: Likewise.
30671         * lib/argp.h: Likewise.
30672         * lib/error.h: Likewise.
30673         * lib/vasnprintf.h: Likewise.
30674         * lib/xprintf.h: Likewise.
30675         * lib/xvasprintf.h: Likewise.
30676         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30677
30678 2010-01-18  Bruno Haible  <bruno@clisp.org>
30679
30680         Tests for module 'tanl'.
30681         * modules/tanl-tests: New file.
30682         * tests/test-tanl.c: New file.
30683
30684         Tests for module 'sqrtl'.
30685         * modules/sqrtl-tests: New file.
30686         * tests/test-sqrtl.c: New file.
30687
30688         Tests for module 'sinl'.
30689         * modules/sinl-tests: New file.
30690         * tests/test-sinl.c: New file.
30691
30692         Tests for module 'logl'.
30693         * modules/logl-tests: New file.
30694         * tests/test-logl.c: New file.
30695
30696         Tests for module 'expl'.
30697         * modules/expl-tests: New file.
30698         * tests/test-expl.c: New file.
30699
30700         Tests for module 'cosl'.
30701         * modules/cosl-tests: New file.
30702         * tests/test-cosl.c: New file.
30703
30704         Tests for module 'atanl'.
30705         * modules/atanl-tests: New file.
30706         * tests/test-atanl.c: New file.
30707
30708         Tests for module 'asinl'.
30709         * modules/asinl-tests: New file.
30710         * tests/test-asinl.c: New file.
30711
30712         Tests for module 'acosl'.
30713         * modules/acosl-tests: New file.
30714         * tests/test-acosl.c: New file.
30715
30716         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30717         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30718         tanl): Use the standard gnulib idiom.
30719         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30720         * lib/sinl.c: Likewise.
30721         * lib/tanl.c: Don't include trigl.c.
30722         (kernel_tanl): Make static.
30723         * lib/sincosl.c: Include trigl.h first.
30724         * lib/trigl.c: Likewise.
30725         * m4/acosl.m4: New file.
30726         * m4/asinl.m4: New file.
30727         * m4/atanl.m4: New file.
30728         * m4/cosl.m4: New file.
30729         * m4/expl.m4: New file.
30730         * m4/logl.m4: New file.
30731         * m4/sinl.m4: New file.
30732         * m4/sqrtl.m4: New file.
30733         * m4/tanl.m4: New file.
30734         * m4/mathl.m4: Remove file.
30735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30736         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30737         Don't initialize GNULIB_MATHL.
30738         * modules/acosl: New file.
30739         * modules/asinl: New file.
30740         * modules/atanl: New file.
30741         * modules/cosl: New file.
30742         * modules/expl: New file.
30743         * modules/logl: New file.
30744         * modules/sinl: New file.
30745         * modules/sqrtl: New file.
30746         * modules/tanl: New file.
30747         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30748         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30749         substitute GNULIB_MATHL.
30750         * modules/mathl: Rewritten.
30751         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30752         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30753         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30754         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30755         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30756         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30757         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30758         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30759         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30760
30761 2010-01-18  Bruno Haible  <bruno@clisp.org>
30762
30763         sqrt: Make gl_FUNC_SQRT requirable.
30764         * m4/sqrt.m4: New file.
30765         * modules/sqrt (Files): Add it.
30766         (configure.ac): Invoke gl_FUNC_SQRT.
30767
30768 2010-01-18  Bruno Haible  <bruno@clisp.org>
30769
30770         New modules for common <math.h> functions.
30771         * m4/mathfunc.m4: New file.
30772         * modules/acos: New file.
30773         * modules/asin: New file.
30774         * modules/atan: New file.
30775         * modules/atan2: New file.
30776         * modules/cbrt: New file.
30777         * modules/copysign: New file.
30778         * modules/cos: New file.
30779         * modules/cosh: New file.
30780         * modules/erf: New file.
30781         * modules/erfc: New file.
30782         * modules/exp: New file.
30783         * modules/fabs: New file.
30784         * modules/fmod: New file.
30785         * modules/hypot: New file.
30786         * modules/j0: New file.
30787         * modules/j1: New file.
30788         * modules/jn: New file.
30789         * modules/ldexp: New file.
30790         * modules/lgamma: New file.
30791         * modules/log: New file.
30792         * modules/log10: New file.
30793         * modules/log1p: New file.
30794         * modules/logb: New file.
30795         * modules/modf: New file.
30796         * modules/nextafter: New file.
30797         * modules/pow: New file.
30798         * modules/remainder: New file.
30799         * modules/rint: New file.
30800         * modules/sin: New file.
30801         * modules/sinh: New file.
30802         * modules/sqrt: New file.
30803         * modules/tan: New file.
30804         * modules/tanh: New file.
30805         * modules/y0: New file.
30806         * modules/y1: New file.
30807         * modules/yn: New file.
30808         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30809         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30810         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30811         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30812         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30813         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30814         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30815         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30816         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30817         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30818         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30819         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30820         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30821         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30822         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30823         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30824         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30825         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30826         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30827         * doc/posix-functions/log.texi: Mention the 'log' module.
30828         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30829         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30830         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30831         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30832         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30833         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30834         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30835         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30836         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30837         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30838         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30839         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30840         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30841         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30842         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30843         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30844
30845 2010-01-18  Jim Meyering  <meyering@redhat.com>
30846
30847         ignore-value: relax license to LGPLv2+
30848         * modules/ignore-value (License): Relax to LGPLv2+.
30849
30850         getdate: don't leak when TZ contains two or more '"'s
30851         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30852         double quote in TZ after the first one.
30853
30854         readtokens: do not leak internal token_lengths buffer
30855         * lib/readtokens.c (readtokens): Free the local, lengths,
30856         when the supplied "token_lengths" parameter is NULL.
30857
30858 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30859
30860         Fix a couple of missing LIBTHREAD link failures on AIX.
30861         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30862         $(LIBTHREAD).
30863         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30864
30865         Link test-poll against INET_PTON_LIB.
30866         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30867         for inet_pton on Solaris 10.
30868
30869 2010-01-17  Bruno Haible  <bruno@clisp.org>
30870
30871         unistdio/*-sprintf: Fix typo in module description.
30872         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30873         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30874         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30875         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30876         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30877         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30878         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30880
30881 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30882
30883         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30884         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30885         variables in shell case patterns, for AIX and HP-UX ksh.
30886
30887         Split large sed scripts, for HP-UX sed.
30888         * modules/stdio: Split sed scripts around 50 sed commands,
30889         to avoid HP-UX limit of 99 commands, in the near future.
30890         * modules/string: Likewise.
30891         * modules/unistd: Likewise.
30892
30893         gnulib-tool: avoid writing in the current directory.
30894         * gnulib-tool (func_emit_lib_Makefile_am)
30895         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30896         not in the current directory, so concurrent gnulib-tool
30897         instances do not interfere.
30898
30899 2010-01-16  Jim Meyering  <meyering@redhat.com>
30900
30901         doc: update users.txt
30902         * users.txt: Add grep.
30903         (diffutils, gzip): Update URLs.
30904
30905 2010-01-12  Bruno Haible  <bruno@clisp.org>
30906
30907         posix_spawn: Avoid test failure on Cygwin.
30908         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30909         characters.
30910         Reported by Simon Josefsson.
30911
30912 2010-01-12  Bruno Haible  <bruno@clisp.org>
30913
30914         * tests/test-cond.c (main): When skipping the test, show the reason.
30915
30916 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30917
30918         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30919
30920 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30921
30922         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30923         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30924
30925 2010-01-12  Eric Blake  <ebb9@byu.net>
30926
30927         build: guarantee AS_VAR_IF
30928         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30929         (gl_AS_VAR_IF): Move...
30930         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30931         Reported by Simon Josefsson.
30932
30933 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30934
30935         * lib/stdio.in.h: Fix typo.
30936
30937 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30938
30939         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30940         libgpg-error.
30941
30942 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30943
30944         * tests/test-xalloc-die.sh: Use $EXEEXT.
30945
30946 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30947             Bruno Haible  <bruno@clisp.org>
30948
30949         getlogin, getlogin_r: Avoid test failure.
30950         * tests/test-getlogin.c: Include <stdio.h>.
30951         (main): Skip the test when the function fails because stdin is not a
30952         tty.
30953         * tests/test-getlogin_r.c: Include <stdio.h>.
30954         (main): Skip the test when the function fails because stdin is not a
30955         tty.
30956
30957 2010-01-11  Eric Blake  <ebb9@byu.net>
30958
30959         tests: avoid more large file warnings
30960         * tests/test-fflush.c: Avoid warning about ftell use.
30961         * tests/test-fseek.c: Avoid warning about fseek use.
30962
30963 2010-01-10  Bruno Haible  <bruno@clisp.org>
30964
30965         nproc: Work better on Linux when /proc and /sys are not mounted.
30966         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30967         as lower bound when, on glibc/Linux systems,
30968         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30969         Suggested by Pádraig Brady <P@draigbrady.com>.
30970         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30971
30972         nproc: Refactor.
30973         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30974         extracted from num_processors.
30975         (num_processors): Call it.
30976
30977 2010-01-11  Jim Meyering  <meyering@redhat.com>
30978
30979         utimecmp: avoid new warning from upcoming gcc-4.5.0
30980         * lib/utimecmp.c (BILLION): Define using #define rather than an
30981         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30982
30983 2010-01-11  Eric Blake  <ebb9@byu.net>
30984
30985         math: add portability warnings for classification macros
30986         * modules/math (Depends-on): Add warn-on-use.
30987         (Makefile.am): Provide new substitutions.
30988         * m4/math_h.m4 (gl_MATH_H): Require inline.
30989         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30990         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30991         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30992         implement warnings.
30993
30994         unistd: warn on use of environ without module
30995         * modules/unistd (Depends-on): Add warn-on-use.
30996         (Makefile.am): Provide new substitutions.
30997         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30998         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30999
31000         stdio: warn on suspicious uses
31001         * modules/stdio (Depends-on): Add warn-on-use.
31002         (Makefile.am): Provide new substitutions.
31003         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31004         fseeko.
31005         * lib/stdio.in.h (gets): Always warn on use.
31006         (fseek, ftell): Adjust when warnings are issued, and honor
31007         _GL_NO_LARGE_FILES as a way to silence the warning.
31008         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31009         any warning about large file offsets.
31010         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31011         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31012         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31013         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31014         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31015         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31016         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31017         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31018
31019         warn-on-use: new module
31020         * modules/warn-on-use: New file.
31021         * build-aux/warn-on-use.h: Likewise.
31022         * m4/warn-on-use.m4: Likewise.
31023         * MODULES.html.sh (Support for building): Mention it.
31024
31025 2010-01-10  Bruno Haible  <bruno@clisp.org>
31026
31027         Tests for module 'unistr/u32-strdup'.
31028         * modules/unistr/u32-strdup-tests: New file.
31029         * tests/unistr/test-u32-strdup.c: New file.
31030
31031         Tests for module 'unistr/u16-strdup'.
31032         * modules/unistr/u16-strdup-tests: New file.
31033         * tests/unistr/test-u16-strdup.c: New file.
31034
31035         Tests for module 'unistr/u8-strdup'.
31036         * modules/unistr/u8-strdup-tests: New file.
31037         * tests/unistr/test-u8-strdup.c: New file.
31038         * tests/unistr/test-strdup.h: New file.
31039
31040         Tests for module 'unistr/u32-strncmp'.
31041         * modules/unistr/u32-strncmp-tests: New file.
31042         * tests/unistr/test-u32-strncmp.c: New file.
31043
31044         Tests for module 'unistr/u16-strncmp'.
31045         * modules/unistr/u16-strncmp-tests: New file.
31046         * tests/unistr/test-u16-strncmp.c: New file.
31047
31048         Tests for module 'unistr/u8-strncmp'.
31049         * modules/unistr/u8-strncmp-tests: New file.
31050         * tests/unistr/test-u8-strncmp.c: New file.
31051         * tests/unistr/test-strncmp.h: New file.
31052
31053         Tests for module 'unistr/u32-strcoll'.
31054         * modules/unistr/u32-strcoll-tests: New file.
31055         * tests/unistr/test-u32-strcoll.c: New file.
31056
31057         Tests for module 'unistr/u16-strcoll'.
31058         * modules/unistr/u16-strcoll-tests: New file.
31059         * tests/unistr/test-u16-strcoll.c: New file.
31060
31061         Tests for module 'unistr/u8-strcoll'.
31062         * modules/unistr/u8-strcoll-tests: New file.
31063         * tests/unistr/test-u8-strcoll.c: New file.
31064
31065         Tests for module 'unistr/u32-strcmp'.
31066         * modules/unistr/u32-strcmp-tests: New file.
31067         * tests/unistr/test-u32-strcmp.c: New file.
31068         * tests/unistr/test-u32-strcmp.h: New file.
31069
31070         Tests for module 'unistr/u16-strcmp'.
31071         * modules/unistr/u16-strcmp-tests: New file.
31072         * tests/unistr/test-u16-strcmp.c: New file.
31073         * tests/unistr/test-u16-strcmp.h: New file.
31074
31075         Tests for module 'unistr/u8-strcmp'.
31076         * modules/unistr/u8-strcmp-tests: New file.
31077         * tests/unistr/test-u8-strcmp.c: New file.
31078         * tests/unistr/test-u8-strcmp.h: New file.
31079         * tests/unistr/test-strcmp.h: New file.
31080
31081         Tests for module 'unistr/u32-strncat'.
31082         * modules/unistr/u32-strncat-tests: New file.
31083         * tests/unistr/test-u32-strncat.c: New file.
31084
31085         Tests for module 'unistr/u16-strncat'.
31086         * modules/unistr/u16-strncat-tests: New file.
31087         * tests/unistr/test-u16-strncat.c: New file.
31088
31089         Tests for module 'unistr/u8-strncat'.
31090         * modules/unistr/u8-strncat-tests: New file.
31091         * tests/unistr/test-u8-strncat.c: New file.
31092         * tests/unistr/test-strncat.h: New file.
31093
31094         Tests for module 'unistr/u32-strcat'.
31095         * modules/unistr/u32-strcat-tests: New file.
31096         * tests/unistr/test-u32-strcat.c: New file.
31097
31098         Tests for module 'unistr/u16-strcat'.
31099         * modules/unistr/u16-strcat-tests: New file.
31100         * tests/unistr/test-u16-strcat.c: New file.
31101
31102         Tests for module 'unistr/u8-strcat'.
31103         * modules/unistr/u8-strcat-tests: New file.
31104         * tests/unistr/test-u8-strcat.c: New file.
31105         * tests/unistr/test-strcat.h: New file.
31106
31107         Tests for module 'unistr/u32-stpncpy'.
31108         * modules/unistr/u32-stpncpy-tests: New file.
31109         * tests/unistr/test-u32-stpncpy.c: New file.
31110
31111         Tests for module 'unistr/u16-stpncpy'.
31112         * modules/unistr/u16-stpncpy-tests: New file.
31113         * tests/unistr/test-u16-stpncpy.c: New file.
31114
31115         Tests for module 'unistr/u8-stpncpy'.
31116         * modules/unistr/u8-stpncpy-tests: New file.
31117         * tests/unistr/test-u8-stpncpy.c: New file.
31118         * tests/unistr/test-stpncpy.h: New file.
31119
31120         Tests for module 'unistr/u32-strncpy'.
31121         * modules/unistr/u32-strncpy-tests: New file.
31122         * tests/unistr/test-u32-strncpy.c: New file.
31123
31124         Tests for module 'unistr/u16-strncpy'.
31125         * modules/unistr/u16-strncpy-tests: New file.
31126         * tests/unistr/test-u16-strncpy.c: New file.
31127
31128         Tests for module 'unistr/u8-strncpy'.
31129         * modules/unistr/u8-strncpy-tests: New file.
31130         * tests/unistr/test-u8-strncpy.c: New file.
31131         * tests/unistr/test-strncpy.h: New file.
31132
31133         Tests for module 'unistr/u32-stpcpy'.
31134         * modules/unistr/u32-stpcpy-tests: New file.
31135         * tests/unistr/test-u32-stpcpy.c: New file.
31136
31137         Tests for module 'unistr/u16-stpcpy'.
31138         * modules/unistr/u16-stpcpy-tests: New file.
31139         * tests/unistr/test-u16-stpcpy.c: New file.
31140
31141         Tests for module 'unistr/u8-stpcpy'.
31142         * modules/unistr/u8-stpcpy-tests: New file.
31143         * tests/unistr/test-u8-stpcpy.c: New file.
31144         * tests/unistr/test-stpcpy.h: New file.
31145
31146         Tests for module 'unistr/u32-strcpy'.
31147         * modules/unistr/u32-strcpy-tests: New file.
31148         * tests/unistr/test-u32-strcpy.c: New file.
31149
31150         Tests for module 'unistr/u16-strcpy'.
31151         * modules/unistr/u16-strcpy-tests: New file.
31152         * tests/unistr/test-u16-strcpy.c: New file.
31153
31154         Tests for module 'unistr/u8-strcpy'.
31155         * modules/unistr/u8-strcpy-tests: New file.
31156         * tests/unistr/test-u8-strcpy.c: New file.
31157         * tests/unistr/test-strcpy.h: New file.
31158
31159         Tests for module 'unistr/u32-strnlen'.
31160         * modules/unistr/u32-strnlen-tests: New file.
31161         * tests/unistr/test-u32-strnlen.c: New file.
31162
31163         Tests for module 'unistr/u16-strnlen'.
31164         * modules/unistr/u16-strnlen-tests: New file.
31165         * tests/unistr/test-u16-strnlen.c: New file.
31166
31167         Tests for module 'unistr/u8-strnlen'.
31168         * modules/unistr/u8-strnlen-tests: New file.
31169         * tests/unistr/test-u8-strnlen.c: New file.
31170         * tests/unistr/test-strnlen.h: New file.
31171
31172         Tests for module 'unistr/u32-strlen'.
31173         * modules/unistr/u32-strlen-tests: New file.
31174         * tests/unistr/test-u32-strlen.c: New file.
31175
31176         Tests for module 'unistr/u16-strlen'.
31177         * modules/unistr/u16-strlen-tests: New file.
31178         * tests/unistr/test-u16-strlen.c: New file.
31179
31180         Tests for module 'unistr/u8-strlen'.
31181         * modules/unistr/u8-strlen-tests: New file.
31182         * tests/unistr/test-u8-strlen.c: New file.
31183
31184         Tests for module 'unistr/u32-prev'.
31185         * modules/unistr/u32-prev-tests: New file.
31186         * tests/unistr/test-u32-prev.c: New file.
31187
31188         Tests for module 'unistr/u16-prev'.
31189         * modules/unistr/u16-prev-tests: New file.
31190         * tests/unistr/test-u16-prev.c: New file.
31191
31192         Tests for module 'unistr/u8-prev'.
31193         * modules/unistr/u8-prev-tests: New file.
31194         * tests/unistr/test-u8-prev.c: New file.
31195
31196         Tests for module 'unistr/u32-next'.
31197         * modules/unistr/u32-next-tests: New file.
31198         * tests/unistr/test-u32-next.c: New file.
31199
31200         Tests for module 'unistr/u16-next'.
31201         * modules/unistr/u16-next-tests: New file.
31202         * tests/unistr/test-u16-next.c: New file.
31203
31204         Tests for module 'unistr/u8-next'.
31205         * modules/unistr/u8-next-tests: New file.
31206         * tests/unistr/test-u8-next.c: New file.
31207
31208         Tests for module 'unistr/u32-strmbtouc'.
31209         * modules/unistr/u32-strmbtouc-tests: New file.
31210         * tests/unistr/test-u32-strmbtouc.c: New file.
31211
31212         Tests for module 'unistr/u16-strmbtouc'.
31213         * modules/unistr/u16-strmbtouc-tests: New file.
31214         * tests/unistr/test-u16-strmbtouc.c: New file.
31215
31216         Tests for module 'unistr/u8-strmbtouc'.
31217         * modules/unistr/u8-strmbtouc-tests: New file.
31218         * tests/unistr/test-u8-strmbtouc.c: New file.
31219
31220         Tests for module 'unistr/u32-strmblen'.
31221         * modules/unistr/u32-strmblen-tests: New file.
31222         * tests/unistr/test-u32-strmblen.c: New file.
31223
31224         Tests for module 'unistr/u16-strmblen'.
31225         * modules/unistr/u16-strmblen-tests: New file.
31226         * tests/unistr/test-u16-strmblen.c: New file.
31227
31228         Tests for module 'unistr/u8-strmblen'.
31229         * modules/unistr/u8-strmblen-tests: New file.
31230         * tests/unistr/test-u8-strmblen.c: New file.
31231
31232         Tests for module 'unistr/u32-cpy-alloc'.
31233         * modules/unistr/u32-cpy-alloc-tests: New file.
31234         * tests/unistr/test-u32-cpy-alloc.c: New file.
31235
31236         Tests for module 'unistr/u16-cpy-alloc'.
31237         * modules/unistr/u16-cpy-alloc-tests: New file.
31238         * tests/unistr/test-u16-cpy-alloc.c: New file.
31239
31240         Tests for module 'unistr/u8-cpy-alloc'.
31241         * modules/unistr/u8-cpy-alloc-tests: New file.
31242         * tests/unistr/test-u8-cpy-alloc.c: New file.
31243         * tests/unistr/test-cpy-alloc.h: New file.
31244
31245         Tests for module 'unistr/u32-mbsnlen'.
31246         * modules/unistr/u32-mbsnlen-tests: New file.
31247         * tests/unistr/test-u32-mbsnlen.c: New file.
31248
31249         Tests for module 'unistr/u16-mbsnlen'.
31250         * modules/unistr/u16-mbsnlen-tests: New file.
31251         * tests/unistr/test-u16-mbsnlen.c: New file.
31252
31253         Tests for module 'unistr/u8-mbsnlen'.
31254         * modules/unistr/u8-mbsnlen-tests: New file.
31255         * tests/unistr/test-u8-mbsnlen.c: New file.
31256
31257         Tests for module 'unistr/u32-chr'.
31258         * modules/unistr/u32-chr-tests: New file.
31259         * tests/unistr/test-u32-chr.c: New file.
31260
31261         Tests for module 'unistr/u16-chr'.
31262         * modules/unistr/u16-chr-tests: New file.
31263         * tests/unistr/test-u16-chr.c: New file.
31264
31265         Tests for module 'unistr/u8-chr'.
31266         * modules/unistr/u8-chr-tests: New file.
31267         * tests/unistr/test-u8-chr.c: New file.
31268         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
31269
31270         Tests for module 'unistr/u32-cmp2'.
31271         * modules/unistr/u32-cmp2-tests: New file.
31272         * tests/unistr/test-u32-cmp2.c: New file.
31273
31274         Tests for module 'unistr/u16-cmp2'.
31275         * modules/unistr/u16-cmp2-tests: New file.
31276         * tests/unistr/test-u16-cmp2.c: New file.
31277
31278         Tests for module 'unistr/u8-cmp2'.
31279         * modules/unistr/u8-cmp2-tests: New file.
31280         * tests/unistr/test-u8-cmp2.c: New file.
31281         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
31282
31283         Tests for module 'unistr/u32-cmp'.
31284         * modules/unistr/u32-cmp-tests: New file.
31285         * tests/unistr/test-u32-cmp.c: New file.
31286
31287         Tests for module 'unistr/u16-cmp'.
31288         * modules/unistr/u16-cmp-tests: New file.
31289         * tests/unistr/test-u16-cmp.c: New file.
31290
31291         Tests for module 'unistr/u8-cmp'.
31292         * modules/unistr/u8-cmp-tests: New file.
31293         * tests/unistr/test-u8-cmp.c: New file.
31294         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
31295
31296         Tests for module 'unistr/u32-set'.
31297         * modules/unistr/u32-set-tests: New file.
31298         * tests/unistr/test-u32-set.c: New file.
31299
31300         Tests for module 'unistr/u16-set'.
31301         * modules/unistr/u16-set-tests: New file.
31302         * tests/unistr/test-u16-set.c: New file.
31303
31304         Tests for module 'unistr/u8-set'.
31305         * modules/unistr/u8-set-tests: New file.
31306         * tests/unistr/test-u8-set.c: New file.
31307         * tests/unistr/test-set.h: New file.
31308
31309         Tests for module 'unistr/u32-move'.
31310         * modules/unistr/u32-move-tests: New file.
31311         * tests/unistr/test-u32-move.c: New file.
31312
31313         Tests for module 'unistr/u16-move'.
31314         * modules/unistr/u16-move-tests: New file.
31315         * tests/unistr/test-u16-move.c: New file.
31316
31317         Tests for module 'unistr/u8-move'.
31318         * modules/unistr/u8-move-tests: New file.
31319         * tests/unistr/test-u8-move.c: New file.
31320         * tests/unistr/test-move.h: New file.
31321
31322         Tests for module 'unistr/u32-cpy'.
31323         * modules/unistr/u32-cpy-tests: New file.
31324         * tests/unistr/test-u32-cpy.c: New file.
31325
31326         Tests for module 'unistr/u16-cpy'.
31327         * modules/unistr/u16-cpy-tests: New file.
31328         * tests/unistr/test-u16-cpy.c: New file.
31329
31330         Tests for module 'unistr/u8-cpy'.
31331         * modules/unistr/u8-cpy-tests: New file.
31332         * tests/unistr/test-u8-cpy.c: New file.
31333         * tests/unistr/test-cpy.h: New file.
31334
31335 2010-01-09  Bruno Haible  <bruno@clisp.org>
31336
31337         Tests for module 'unistr/u32-uctomb'.
31338         * modules/unistr/u32-uctomb-tests: New file.
31339         * tests/unistr/test-u32-uctomb.c: New file.
31340
31341         Tests for module 'unistr/u16-uctomb'.
31342         * modules/unistr/u16-uctomb-tests: New file.
31343         * tests/unistr/test-u16-uctomb.c: New file.
31344
31345         Tests for module 'unistr/u8-uctomb'.
31346         * modules/unistr/u8-uctomb-tests: New file.
31347         * tests/unistr/test-u8-uctomb.c: New file.
31348
31349         Tests for module 'unistr/u32-mbtoucr'.
31350         * modules/unistr/u32-mbtoucr-tests: New file.
31351         * tests/unistr/test-u32-mbtoucr.c: New file.
31352
31353         Tests for module 'unistr/u16-mbtoucr'.
31354         * modules/unistr/u16-mbtoucr-tests: New file.
31355         * tests/unistr/test-u16-mbtoucr.c: New file.
31356
31357         Tests for module 'unistr/u8-mbtoucr'.
31358         * modules/unistr/u8-mbtoucr-tests: New file.
31359         * tests/unistr/test-u8-mbtoucr.c: New file.
31360
31361         Tests for module 'unistr/u32-mbtouc'.
31362         * modules/unistr/u32-mbtouc-tests: New file.
31363         * tests/unistr/test-u32-mbtouc.c: New file.
31364
31365         Tests for module 'unistr/u16-mbtouc'.
31366         * modules/unistr/u16-mbtouc-tests: New file.
31367         * tests/unistr/test-u16-mbtouc.c: New file.
31368
31369         Tests for module 'unistr/u8-mbtouc'.
31370         * modules/unistr/u8-mbtouc-tests: New file.
31371         * tests/unistr/test-u8-mbtouc.c: New file.
31372
31373         Tests for module 'unistr/u32-mbtouc-unsafe'.
31374         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
31375         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
31376         * tests/unistr/test-u32-mbtouc.h: New file.
31377
31378         Tests for module 'unistr/u16-mbtouc-unsafe'.
31379         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31380         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31381         * tests/unistr/test-u16-mbtouc.h: New file.
31382
31383         Tests for module 'unistr/u8-mbtouc-unsafe'.
31384         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31385         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31386         * tests/unistr/test-u8-mbtouc.h: New file.
31387
31388         Tests for module 'unistr/u32-mblen'.
31389         * modules/unistr/u32-mblen-tests: New file.
31390         * tests/unistr/test-u32-mblen.c: New file.
31391
31392         Tests for module 'unistr/u16-mblen'.
31393         * modules/unistr/u16-mblen-tests: New file.
31394         * tests/unistr/test-u16-mblen.c: New file.
31395
31396         Tests for module 'unistr/u8-mblen'.
31397         * modules/unistr/u8-mblen-tests: New file.
31398         * tests/unistr/test-u8-mblen.c: New file.
31399
31400         Tests for module 'unistr/u32-to-u16'.
31401         * modules/unistr/u32-to-u16-tests: New file.
31402         * tests/unistr/test-u32-to-u16.c: New file.
31403
31404         Tests for module 'unistr/u32-to-u8'.
31405         * modules/unistr/u32-to-u8-tests: New file.
31406         * tests/unistr/test-u32-to-u8.c: New file.
31407
31408         Tests for module 'unistr/u16-to-u32'.
31409         * modules/unistr/u16-to-u32-tests: New file.
31410         * tests/unistr/test-u16-to-u32.c: New file.
31411
31412         Tests for module 'unistr/u16-to-u8'.
31413         * modules/unistr/u16-to-u8-tests: New file.
31414         * tests/unistr/test-u16-to-u8.c: New file.
31415
31416         Tests for module 'unistr/u8-to-u32'.
31417         * modules/unistr/u8-to-u32-tests: New file.
31418         * tests/unistr/test-u8-to-u32.c: New file.
31419
31420         Tests for module 'unistr/u8-to-u16'.
31421         * modules/unistr/u8-to-u16-tests: New file.
31422         * tests/unistr/test-u8-to-u16.c: New file.
31423
31424         Tests for module 'unistr/u32-check'.
31425         * modules/unistr/u32-check-tests: New file.
31426         * tests/unistr/test-u32-check.c: New file.
31427
31428         Tests for module 'unistr/u16-check'.
31429         * modules/unistr/u16-check-tests: New file.
31430         * tests/unistr/test-u16-check.c: New file.
31431
31432         Tests for module 'unistr/u8-check'.
31433         * modules/unistr/u8-check-tests: New file.
31434         * tests/unistr/test-u8-check.c: New file.
31435
31436         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
31437         (category_equals): New function.
31438         (main): Add more tests.
31439         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
31440
31441         * tests/unictype/test-bidi_byname.c (main): Add more tests.
31442
31443 2010-01-10  Bruno Haible  <bruno@clisp.org>
31444
31445         unistr/u*-strcoll: Try harder to distinguish different strings.
31446         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
31447         compare s1 and s2 to see if they are different.
31448
31449 2010-01-10  Bruno Haible  <bruno@clisp.org>
31450
31451         unistr/u*-stpncpy: Fix the return value.
31452         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
31453         description of the return value consistent with stpncpy in glibc.
31454         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
31455         written non-NUL unit.
31456
31457 2010-01-10  Bruno Haible  <bruno@clisp.org>
31458
31459         unistr/u*-next: Add missing dependencies.
31460         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
31461         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
31462         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
31463
31464 2010-01-10  Bruno Haible  <bruno@clisp.org>
31465
31466         unistr/u8-mbsnlen: Fix return value for incomplete character.
31467         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
31468         u8_mblen.
31469         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
31470         Remove unistr/u8-mblen.
31471         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
31472         u16_mblen.
31473         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
31474         Remove unistr/u16-mblen.
31475
31476 2010-01-10  Bruno Haible  <bruno@clisp.org>
31477
31478         wchar: Fix compilation error when <wchar.h> is used from coreutils.
31479         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
31480         Reported by Brian Gough <bjg@gnu.org> and
31481         Chris Clayton <chris2553@googlemail.com> via
31482         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31483
31484 2010-01-09  Bruno Haible  <bruno@clisp.org>
31485
31486         unistr/u16-to-u32: Reject invalid input.
31487         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31488         u16_mbtouc.
31489         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31490         Remove unistr/u16-mbtouc.
31491
31492         unistr/u16-to-u8: Reject invalid input.
31493         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31494         u16_mbtouc.
31495         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31496         Remove unistr/u16-mbtouc.
31497
31498         unistr/u8-to-u32: Reject invalid input.
31499         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31500         u8_mbtouc.
31501         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31502         Remove unistr/u8-mbtouc.
31503
31504         unistr/u8-to-u16: Reject invalid input.
31505         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31506         u8_mbtouc.
31507         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31508         Remove unistr/u8-mbtouc.
31509
31510 2010-01-09  Bruno Haible  <bruno@clisp.org>
31511
31512         Tests for module 'getlogin'.
31513         * modules/getlogin-tests: New file.
31514         * tests/test-getlogin.c: New file.
31515
31516         New module 'getlogin'.
31517         * lib/unistd.in.h (getlogin): New declaration.
31518         * lib/getlogin.c: New file.
31519         * m4/getlogin.m4: New file.
31520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31521         HAVE_GETLOGIN.
31522         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31523         HAVE_GETLOGIN.
31524         * modules/getlogin: New file.
31525         * doc/posix-functions/getlogin.texi: Mention the new module.
31526         Reported by John W. Eaton <jwe@gnu.org>.
31527
31528 2010-01-09  Bruno Haible  <bruno@clisp.org>
31529
31530         getlogin_r: Support for native Windows.
31531         * lib/getlogin_r.c: Include <windows.h>
31532         (getlogin_r): Implement for native Windows.
31533         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31534         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31535         via John W. Eaton <jwe@gnu.org>.
31536
31537 2010-01-09  Bruno Haible  <bruno@clisp.org>
31538
31539         getlogin_r: Small fixes.
31540         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31541         succeeds.
31542         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31543         before testing whether getlogin_r is declared. No need to set
31544         HAVE_DECL_GETLOGIN_R to 1.
31545         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31546
31547 2010-01-09  Bruno Haible  <bruno@clisp.org>
31548
31549         * lib/unistd.in.h (getlogin_r): Add comment.
31550
31551 2010-01-09  Bruno Haible  <bruno@clisp.org>
31552
31553         Tests for module 'getlogin_r'.
31554         * modules/getlogin_r-tests: New file.
31555         * tests/test-getlogin_r.c: New file.
31556
31557 2010-01-09  Jim Meyering  <meyering@redhat.com>
31558
31559         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31560         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31561         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31562
31563 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31564
31565         * lib/dup2.c (rpl_dup2): Improve comment.
31566
31567 2010-01-08  Eric Blake  <ebb9@byu.net>
31568
31569         maint.mk: allow packages to add makefile @@ exceptions
31570         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31571         (sc_makefile_check): Rename...
31572         (sc_makefile_at_at_check): ...to this, and use hook.
31573
31574         dup2: work around mingw bug
31575         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31576         Reported by Simon Josefsson.
31577
31578 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31579
31580         glob: Fix C++ compilation.
31581         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31582         C++.
31583
31584 2010-01-07  Bruno Haible  <bruno@clisp.org>
31585
31586         Fix indentation of wctype.in.h, broken since 2007-01-06.
31587         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31588
31589 2010-01-07  Bruno Haible  <bruno@clisp.org>
31590
31591         mbslen: Avoid collision with system function.
31592         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31593         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31594         * m4/mbslen.m4: New file.
31595         * modules/mbslen (Files): Add it.
31596         (configure.ac): Invoke gl_MBSLEN.
31597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31598         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31599         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31600         via Ian Beckwith <ianb@erislabs.net>.
31601
31602 2010-01-07  Bruno Haible  <bruno@clisp.org>
31603
31604         dirent: Document the last fix.
31605         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31606
31607 2010-01-07  Bruno Haible  <bruno@clisp.org>
31608
31609         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31610         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31611         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31612         va_list are defined.
31613         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31614         Reported by Eric Blake.
31615
31616 2010-01-07  Bruno Haible  <bruno@clisp.org>
31617
31618         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31619         * modules/xlist (Depends-on): Add 'list',
31620         * modules/xoset (Depends-on): Add 'oset'.
31621         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31622
31623 2010-01-07  Bruno Haible  <bruno@clisp.org>
31624
31625         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31626         * doc/posix-functions/strncasecmp.texi: Likewise.
31627
31628 2010-01-07  Bruno Haible  <bruno@clisp.org>
31629
31630         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31631
31632 2010-01-07  John W. Eaton  <jwe@octave.org>
31633
31634         wctype: allow C++ use
31635         * lib/wctype.in.h: Add extern "C" block for C++.
31636
31637 2010-01-06  Eric Blake  <ebb9@byu.net>
31638
31639         maint.mk: detect incorrect GFDL usage
31640         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31641
31642 2010-01-06  Jim Meyering  <meyering@redhat.com>
31643         and Eric Blake  <ebb9@byu.net>
31644
31645         maint.mk: ignore multi-line copyright in NEWS
31646         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31647
31648 2010-01-06  Eric Blake  <ebb9@byu.net>
31649
31650         select: add missing dependency
31651         * modules/select-tests (Depends-on): Move sockets dependency...
31652         * modules/select (Depends-on): ...here.
31653         Reported by Ian Beckwith.
31654
31655         doc: regenerate INSTALL
31656         * doc/INSTALL: Reflect recent autoconf update.
31657         * doc/INSTALL.ISO: Likewise.
31658         * doc/INSTALL.UTF-8: Likewise.
31659
31660         pread: fix compilation on glibc
31661         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31662         Reported by Ralf Wildenhues.
31663
31664         dirent: fix test failure
31665         * lib/dirent.in.h (includes): Guarantee ino_t.
31666         Reported by Ralf Wildenhues.
31667
31668 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31669
31670         linkat, renameat: avoid bad free
31671         * lib/at-func2.c (at_func2): Fix typo.
31672         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31673
31674 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31675
31676         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31677         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31678         to avoid failure of symlink test later.
31679
31680 2010-01-06  Eric Blake  <ebb9@byu.net>
31681
31682         stdio, unistd: guarantee ssize_t
31683         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31684         2008 are exposed when needed.
31685         * lib/stdio.in.h (includes): Likewise.
31686         Reported by Ralf Wildenhues.
31687
31688 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31689
31690         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31691         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31692         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31693
31694 2010-01-06  Jim Meyering  <meyering@redhat.com>
31695
31696         readtokens: this module *does* require xalloc.h
31697         It uses only functions that were omitted by the old syntax-check rule.
31698         * lib/readtokens.c: Include "xalloc.h" once again.
31699         * modules/readtokens (Depends-on): Add xalloc.
31700         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31701
31702 2010-01-05  Eric Blake  <ebb9@byu.net>
31703
31704         maint: support 'make announcement' from a VPATH build
31705         * top/maint.mk (announcement): Look for correct NEWS file.
31706
31707 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31708
31709         utimens (fdutimens): ignore a negative FD, per contract
31710         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31711         when we have a valid file descriptor.  Otherwise, using a brand
31712         new glibc (with just-patched futimens that now fails with EBADF)
31713         would cause this function to fail with ENOSYS.
31714         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31715         See also http://bugzilla.redhat.com/552320.
31716
31717 2010-01-05  Eric Blake  <ebb9@byu.net>
31718
31719         strcase: document what it provides
31720         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31721         gnulib module.
31722         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31723         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31724
31725 2010-01-05  Jim Meyering  <meyering@redhat.com>
31726
31727         maint: remove useless inclusions of "xalloc.h"
31728         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31729         * lib/readtokens.c: Likewise.
31730         * lib/same.c: Likewise.
31731         * modules/getloadavg (Depends-on): Remove xalloc.
31732         * modules/readtokens: Likewise.
31733         * modules/same: Likewise.
31734
31735         maint.mk: include 4 more function names in alloca.h-checking regexp
31736         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31737         regexp.  Before, we would give a false-positive (saying alloca.h
31738         is included unnecessarily) when the only uses involved omitted symbols.
31739
31740         xalloc.h: use consistent formatting
31741         * lib/xalloc.h: Move declarations to start in the first column.
31742
31743 2010-01-05  Eric Blake  <ebb9@byu.net>
31744
31745         mkdir: avoid xalloc
31746         * lib/mkdir.c (includes): Drop unused header.
31747         Reported by John W. Eaton.
31748
31749 2010-01-04  Jim Meyering  <meyering@redhat.com>
31750
31751         nl_langinfo: avoid configure-time syntax error
31752         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31753         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31754         the empty string.  Don't let that provoke a shell syntax error.
31755
31756         regcomp, regexec, fnmatch: avoid array bounds read error
31757         * lib/regcomp.c (build_equiv_class): From glibc:
31758         Use only the low 24 bits of a findidx return value as an index
31759         into the weights array.  Patch by Ulrich Drepper:
31760         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31761         * lib/regexec.c (check_node_accept_bytes): Likewise.
31762         * lib/fnmatch_loop.c (FCT): Likewise.
31763
31764         regcomp: skip collseq lookup when there are no rules
31765         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31766         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31767
31768         regcomp: recognize ill-formed { } expressions
31769         * lib/regcomp.c (parse_dup_op): From glibc:
31770         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31771
31772         regcomp: fix typo in comment
31773         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31774         s/satisfy/satisfies/.
31775
31776         regcomp: sync from glibc: remove dead store
31777         * lib/regcomp.c (duplicate_node_closure): Remove useless
31778         search_duplicated_node call and dead store.
31779
31780         regcomp: sync from glibc; always use nl_langinfo
31781         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31782         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31783         * modules/regex (Depends-on): Add nl_langinfo.
31784
31785 2010-01-04  Eric Blake  <ebb9@byu.net>
31786
31787         fdopendir: fix configure test
31788         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31789
31790 2010-01-01  Bruno Haible  <bruno@clisp.org>
31791
31792         wchar: Remove unused configure check.
31793         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31794
31795 2010-01-01  Eric Blake  <ebb9@byu.net>
31796
31797         headers: make check of system header explicit
31798         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31799         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31800         ourselves.
31801         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31802         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31803         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31804         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31805         internals.
31806         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31807         missing.
31808         Suggested by Bruno Haible.
31809
31810 2010-01-01  Jim Meyering  <meyering@redhat.com>
31811
31812         ChangeLog: tweak to eliminate unnecessary copyright line
31813         * ChangeLog: Remove a copyright line that was mistakenly updated
31814         by today's update-copyright run.  Reported by Eric Blake.
31815
31816         test-update-copyright: don't let envvar setting cause test failure
31817         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31818
31819 2010-01-01  Bruno Haible  <bruno@clisp.org>
31820
31821         localename: Avoid gcc warning.
31822         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31823         function if it is not used.
31824
31825 2010-01-01  Jim Meyering  <meyering@redhat.com>
31826
31827         update nearly all FSF copyright year lists to include 2010
31828         Use the same procedure as for 2009, outlined in
31829         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31830
31831         version-etc: set COPYRIGHT_YEAR to 2010
31832         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31833
31834 2009-12-31  Eric Blake  <ebb9@byu.net>
31835
31836         doc: correct availability of cygwin 1.5.x getopt
31837         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31838         variables.
31839         * doc/posix-functions/opterr.texi (opterr): Likewise.
31840         * doc/posix-functions/optind.texi (optind): Likewise.
31841         * doc/posix-functions/optopt.texi (optopt): Likewise.
31842         * doc/posix-functions/tzname.texi (tzname): Likewise.
31843
31844         openat: update maintainer
31845         * modules/openat (Maintainer): Add myself.
31846
31847         utimens: avoid shadowing warning
31848         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31849         buffers into one, to avoid shadowing, as well as avoiding a
31850         redundant stat.
31851         Reported by Jim Meyering.
31852
31853         test-dup2: avoid compiler warning
31854         * tests/test-dup2.c (is_inheritable): Only define if used.
31855
31856 2010-01-01  Bruno Haible  <bruno@clisp.org>
31857
31858         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31859         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31860         defined, use wctomb instead of wcrtomb.
31861
31862 2010-01-01  Bruno Haible  <bruno@clisp.org>
31863
31864         iconv: Reject native Solaris iconv.
31865         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31866         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31867
31868 2009-12-31  Bruno Haible  <bruno@clisp.org>
31869
31870         * tests/test-signal.c (main): Remove test of 'SIG'.
31871
31872 2009-12-31  Bruno Haible  <bruno@clisp.org>
31873
31874         spawn: Fix incomplete fix.
31875         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31876         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31877         warnings for GNULIB_POSIXCHECK again.
31878         Reported by Eric Blake.
31879
31880 2009-12-31  Bruno Haible  <bruno@clisp.org>
31881
31882         Avoid namespace pollution on glibc systems.
31883         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31884         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31885         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31886         glibc systems.
31887
31888 2009-12-31  Bruno Haible  <bruno@clisp.org>
31889
31890         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31891         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31892         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31893         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31894         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31895         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31896         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31897
31898 2009-12-31  Bruno Haible  <bruno@clisp.org>
31899
31900         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31901         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31902         afterwards.
31903
31904 2009-12-31  Bruno Haible  <bruno@clisp.org>
31905
31906         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31907         SYS_UTSNAME_H.
31908
31909 2009-12-31  Bruno Haible  <bruno@clisp.org>
31910
31911         spawn: Fix misapplied patch.
31912         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31913         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31914         warnings for GNULIB_POSIXCHECK.
31915
31916 2009-12-31  Bruno Haible  <bruno@clisp.org>
31917
31918         times: Update after sys_times changed.
31919         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31920         * modules/times (Files): Add it.
31921         (configure.ac): Invoke gl_FUNC_TIMES.
31922
31923 2009-12-31  Bruno Haible  <bruno@clisp.org>
31924
31925         Use AC_C_INLINE where necessary.
31926         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31927         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31928         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31929         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31930         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31931         * m4/mbiter.m4 (gl_MBITER): Likewise.
31932         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31933         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31934         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31935         * modules/u64 (configure.ac): Likewise.
31936
31937 2009-12-31  Bruno Haible  <bruno@clisp.org>
31938
31939         Use AC_C_INLINE instead of module 'inline' where possible.
31940         * modules/inline (Description): Clarify purpose.
31941         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31942         * modules/count-one-bits (Depends-on): Remove inline.
31943         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31944         * modules/openat (Depends-on): Remove inline.
31945         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31946         instead of depending on module 'inline'.
31947         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31948         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31949         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31950         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31951         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31952         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31953         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31954         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31955         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31956         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31957         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31958         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31959         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31960         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31961         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31962         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31963         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31964         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31965         Likewise.
31966         * modules/unictype/property-ascii-hex-digit (Depends-on,
31967         configure.ac): Likewise.
31968         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31969         configure.ac): Likewise.
31970         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31971         configure.ac): Likewise.
31972         * modules/unictype/property-bidi-block-separator (Depends-on,
31973         configure.ac): Likewise.
31974         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31975         configure.ac): Likewise.
31976         * modules/unictype/property-bidi-common-separator (Depends-on,
31977         configure.ac): Likewise.
31978         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31979         Likewise.
31980         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31981         configure.ac): Likewise.
31982         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31983         configure.ac): Likewise.
31984         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31985         configure.ac): Likewise.
31986         * modules/unictype/property-bidi-european-digit (Depends-on,
31987         configure.ac): Likewise.
31988         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31989         configure.ac): Likewise.
31990         * modules/unictype/property-bidi-left-to-right (Depends-on,
31991         configure.ac): Likewise.
31992         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31993         configure.ac): Likewise.
31994         * modules/unictype/property-bidi-other-neutral (Depends-on,
31995         configure.ac): Likewise.
31996         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31997         Likewise.
31998         * modules/unictype/property-bidi-segment-separator (Depends-on,
31999         configure.ac): Likewise.
32000         * modules/unictype/property-bidi-whitespace (Depends-on,
32001         configure.ac): Likewise.
32002         * modules/unictype/property-combining (Depends-on, configure.ac):
32003         Likewise.
32004         * modules/unictype/property-composite (Depends-on, configure.ac):
32005         Likewise.
32006         * modules/unictype/property-currency-symbol (Depends-on,
32007         configure.ac): Likewise.
32008         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32009         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32010         Likewise.
32011         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32012         configure.ac): Likewise.
32013         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32014         Likewise.
32015         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32016         Likewise.
32017         * modules/unictype/property-extender (Depends-on, configure.ac):
32018         Likewise.
32019         * modules/unictype/property-format-control (Depends-on, configure.ac):
32020         Likewise.
32021         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32022         Likewise.
32023         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32024         Likewise.
32025         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32026         Likewise.
32027         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32028         Likewise.
32029         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32030         Likewise.
32031         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32032         Likewise.
32033         * modules/unictype/property-id-start (Depends-on, configure.ac):
32034         Likewise.
32035         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32036         Likewise.
32037         * modules/unictype/property-ids-binary-operator (Depends-on,
32038         configure.ac): Likewise.
32039         * modules/unictype/property-ids-trinary-operator (Depends-on,
32040         configure.ac): Likewise.
32041         * modules/unictype/property-ignorable-control (Depends-on,
32042         configure.ac): Likewise.
32043         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32044         Likewise.
32045         * modules/unictype/property-join-control (Depends-on, configure.ac):
32046         Likewise.
32047         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32048         Likewise.
32049         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32050         Likewise.
32051         * modules/unictype/property-logical-order-exception (Depends-on,
32052         configure.ac): Likewise.
32053         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32054         Likewise.
32055         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32056         * modules/unictype/property-non-break (Depends-on, configure.ac):
32057         Likewise.
32058         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32059         Likewise.
32060         * modules/unictype/property-numeric (Depends-on, configure.ac):
32061         Likewise.
32062         * modules/unictype/property-other-alphabetic (Depends-on,
32063         configure.ac): Likewise.
32064         * modules/unictype/property-other-default-ignorable-code-point
32065         (Depends-on, configure.ac): Likewise.
32066         * modules/unictype/property-other-grapheme-extend (Depends-on,
32067         configure.ac): Likewise.
32068         * modules/unictype/property-other-id-continue (Depends-on,
32069         configure.ac): Likewise.
32070         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32071         Likewise.
32072         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32073         Likewise.
32074         * modules/unictype/property-other-math (Depends-on, configure.ac):
32075         Likewise.
32076         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32077         Likewise.
32078         * modules/unictype/property-paired-punctuation (Depends-on,
32079         configure.ac): Likewise.
32080         * modules/unictype/property-paragraph-separator (Depends-on,
32081         configure.ac): Likewise.
32082         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32083         Likewise.
32084         * modules/unictype/property-pattern-white-space (Depends-on,
32085         configure.ac): Likewise.
32086         * modules/unictype/property-private-use (Depends-on, configure.ac):
32087         Likewise.
32088         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32089         Likewise.
32090         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32091         Likewise.
32092         * modules/unictype/property-radical (Depends-on, configure.ac):
32093         Likewise.
32094         * modules/unictype/property-sentence-terminal (Depends-on,
32095         configure.ac): Likewise.
32096         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32097         Likewise.
32098         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32099         * modules/unictype/property-terminal-punctuation (Depends-on,
32100         configure.ac): Likewise.
32101         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32102         Likewise.
32103         * modules/unictype/property-unassigned-code-value (Depends-on,
32104         configure.ac): Likewise.
32105         * modules/unictype/property-unified-ideograph (Depends-on,
32106         configure.ac): Likewise.
32107         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32108         Likewise.
32109         * modules/unictype/property-variation-selector (Depends-on,
32110         configure.ac): Likewise.
32111         * modules/unictype/property-white-space (Depends-on, configure.ac):
32112         Likewise.
32113         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32114         Likewise.
32115         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32116         Likewise.
32117         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32118         Likewise.
32119         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32120         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32121         Likewise.
32122
32123 2009-12-31  Bruno Haible  <bruno@clisp.org>
32124
32125         Remove unnecessary AC_C_INLINE invocation.
32126         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32127         since 2009-08-21.
32128
32129 2009-12-31  Jim Meyering  <meyering@redhat.com>
32130
32131         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32132         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32133         With this change, we can all remove the gpg_key_ID = ... definition
32134         from our respective cfg.mk files.
32135
32136         maint.mk: create announcement template in ~/, not in /tmp
32137         * top/maint.mk (emit_upload_commands): Adjust.
32138         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32139         Remove temporary file, .ci-msg.
32140
32141 2009-12-31  Eric Blake  <ebb9@byu.net>
32142
32143         link-warning: always build headers with link warnings
32144         * modules/arpa_inet (Makefile.am): Always build replacement
32145         header.
32146         * modules/ctype (Makefile.am): Likewise.
32147         * modules/dirent (Makefile.am): Likewise.
32148         * modules/inttypes (Makefile.am): Likewise.
32149         * modules/langinfo (Makefile.am): Likewise.
32150         * modules/locale (Makefile.am): Likewise.
32151         * modules/spawn (Makefile.am): Likewise.
32152         * modules/sys_file (Makefile.am): Likewise.
32153         * modules/sys_ioctl (Makefile.am): Likewise.
32154         * modules/sys_select (Makefile.am): Likewise.
32155         * modules/sys_socket (Makefile.am): Likewise.
32156         * modules/sys_times (Makefile.am): Likewise.
32157         * modules/sys_utsname (Makefile.am): Likewise.
32158         * modules/sys_wait (Makefile.am): Likewise.
32159         * modules/wchar (Makefile.am): Likewise.
32160         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32161         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32162         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32163         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32164         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32165         Likewise.
32166         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32167         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32168         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32169         Likewise.
32170         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32171         Likewise.
32172         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32174         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32175         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32176         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32177         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32178         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32179         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32180         (gl_WCHAR_H_DEFAULTS): Likewise.
32181
32182 2009-12-31  Eric Blake  <ebb9@byu.net>
32183
32184         signal, spawn: use link warnings
32185         * lib/signal.in.h (sigset_t): Make unconditional.
32186         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32187         (sigpending, sigprocmask, sigaction): Add link warnings.
32188         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
32189         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
32190         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
32191         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
32192         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
32193         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
32194         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
32195         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
32196         (posix_spawn_file_actions_destroy)
32197         (posix_spawn_file_actions_addopen)
32198         (posix_spawn_file_actions_addclose)
32199         (posix_spawn_file_actions_adddup2): Likewise.
32200         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
32201         * tests/test-signal.c (main): Enhance test.
32202
32203         spawn: improve wrapper support
32204         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
32205         (gl_SPAWN_H_DEFAULTS): New defaults.
32206         * modules/spawn (Makefile.am): Substitute them.
32207         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
32208         Only declare if missing or broken.
32209
32210         sys_times, sys_utsname: use include_next
32211         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
32212         header.
32213         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
32214         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32215         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32216         * modules/sys_times (Depends-on): Add include_next.
32217         (Makefile.am): Substitute additional values.
32218         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32219         * lib/sys_times.in.h (includes): Include native header, if
32220         available.
32221         * lib/sys_utsname.in.h (includes): Likewise.
32222         * tests/test-sys_times.c (main): Enhance test.
32223
32224         fdutimensat: revert prior patch
32225         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
32226         utimens.h.
32227         Reported by Bruno Haible.
32228
32229 2009-12-30  Eric Blake  <ebb9@byu.net>
32230
32231         sys_wait: drop link-warning dependency
32232         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
32233         link-warning efforts.
32234         * lib/sys_wait.in.h: Likewise.
32235
32236         fdutimensat: remove bogus dependency
32237         * modules/fdutimensat (Depends-on): Drop inline.
32238
32239         unistd: fix typo
32240         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
32241
32242 2009-12-30  Bruno Haible  <bruno@clisp.org>
32243
32244         Fix compilation error with Solaris cc.
32245         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
32246         * lib/unicase/u16-is-invariant.c: Likewise.
32247         * lib/unicase/u32-is-invariant.c: Likewise.
32248         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32249
32250 2009-12-30  Bruno Haible  <bruno@clisp.org>
32251
32252         Fix test crash.
32253         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
32254         locales.
32255         Reported by Simon Josefsson <simon@josefsson.org>.
32256
32257 2009-12-30  Bruno Haible  <bruno@clisp.org>
32258
32259         Fix compilation error on most platforms.
32260         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
32261         Reported by Simon Josefsson <simon@josefsson.org>
32262         and Nelson H. F. Beebe <beebe@math.utah.edu>.
32263
32264 2009-12-30  Eric Blake  <ebb9@byu.net>
32265
32266         futimens, utimensat: work around ntfs-3g bug
32267         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
32268         a ctime bug is present, and expand workaround to cover ntfs-3g.
32269         * lib/utimens.c (fdutimens, lutimens): Likewise.
32270         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
32271         (validate_timespec): Adjust return value.
32272         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
32273         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32274         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
32275
32276 2009-12-29  Eric Blake  <ebb9@byu.net>
32277
32278         link-warning: make usage consistent
32279         * modules/ctype (Depends-on): Add link-warning.
32280         (Makefile.am): Update rules accordingly.
32281         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32282         * modules/locale (Depends-on, Makefile.am): Likewise.
32283         * modules/sys_file (Makefile.am): Likewise.
32284         * modules/getopt-posix (Makefile.am): Delete unused link warning
32285         efforts.
32286         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
32287         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32288         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
32289         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
32290
32291         stdio: remove unused variables
32292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
32293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
32294         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
32295
32296         tests: test more substitute headers
32297         * modules/ctype-tests: New file.
32298         * modules/dirent-tests: Likewise.
32299         * modules/spawn-tests: Likewise.
32300         * modules/sys_file-tests: Likewise.
32301         * modules/sys_ioctl-tests: Likewise.
32302         * modules/sys_wait-tests: Likewise.
32303         * tests/test-ctype.c: Likewise.
32304         * tests/test-dirent.c: Likewise.
32305         * tests/test-spawn.c: Likewise.
32306         * tests/test-sys_file.c: Likewise.
32307         * tests/test-sys_ioctl.c: Likewise.
32308         * tests/test-sys_wait.c: Likewise.
32309         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32310         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32311         whether or not flock is in use.
32312
32313         tests: remove License section from module
32314         * modules/arpa_inet-tests: Remove unneeded section.
32315         * modules/byteswap-tests: Likewise.
32316         * modules/ceilf-tests: Likewise.
32317         * modules/ceill-tests: Likewise.
32318         * modules/crypto/des-tests: Likewise.
32319         * modules/crypto/gc-arcfour-tests: Likewise.
32320         * modules/crypto/gc-arctwo-tests: Likewise.
32321         * modules/crypto/gc-des-tests: Likewise.
32322         * modules/crypto/gc-hmac-md5-tests: Likewise.
32323         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32324         * modules/crypto/gc-md2-tests: Likewise.
32325         * modules/crypto/gc-md4-tests: Likewise.
32326         * modules/crypto/gc-md5-tests: Likewise.
32327         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32328         * modules/crypto/gc-rijndael-tests: Likewise.
32329         * modules/crypto/gc-sha1-tests: Likewise.
32330         * modules/crypto/gc-tests: Likewise.
32331         * modules/crypto/md2-tests: Likewise.
32332         * modules/crypto/md4-tests: Likewise.
32333         * modules/fcntl-h-tests: Likewise.
32334         * modules/floorf-tests: Likewise.
32335         * modules/floorl-tests: Likewise.
32336         * modules/frexp-nolibm-tests: Likewise.
32337         * modules/frexp-tests: Likewise.
32338         * modules/frexpl-nolibm-tests: Likewise.
32339         * modules/frexpl-tests: Likewise.
32340         * modules/getaddrinfo-tests: Likewise.
32341         * modules/inttypes-tests: Likewise.
32342         * modules/isfinite-tests: Likewise.
32343         * modules/isinf-tests: Likewise.
32344         * modules/ldexpl-tests: Likewise.
32345         * modules/locale-tests: Likewise.
32346         * modules/math-tests: Likewise.
32347         * modules/netdb-tests: Likewise.
32348         * modules/netinet_in-tests: Likewise.
32349         * modules/printf-frexp-tests: Likewise.
32350         * modules/printf-frexpl-tests: Likewise.
32351         * modules/priv-set-tests: Likewise.
32352         * modules/random_r-tests: Likewise.
32353         * modules/round-tests: Likewise.
32354         * modules/roundf-tests: Likewise.
32355         * modules/roundl-tests: Likewise.
32356         * modules/search-tests: Likewise.
32357         * modules/select-tests: Likewise.
32358         * modules/signal-tests: Likewise.
32359         * modules/stdbool-tests: Likewise.
32360         * modules/stddef-tests: Likewise.
32361         * modules/stdint-tests: Likewise.
32362         * modules/stdio-tests: Likewise.
32363         * modules/stdlib-tests: Likewise.
32364         * modules/string-tests: Likewise.
32365         * modules/strings-tests: Likewise.
32366         * modules/sys_select-tests: Likewise.
32367         * modules/sys_socket-tests: Likewise.
32368         * modules/sys_stat-tests: Likewise.
32369         * modules/sys_time-tests: Likewise.
32370         * modules/sys_utsname-tests: Likewise.
32371         * modules/sysexits-tests: Likewise.
32372         * modules/time-tests: Likewise.
32373         * modules/trunc-tests: Likewise.
32374         * modules/truncf-tests: Likewise.
32375         * modules/truncl-tests: Likewise.
32376         * modules/tsearch-tests: Likewise.
32377         * modules/unistd-tests: Likewise.
32378         * modules/wchar-tests: Likewise.
32379         * modules/wctype-tests: Likewise.
32380
32381         tests: fix license on several tests
32382         * tests/test-des.c: Update to GPLv3+.
32383         * tests/test-flock.c: Likewise.
32384         * tests/test-fsync.c: Likewise.
32385         * tests/test-futimens.h: Likewise.
32386         * tests/test-gc-arcfour.c: Likewise.
32387         * tests/test-gc-arctwo.c: Likewise.
32388         * tests/test-gc-des.c: Likewise.
32389         * tests/test-gc-hmac-md5.c: Likewise.
32390         * tests/test-gc-hmac-sha1.c: Likewise.
32391         * tests/test-gc-md2.c: Likewise.
32392         * tests/test-gc-md4.c: Likewise.
32393         * tests/test-gc-md5.c: Likewise.
32394         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32395         * tests/test-gc-rijndael.c: Likewise.
32396         * tests/test-gc-sha1.c: Likewise.
32397         * tests/test-gc.c: Likewise.
32398         * tests/test-getcwd.c: Likewise.
32399         * tests/test-link.c: Likewise.
32400         * tests/test-link.h: Likewise.
32401         * tests/test-lutimens.h: Likewise.
32402         * tests/test-md2.c: Likewise.
32403         * tests/test-md4.c: Likewise.
32404         * tests/test-mkdir.h: Likewise.
32405         * tests/test-rename.c: Likewise.
32406         * tests/test-rename.h: Likewise.
32407         * tests/test-safe-alloc.c: Likewise.
32408         * tests/test-utimens-common.h: Likewise.
32409         * tests/test-utimens.h: Likewise.
32410
32411         maint: sync license texts
32412         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
32413         * doc/gpl-3.0.texi: Revert copyright year update.
32414         * doc/lgpl-3.0.texi: Likewise.
32415
32416 2009-12-29  Jim Meyering  <meyering@redhat.com>
32417
32418         update nearly all FSF copyright year lists to include 2009
32419         The files named by the following are exempted:
32420             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
32421               test -f "$dst" && { echo "$dst"; continue; }
32422               test -d "$dst" || continue
32423               echo "$dst"/$(basename "$src")
32424             done > exempt
32425             git ls-files tests/unictype >> exempt
32426         In the remaining files, convert to all-interval notation if
32427         - there is already at least one year interval like 2000-2003
32428         - the file is maintained by me
32429         - the file is in lib/uni*/, where that style already prevails
32430         Otherwise, use update-copyright's default.
32431
32432 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32433         and Eric Blake  <ebb9@byu.net>
32434
32435         tests: don't require debug system() to pass
32436         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
32437         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32438         * tests/test-unlink.h (test_unlink_func): Likewise.
32439         * tests/test-fstatat.c (main): ...into callers.
32440         * tests/test-lstat.c (main): Likewise.
32441         * tests/test-rmdir.c (main): Likewise.
32442         * tests/test-unlink.c (main): Likewise.
32443         * tests/test-unlinkat.c (main): Likewise.
32444         * tests/test-areadlink-with-size.c (main): Don't require a
32445         debug-only system call to pass, aiding cross-testing to mingw.
32446         * tests/test-areadlink.c (main): Likewise.
32447         * tests/test-areadlinkat-with-size.c (main): Likewise.
32448         * tests/test-areadlinkat.c (main): Likewise.
32449         * tests/test-canonicalize-lgpl.c (main): Likewise.
32450         * tests/test-canonicalize.c (main): Likewise.
32451         * tests/test-chown.c (main): Likewise.
32452         * tests/test-fchownat.c (main): Likewise.
32453         * tests/test-lchown.c (main): Likewise.
32454         * tests/test-fdutimensat.c (main): Likewise.
32455         * tests/test-futimens.c (main): Likewise.
32456         * tests/test-link.c (main): Likewise.
32457         * tests/test-linkat.c (main): Likewise.
32458         * tests/test-mkdir.c (main): Likewise.
32459         * tests/test-mkdirat.c (main): Likewise.
32460         * tests/test-mkfifo.c (main): Likewise.
32461         * tests/test-mkfifoat.c (main): Likewise.
32462         * tests/test-mknod.c (main): Likewise.
32463         * tests/test-readlink.c (main): Likewise.
32464         * tests/test-remove.c (main): Likewise.
32465         * tests/test-rename.c (main): Likewise.
32466         * tests/test-renameat.c (main): Likewise.
32467         * tests/test-symlink.c (main): Likewise.
32468         * tests/test-symlinkat.c (main): Likewise.
32469         * tests/test-utimens.c (main): Likewise.
32470         * tests/test-utimensat.c (main): Likewise.
32471
32472 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32473
32474         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
32475         on $(UNUSED_PARAMETER_H) to avoid build failure.
32476
32477 2009-12-28  Jim Meyering  <meyering@redhat.com>
32478
32479         update-copyright: you may specify a max. line length other than 72
32480         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32481
32482         maint: use consistent FSF copyright line syntax
32483         * lib/posixtm.c: Add missing comma in FSF copyright line.
32484         * lib/posixtm.h: Likewise.
32485         * lib/getugroups.c: Add missing ", Inc.".
32486
32487         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32488         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32489         FSF copyright line.  Remove trailing blanks.
32490
32491 2009-12-28  Eric Blake  <ebb9@byu.net>
32492
32493         test-dup2: reduce dependencies
32494         * modules/cloexec (Configure.ac): Set witness.
32495         * modules/dup2-tests (Depends-on): Drop cloexec.
32496         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32497         not present.
32498         Suggested by Bruno Haible.
32499
32500 2009-12-26  Bruno Haible  <bruno@clisp.org>
32501
32502         Remove an unneeded dependency.
32503         * modules/fseterr (Depends-on): Remove dup2.
32504
32505 2009-12-26  Eric Blake  <ebb9@byu.net>
32506
32507         tests: use macros.h in more places
32508         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32509         (ASSERT_STREAM): Provide default of stderr.
32510         * tests/test-dirent-safer.c: Include macros.h, using alternate
32511         stream for assertions.
32512         * tests/test-dup-safer.c: Likewise.
32513         * tests/test-freopen-safer.c: Likewise.
32514         * tests/test-getopt.c: Likewise.
32515         * tests/test-openat-safer.c: Likewise.
32516         * tests/test-pipe.c: Likewise.
32517         * tests/test-popen-safer.c: Likewise.
32518         * modules/dirent-safer-tests (Files): Include macros.h.
32519         * modules/unistd-safer-tests (Files): Likewise.
32520         * modules/freopen-safer-tests (Files): Likewise.
32521         * modules/getopt-posix-tests (Files): Likewise.
32522         * modules/openat-safer-tests (Files): Likewise.
32523         * modules/pipe-tests (Files): Likewise.
32524
32525 2009-12-26  Bruno Haible  <bruno@clisp.org>
32526
32527         javacomp: Portability fix.
32528         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32529         that it also works on Solaris.
32530
32531 2009-12-26  Bruno Haible  <bruno@clisp.org>
32532
32533         localename: Fix storage allocation of gl_locale_name_thread's result.
32534         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32535         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32536         all platforms that have 'uselocale'.
32537         (gl_locale_name_thread_unsafe): New function, extracted from
32538         gl_locale_name_thread.
32539         (gl_locale_name_thread): Call struniq on all platforms that have
32540         'uselocale'.
32541         * tests/test-localename.c (test_locale_name_thread): Check that the
32542         resulting strings are permanently allocated.
32543         * modules/localename-tests (Depends-on): Add strdup.
32544
32545 2009-12-26  Bruno Haible  <bruno@clisp.org>
32546
32547         * tests/test-localename.c (categories): Fill in the strings.
32548
32549 2009-12-26  Jim Meyering  <meyering@redhat.com>
32550
32551         isdir: complete the removal of m4/isdir.m4
32552         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32553
32554         isdir: clean up, since at least grep still uses it
32555         * lib/isdir.c: Include "isdir.h".
32556         (S_ISDIR): Remove now-unneeded definition.
32557         * modules/isdir (Files): Add lib/isdir.h.
32558         * lib/isdir.h: New file, with declaration.
32559         * m4/isdir.m4: Remove file -- unneeded.
32560
32561 2009-12-25  Bruno Haible  <bruno@clisp.org>
32562
32563         selinux-h: Make generated .h files standalone.
32564         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32565         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32566         * lib/se-selinux.in.h: Likewise.
32567         * modules/selinux-h (Depends-on): Add unused-parameter.
32568         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32569         selinux/selinux.h and selinux/context.h.
32570         Suggested by Eric Blake.
32571
32572 2009-12-25  Bruno Haible  <bruno@clisp.org>
32573
32574         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32575         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32576         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32577         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32578         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32579
32580 2009-12-24  Bruno Haible  <bruno@clisp.org>
32581
32582         openat: Fix warning.
32583         * lib/openat-proc.c: Include <unistd.h>.
32584
32585 2009-12-24  Bruno Haible  <bruno@clisp.org>
32586
32587         New module 'unused-parameter'.
32588         * build-aux/unused-parameter.h: New file, extracted from earlier
32589         gnulib-common.m4.
32590         * modules/unused-parameter: New file.
32591         * lib/unistr.h: Include unused-parameter.h.
32592         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32593         _GL_UNUSED.
32594         * modules/unistr/base (Depends-on): Add unused-parameter.
32595
32596 2009-12-24  Bruno Haible  <bruno@clisp.org>
32597
32598         Add missing dependencies to 'extensions' module.
32599         * m4/extensions.m4: Add comment.
32600         * modules/accept4 (Depends-on): Add extensions.
32601         * modules/dup3 (Depends-on): Likewise.
32602         * modules/fcntl (Depends-on): Likewise.
32603         * modules/futimens (Depends-on): Likewise.
32604         * modules/mknod (Depends-on): Likewise.
32605         * modules/pipe2 (Depends-on): Likewise.
32606         * modules/stat-time (Depends-on): Likewise.
32607         * modules/strcasestr-simple (Depends-on): Likewise.
32608         * modules/strsignal (Depends-on): Likewise.
32609         * modules/utimensat (Depends-on): Likewise.
32610         * modules/localcharset (Depends-on): Likewise. Needed because of
32611         gl_FCNTL_O_FLAGS.
32612         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32613         AC_TYPE_MBSTATE_T.
32614         * modules/wcsnrtombs (Depends-on): Likewise.
32615         * modules/wcsrtombs (Depends-on): Likewise.
32616
32617 2009-12-24  Bruno Haible  <bruno@clisp.org>
32618
32619         binary-io: Avoid gcc warning due to SET_BINARY.
32620         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32621         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32622
32623 2009-12-24  Bruno Haible  <bruno@clisp.org>
32624
32625         Avoid future namespace pollution on glibc systems.
32626         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32627         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32628         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32629         glibc systems.
32630
32631 2009-12-24  Bruno Haible  <bruno@clisp.org>
32632
32633         Refactor common macros used in tests.
32634         * tests/macros.h: New file.
32635         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32636         and/or <stdlib.h>, if appropriate.
32637         (ASSERT, SIZEOF): Remove macros.
32638         * tests/test-areadlink-with-size.c: Likewise.
32639         * tests/test-areadlinkat.c: Likewise.
32640         * tests/test-areadlinkat-with-size.c: Likewise.
32641         * tests/test-argmatch.c: Likewise.
32642         * tests/test-argv-iter.c: Likewise.
32643         * tests/test-array-mergesort.c: Likewise.
32644         * tests/test-array_list.c: Likewise.
32645         * tests/test-array_oset.c: Likewise.
32646         * tests/test-avltree_list.c: Likewise.
32647         * tests/test-avltree_oset.c: Likewise.
32648         * tests/test-avltreehash_list.c: Likewise.
32649         * tests/test-base64.c: Likewise.
32650         * tests/test-binary-io.c: Likewise.
32651         * tests/test-bitrotate.c: Likewise.
32652         * tests/test-btowc.c: Likewise.
32653         * tests/test-byteswap.c: Likewise.
32654         * tests/test-c-ctype.c: Likewise.
32655         * tests/test-c-stack.c: Likewise.
32656         * tests/test-c-strcasecmp.c: Likewise.
32657         * tests/test-c-strcasestr.c: Likewise.
32658         * tests/test-c-strncasecmp.c: Likewise.
32659         * tests/test-c-strstr.c: Likewise.
32660         * tests/test-canonicalize-lgpl.c: Likewise.
32661         * tests/test-canonicalize.c: Likewise.
32662         * tests/test-carray_list.c: Likewise.
32663         * tests/test-ceilf1.c: Likewise.
32664         * tests/test-ceilf2.c: Likewise.
32665         * tests/test-ceill.c: Likewise.
32666         * tests/test-chown.c: Likewise.
32667         * tests/test-cloexec.c: Likewise.
32668         * tests/test-copy-acl.c: Likewise.
32669         * tests/test-copy-file.c: Likewise.
32670         * tests/test-count-one-bits.c: Likewise.
32671         * tests/test-dprintf-posix.c: Likewise.
32672         * tests/test-dup2.c: Likewise.
32673         * tests/test-dup3.c: Likewise.
32674         * tests/test-duplocale.c: Likewise.
32675         * tests/test-fbufmode.c: Likewise.
32676         * tests/test-fchdir.c: Likewise.
32677         * tests/test-fchownat.c: Likewise.
32678         * tests/test-fcntl-safer.c: Likewise.
32679         * tests/test-fcntl.c: Likewise.
32680         * tests/test-fdopendir.c: Likewise.
32681         * tests/test-fdutimensat.c: Likewise.
32682         * tests/test-fflush2.c: Likewise.
32683         * tests/test-file-has-acl.c: Likewise.
32684         * tests/test-filevercmp.c: Likewise.
32685         * tests/test-flock.c: Likewise.
32686         * tests/test-floorf1.c: Likewise.
32687         * tests/test-floorf2.c: Likewise.
32688         * tests/test-floorl.c: Likewise.
32689         * tests/test-fnmatch.c: Likewise.
32690         * tests/test-fopen.h: Likewise.
32691         * tests/test-fpending.c: Likewise.
32692         * tests/test-fprintf-posix.c: Likewise.
32693         * tests/test-fpurge.c: Likewise.
32694         * tests/test-freadable.c: Likewise.
32695         * tests/test-freadahead.c: Likewise.
32696         * tests/test-freading.c: Likewise.
32697         * tests/test-freadptr.c: Likewise.
32698         * tests/test-freadptr2.c: Likewise.
32699         * tests/test-freadseek.c: Likewise.
32700         * tests/test-freopen.c: Likewise.
32701         * tests/test-frexp.c: Likewise.
32702         * tests/test-frexpl.c: Likewise.
32703         * tests/test-fseek.c: Likewise.
32704         * tests/test-fseeko.c: Likewise.
32705         * tests/test-fstatat.c: Likewise.
32706         * tests/test-fstrcmp.c: Likewise.
32707         * tests/test-fsync.c: Likewise.
32708         * tests/test-ftell.c: Likewise.
32709         * tests/test-ftello.c: Likewise.
32710         * tests/test-func.c: Likewise.
32711         * tests/test-futimens.c: Likewise.
32712         * tests/test-fwritable.c: Likewise.
32713         * tests/test-fwriting.c: Likewise.
32714         * tests/test-getcwd.c: Likewise.
32715         * tests/test-getdate.c: Likewise.
32716         * tests/test-getdelim.c: Likewise.
32717         * tests/test-getdtablesize.c: Likewise.
32718         * tests/test-getgroups.c: Likewise.
32719         * tests/test-getline.c: Likewise.
32720         * tests/test-getndelim2.c: Likewise.
32721         * tests/test-glob.c: Likewise.
32722         * tests/test-hash.c: Likewise.
32723         * tests/test-i-ring.c: Likewise.
32724         * tests/test-iconv-utf.c: Likewise.
32725         * tests/test-iconv.c: Likewise.
32726         * tests/test-idpriv-drop.c: Likewise.
32727         * tests/test-idpriv-droptemp.c: Likewise.
32728         * tests/test-inet_ntop.c: Likewise.
32729         * tests/test-inet_pton.c: Likewise.
32730         * tests/test-isblank.c: Likewise.
32731         * tests/test-isfinite.c: Likewise.
32732         * tests/test-isinf.c: Likewise.
32733         * tests/test-isnan.c: Likewise.
32734         * tests/test-isnand.h: Likewise.
32735         * tests/test-isnanf.h: Likewise.
32736         * tests/test-isnanl.h: Likewise.
32737         * tests/test-lchown.c: Likewise.
32738         * tests/test-ldexpl.c: Likewise.
32739         * tests/test-link.c: Likewise.
32740         * tests/test-linkat.c: Likewise.
32741         * tests/test-linked_list.c: Likewise.
32742         * tests/test-linkedhash_list.c: Likewise.
32743         * tests/test-localename.c: Likewise.
32744         * tests/test-lseek.c: Likewise.
32745         * tests/test-lstat.c: Likewise.
32746         * tests/test-mbmemcasecmp.c: Likewise.
32747         * tests/test-mbmemcasecoll.c: Likewise.
32748         * tests/test-mbrtowc.c: Likewise.
32749         * tests/test-mbscasecmp.c: Likewise.
32750         * tests/test-mbscasestr1.c: Likewise.
32751         * tests/test-mbscasestr2.c: Likewise.
32752         * tests/test-mbscasestr3.c: Likewise.
32753         * tests/test-mbscasestr4.c: Likewise.
32754         * tests/test-mbschr.c: Likewise.
32755         * tests/test-mbscspn.c: Likewise.
32756         * tests/test-mbsinit.c: Likewise.
32757         * tests/test-mbsncasecmp.c: Likewise.
32758         * tests/test-mbsnrtowcs.c: Likewise.
32759         * tests/test-mbspbrk.c: Likewise.
32760         * tests/test-mbspcasecmp.c: Likewise.
32761         * tests/test-mbsrchr.c: Likewise.
32762         * tests/test-mbsrtowcs.c: Likewise.
32763         * tests/test-mbsspn.c: Likewise.
32764         * tests/test-mbsstr1.c: Likewise.
32765         * tests/test-mbsstr2.c: Likewise.
32766         * tests/test-mbsstr3.c: Likewise.
32767         * tests/test-memchr.c: Likewise.
32768         * tests/test-memchr2.c: Likewise.
32769         * tests/test-memcmp.c: Likewise.
32770         * tests/test-memmem.c: Likewise.
32771         * tests/test-memrchr.c: Likewise.
32772         * tests/test-mkdir.c: Likewise.
32773         * tests/test-mkdirat.c: Likewise.
32774         * tests/test-mkfifo.c: Likewise.
32775         * tests/test-mkfifoat.c: Likewise.
32776         * tests/test-mknod.c: Likewise.
32777         * tests/test-nanosleep.c: Likewise.
32778         * tests/test-nl_langinfo.c: Likewise.
32779         * tests/test-obstack-printf.c: Likewise.
32780         * tests/test-open.c: Likewise.
32781         * tests/test-openat.c: Likewise.
32782         * tests/test-pipe-filter-gi1.c: Likewise.
32783         * tests/test-pipe-filter-gi2-main.c: Likewise.
32784         * tests/test-pipe-filter-ii1.c: Likewise.
32785         * tests/test-pipe-filter-ii2-main.c: Likewise.
32786         * tests/test-pipe2.c: Likewise.
32787         * tests/test-popen.h: Likewise.
32788         * tests/test-posixtm.c: Likewise.
32789         * tests/test-pread.c: Likewise.
32790         * tests/test-printf-frexp.c: Likewise.
32791         * tests/test-printf-frexpl.c: Likewise.
32792         * tests/test-printf-posix.c: Likewise.
32793         * tests/test-priv-set.c: Likewise.
32794         * tests/test-quotearg.c: Likewise.
32795         * tests/test-random_r.c: Likewise.
32796         * tests/test-rawmemchr.c: Likewise.
32797         * tests/test-rbtree_list.c: Likewise.
32798         * tests/test-rbtree_oset.c: Likewise.
32799         * tests/test-rbtreehash_list.c: Likewise.
32800         * tests/test-readlink.c: Likewise.
32801         * tests/test-remove.c: Likewise.
32802         * tests/test-rename.c: Likewise.
32803         * tests/test-renameat.c: Likewise.
32804         * tests/test-rmdir.c: Likewise.
32805         * tests/test-round1.c: Likewise.
32806         * tests/test-roundf1.c: Likewise.
32807         * tests/test-roundl.c: Likewise.
32808         * tests/test-safe-alloc.c: Likewise.
32809         * tests/test-sameacls.c: Likewise.
32810         * tests/test-set-mode-acl.c: Likewise.
32811         * tests/test-setenv.c: Likewise.
32812         * tests/test-sigaction.c: Likewise.
32813         * tests/test-signbit.c: Likewise.
32814         * tests/test-sleep.c: Likewise.
32815         * tests/test-snprintf-posix.c: Likewise.
32816         * tests/test-snprintf.c: Likewise.
32817         * tests/test-sprintf-posix.c: Likewise.
32818         * tests/test-stat-time.c: Likewise.
32819         * tests/test-stat.c: Likewise.
32820         * tests/test-strcasestr.c: Likewise.
32821         * tests/test-strchrnul.c: Likewise.
32822         * tests/test-strerror.c: Likewise.
32823         * tests/test-striconv.c: Likewise.
32824         * tests/test-striconveh.c: Likewise.
32825         * tests/test-striconveha.c: Likewise.
32826         * tests/test-strsignal.c: Likewise.
32827         * tests/test-strstr.c: Likewise.
32828         * tests/test-strtod.c: Likewise.
32829         * tests/test-strverscmp.c: Likewise.
32830         * tests/test-symlink.c: Likewise.
32831         * tests/test-symlinkat.c: Likewise.
32832         * tests/test-trunc1.c: Likewise.
32833         * tests/test-trunc2.c: Likewise.
32834         * tests/test-truncf1.c: Likewise.
32835         * tests/test-truncf2.c: Likewise.
32836         * tests/test-truncl.c: Likewise.
32837         * tests/test-uname.c: Likewise.
32838         * tests/test-unlink.c: Likewise.
32839         * tests/test-unlinkat.c: Likewise.
32840         * tests/test-unsetenv.c: Likewise.
32841         * tests/test-usleep.c: Likewise.
32842         * tests/test-utimens.c: Likewise.
32843         * tests/test-utimensat.c: Likewise.
32844         * tests/test-vasnprintf-posix.c: Likewise.
32845         * tests/test-vasnprintf-posix2.c: Likewise.
32846         * tests/test-vasnprintf.c: Likewise.
32847         * tests/test-vasprintf-posix.c: Likewise.
32848         * tests/test-vasprintf.c: Likewise.
32849         * tests/test-vdprintf-posix.c: Likewise.
32850         * tests/test-vfprintf-posix.c: Likewise.
32851         * tests/test-vprintf-posix.c: Likewise.
32852         * tests/test-vsnprintf-posix.c: Likewise.
32853         * tests/test-vsnprintf.c: Likewise.
32854         * tests/test-vsprintf-posix.c: Likewise.
32855         * tests/test-wcrtomb.c: Likewise.
32856         * tests/test-wcsnrtombs.c: Likewise.
32857         * tests/test-wcsrtombs.c: Likewise.
32858         * tests/test-wctype.c: Likewise.
32859         * tests/test-wcwidth.c: Likewise.
32860         * tests/test-xfprintf-posix.c: Likewise.
32861         * tests/test-xmemdup0.c: Likewise.
32862         * tests/test-xprintf-posix.c: Likewise.
32863         * tests/test-xvasprintf.c: Likewise.
32864         * tests/unicase/test-locale-language.c: Likewise.
32865         * tests/unicase/test-mapping-part1.h: Likewise.
32866         * tests/unicase/test-predicate-part1.h: Likewise.
32867         * tests/unicase/test-u8-casecmp.c: Likewise.
32868         * tests/unicase/test-u8-casecoll.c: Likewise.
32869         * tests/unicase/test-u8-casefold.c: Likewise.
32870         * tests/unicase/test-u8-is-cased.c: Likewise.
32871         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32872         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32873         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32874         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32875         * tests/unicase/test-u8-tolower.c: Likewise.
32876         * tests/unicase/test-u8-totitle.c: Likewise.
32877         * tests/unicase/test-u8-toupper.c: Likewise.
32878         * tests/unicase/test-u16-casecmp.c: Likewise.
32879         * tests/unicase/test-u16-casecoll.c: Likewise.
32880         * tests/unicase/test-u16-casefold.c: Likewise.
32881         * tests/unicase/test-u16-is-cased.c: Likewise.
32882         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32883         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32884         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32885         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32886         * tests/unicase/test-u16-tolower.c: Likewise.
32887         * tests/unicase/test-u16-totitle.c: Likewise.
32888         * tests/unicase/test-u16-toupper.c: Likewise.
32889         * tests/unicase/test-u32-casecmp.c: Likewise.
32890         * tests/unicase/test-u32-casecoll.c: Likewise.
32891         * tests/unicase/test-u32-casefold.c: Likewise.
32892         * tests/unicase/test-u32-is-cased.c: Likewise.
32893         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32894         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32895         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32896         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32897         * tests/unicase/test-u32-tolower.c: Likewise.
32898         * tests/unicase/test-u32-totitle.c: Likewise.
32899         * tests/unicase/test-u32-toupper.c: Likewise.
32900         * tests/unicase/test-ulc-casecmp.c: Likewise.
32901         * tests/unicase/test-ulc-casecoll.c: Likewise.
32902         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32903         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32904         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32905         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32906         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32907         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32908         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32909         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32910         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32911         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32912         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32913         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32914         * tests/unictype/test-bidi_byname.c: Likewise.
32915         * tests/unictype/test-bidi_name.c: Likewise.
32916         * tests/unictype/test-bidi_of.c: Likewise.
32917         * tests/unictype/test-bidi_test.c: Likewise.
32918         * tests/unictype/test-block_list.c: Likewise.
32919         * tests/unictype/test-block_of.c: Likewise.
32920         * tests/unictype/test-block_test.c: Likewise.
32921         * tests/unictype/test-categ_and.c: Likewise.
32922         * tests/unictype/test-categ_and_not.c: Likewise.
32923         * tests/unictype/test-categ_byname.c: Likewise.
32924         * tests/unictype/test-categ_name.c: Likewise.
32925         * tests/unictype/test-categ_none.c: Likewise.
32926         * tests/unictype/test-categ_of.c: Likewise.
32927         * tests/unictype/test-categ_or.c: Likewise.
32928         * tests/unictype/test-categ_test_withtable.c: Likewise.
32929         * tests/unictype/test-combining.c: Likewise.
32930         * tests/unictype/test-decdigit.c: Likewise.
32931         * tests/unictype/test-digit.c: Likewise.
32932         * tests/unictype/test-mirror.c: Likewise.
32933         * tests/unictype/test-numeric.c: Likewise.
32934         * tests/unictype/test-pr_byname.c: Likewise.
32935         * tests/unictype/test-pr_test.c: Likewise.
32936         * tests/unictype/test-predicate-part1.h: Likewise.
32937         * tests/unictype/test-scripts.c: Likewise.
32938         * tests/unictype/test-sy_c_ident.c: Likewise.
32939         * tests/unictype/test-sy_java_ident.c: Likewise.
32940         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32941         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32942         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32943         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32944         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32945         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32946         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32947         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32948         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32949         * tests/uninorm/test-compat-decomposition.c: Likewise.
32950         * tests/uninorm/test-composition.c: Likewise.
32951         * tests/uninorm/test-decomposing-form.c: Likewise.
32952         * tests/uninorm/test-decomposition.c: Likewise.
32953         * tests/uninorm/test-u8-nfc.c: Likewise.
32954         * tests/uninorm/test-u8-nfd.c: Likewise.
32955         * tests/uninorm/test-u8-nfkc.c: Likewise.
32956         * tests/uninorm/test-u8-nfkd.c: Likewise.
32957         * tests/uninorm/test-u8-normcmp.c: Likewise.
32958         * tests/uninorm/test-u8-normcoll.c: Likewise.
32959         * tests/uninorm/test-u16-nfc.c: Likewise.
32960         * tests/uninorm/test-u16-nfd.c: Likewise.
32961         * tests/uninorm/test-u16-nfkc.c: Likewise.
32962         * tests/uninorm/test-u16-nfkd.c: Likewise.
32963         * tests/uninorm/test-u16-normcmp.c: Likewise.
32964         * tests/uninorm/test-u16-normcoll.c: Likewise.
32965         * tests/uninorm/test-u32-nfc.c: Likewise.
32966         * tests/uninorm/test-u32-nfd.c: Likewise.
32967         * tests/uninorm/test-u32-nfkc.c: Likewise.
32968         * tests/uninorm/test-u32-nfkd.c: Likewise.
32969         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32970         * tests/uninorm/test-u32-normcmp.c: Likewise.
32971         * tests/uninorm/test-u32-normcoll.c: Likewise.
32972         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32973         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32974         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32975         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32976         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32977         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32978         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32979         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32980         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32981         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32982         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32983         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32984         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32985         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32986         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32987         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32988         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32989         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32990         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32991         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32992         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32993         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32994         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32995         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32996         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32997         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32998         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32999         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33000         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33001         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33002         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33003         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33004         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33005         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33006         * tests/uniwidth/test-u8-width.c: Likewise.
33007         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33008         * tests/uniwidth/test-u16-width.c: Likewise.
33009         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33010         * tests/uniwidth/test-u32-width.c: Likewise.
33011         * tests/uniwidth/test-uc_width.c: Likewise.
33012         * tests/uniwidth/test-uc_width2.c: Likewise.
33013         * modules/acl-tests (Files): Add tests/macros.h.
33014         * modules/areadlink-tests (Files): Likewise.
33015         * modules/areadlink-with-size-tests (Files): Likewise.
33016         * modules/areadlinkat-tests (Files): Likewise.
33017         * modules/areadlinkat-with-size-tests (Files): Likewise.
33018         * modules/argmatch-tests (Files): Likewise.
33019         * modules/argv-iter-tests (Files): Likewise.
33020         * modules/array-list-tests (Files): Likewise.
33021         * modules/array-mergesort-tests (Files): Likewise.
33022         * modules/array-oset-tests (Files): Likewise.
33023         * modules/avltree-list-tests (Files): Likewise.
33024         * modules/avltree-oset-tests (Files): Likewise.
33025         * modules/avltreehash-list-tests (Files): Likewise.
33026         * modules/base64-tests (Files): Likewise.
33027         * modules/binary-io-tests (Files): Likewise.
33028         * modules/bitrotate-tests (Files): Likewise.
33029         * modules/btowc-tests (Files): Likewise.
33030         * modules/byteswap-tests (Files): Likewise.
33031         * modules/c-ctype-tests (Files): Likewise.
33032         * modules/c-stack-tests (Files): Likewise.
33033         * modules/c-strcase-tests (Files): Likewise.
33034         * modules/c-strcasestr-tests (Files): Likewise.
33035         * modules/c-strstr-tests (Files): Likewise.
33036         * modules/canonicalize-lgpl-tests (Files): Likewise.
33037         * modules/canonicalize-tests (Files): Likewise.
33038         * modules/carray-list-tests (Files): Likewise.
33039         * modules/ceilf-tests (Files): Likewise.
33040         * modules/ceill-tests (Files): Likewise.
33041         * modules/chown-tests (Files): Likewise.
33042         * modules/cloexec-tests (Files): Likewise.
33043         * modules/copy-file-tests (Files): Likewise.
33044         * modules/count-one-bits-tests (Files): Likewise.
33045         * modules/dprintf-posix-tests (Files): Likewise.
33046         * modules/dup2-tests (Files): Likewise.
33047         * modules/dup3-tests (Files): Likewise.
33048         * modules/duplocale-tests (Files): Likewise.
33049         * modules/fbufmode-tests (Files): Likewise.
33050         * modules/fchdir-tests (Files): Likewise.
33051         * modules/fcntl-safer-tests (Files): Likewise.
33052         * modules/fcntl-tests (Files): Likewise.
33053         * modules/fdopendir-tests (Files): Likewise.
33054         * modules/fdutimensat-tests (Files): Likewise.
33055         * modules/fflush-tests (Files): Likewise.
33056         * modules/filevercmp-tests (Files): Likewise.
33057         * modules/flock-tests (Files): Likewise.
33058         * modules/floorf-tests (Files): Likewise.
33059         * modules/floorl-tests (Files): Likewise.
33060         * modules/fnmatch-tests (Files): Likewise.
33061         * modules/fopen-safer-tests (Files): Likewise.
33062         * modules/fopen-tests (Files): Likewise.
33063         * modules/fpending-tests (Files): Likewise.
33064         * modules/fprintf-posix-tests (Files): Likewise.
33065         * modules/fpurge-tests (Files): Likewise.
33066         * modules/freadable-tests (Files): Likewise.
33067         * modules/freadahead-tests (Files): Likewise.
33068         * modules/freading-tests (Files): Likewise.
33069         * modules/freadptr-tests (Files): Likewise.
33070         * modules/freadseek-tests (Files): Likewise.
33071         * modules/freopen-tests (Files): Likewise.
33072         * modules/frexp-nolibm-tests (Files): Likewise.
33073         * modules/frexp-tests (Files): Likewise.
33074         * modules/frexpl-nolibm-tests (Files): Likewise.
33075         * modules/frexpl-tests (Files): Likewise.
33076         * modules/fseek-tests (Files): Likewise.
33077         * modules/fseeko-tests (Files): Likewise.
33078         * modules/fstrcmp-tests (Files): Likewise.
33079         * modules/fsync-tests (Files): Likewise.
33080         * modules/ftell-tests (Files): Likewise.
33081         * modules/ftello-tests (Files): Likewise.
33082         * modules/func-tests (Files): Likewise.
33083         * modules/futimens-tests (Files): Likewise.
33084         * modules/fwritable-tests (Files): Likewise.
33085         * modules/fwriting-tests (Files): Likewise.
33086         * modules/getcwd-tests (Files): Likewise.
33087         * modules/getdate-tests (Files): Likewise.
33088         * modules/getdelim-tests (Files): Likewise.
33089         * modules/getdtablesize-tests (Files): Likewise.
33090         * modules/getgroups-tests (Files): Likewise.
33091         * modules/getline-tests (Files): Likewise.
33092         * modules/getndelim2-tests (Files): Likewise.
33093         * modules/glob-tests (Files): Likewise.
33094         * modules/hash-tests (Files): Likewise.
33095         * modules/i-ring-tests (Files): Likewise.
33096         * modules/iconv-tests (Files): Likewise.
33097         * modules/iconv_open-utf-tests (Files): Likewise.
33098         * modules/idpriv-drop-tests (Files): Likewise.
33099         * modules/idpriv-droptemp-tests (Files): Likewise.
33100         * modules/inet_ntop-tests (Files): Likewise.
33101         * modules/inet_pton-tests (Files): Likewise.
33102         * modules/isblank-tests (Files): Likewise.
33103         * modules/isfinite-tests (Files): Likewise.
33104         * modules/isinf-tests (Files): Likewise.
33105         * modules/isnan-tests (Files): Likewise.
33106         * modules/isnand-nolibm-tests (Files): Likewise.
33107         * modules/isnand-tests (Files): Likewise.
33108         * modules/isnanf-nolibm-tests (Files): Likewise.
33109         * modules/isnanf-tests (Files): Likewise.
33110         * modules/isnanl-nolibm-tests (Files): Likewise.
33111         * modules/isnanl-tests (Files): Likewise.
33112         * modules/lchown-tests (Files): Likewise.
33113         * modules/ldexpl-tests (Files): Likewise.
33114         * modules/link-tests (Files): Likewise.
33115         * modules/linkat-tests (Files): Likewise.
33116         * modules/linked-list-tests (Files): Likewise.
33117         * modules/linkedhash-list-tests (Files): Likewise.
33118         * modules/localename-tests (Files): Likewise.
33119         * modules/lseek-tests (Files): Likewise.
33120         * modules/lstat-tests (Files): Likewise.
33121         * modules/mbmemcasecmp-tests (Files): Likewise.
33122         * modules/mbmemcasecoll-tests (Files): Likewise.
33123         * modules/mbrtowc-tests (Files): Likewise.
33124         * modules/mbscasecmp-tests (Files): Likewise.
33125         * modules/mbscasestr-tests (Files): Likewise.
33126         * modules/mbschr-tests (Files): Likewise.
33127         * modules/mbscspn-tests (Files): Likewise.
33128         * modules/mbsinit-tests (Files): Likewise.
33129         * modules/mbsncasecmp-tests (Files): Likewise.
33130         * modules/mbsnrtowcs-tests (Files): Likewise.
33131         * modules/mbspbrk-tests (Files): Likewise.
33132         * modules/mbspcasecmp-tests (Files): Likewise.
33133         * modules/mbsrchr-tests (Files): Likewise.
33134         * modules/mbsrtowcs-tests (Files): Likewise.
33135         * modules/mbsspn-tests (Files): Likewise.
33136         * modules/mbsstr-tests (Files): Likewise.
33137         * modules/memchr-tests (Files): Likewise.
33138         * modules/memchr2-tests (Files): Likewise.
33139         * modules/memcmp-tests (Files): Likewise.
33140         * modules/memmem-tests (Files): Likewise.
33141         * modules/memrchr-tests (Files): Likewise.
33142         * modules/mkdir-tests (Files): Likewise.
33143         * modules/mkfifo-tests (Files): Likewise.
33144         * modules/mkfifoat-tests (Files): Likewise.
33145         * modules/mknod-tests (Files): Likewise.
33146         * modules/nanosleep-tests (Files): Likewise.
33147         * modules/nl_langinfo-tests (Files): Likewise.
33148         * modules/obstack-printf-tests (Files): Likewise.
33149         * modules/open-tests (Files): Likewise.
33150         * modules/openat-tests (Files): Likewise.
33151         * modules/pipe-filter-gi-tests (Files): Likewise.
33152         * modules/pipe-filter-ii-tests (Files): Likewise.
33153         * modules/pipe2-tests (Files): Likewise.
33154         * modules/popen-safer-tests (Files): Likewise.
33155         * modules/popen-tests (Files): Likewise.
33156         * modules/posixtm-tests (Files): Likewise.
33157         * modules/pread-tests (Files): Likewise.
33158         * modules/printf-frexp-tests (Files): Likewise.
33159         * modules/printf-frexpl-tests (Files): Likewise.
33160         * modules/printf-posix-tests (Files): Likewise.
33161         * modules/priv-set-tests (Files): Likewise.
33162         * modules/quotearg-tests (Files): Likewise.
33163         * modules/random_r-tests (Files): Likewise.
33164         * modules/rawmemchr-tests (Files): Likewise.
33165         * modules/rbtree-list-tests (Files): Likewise.
33166         * modules/rbtree-oset-tests (Files): Likewise.
33167         * modules/rbtreehash-list-tests (Files): Likewise.
33168         * modules/readlink-tests (Files): Likewise.
33169         * modules/remove-tests (Files): Likewise.
33170         * modules/rename-tests (Files): Likewise.
33171         * modules/renameat-tests (Files): Likewise.
33172         * modules/rmdir-tests (Files): Likewise.
33173         * modules/round-tests (Files): Likewise.
33174         * modules/roundf-tests (Files): Likewise.
33175         * modules/roundl-tests (Files): Likewise.
33176         * modules/safe-alloc-tests (Files): Likewise.
33177         * modules/setenv-tests (Files): Likewise.
33178         * modules/sigaction-tests (Files): Likewise.
33179         * modules/signbit-tests (Files): Likewise.
33180         * modules/sleep-tests (Files): Likewise.
33181         * modules/snprintf-posix-tests (Files): Likewise.
33182         * modules/snprintf-tests (Files): Likewise.
33183         * modules/sprintf-posix-tests (Files): Likewise.
33184         * modules/stat-tests (Files): Likewise.
33185         * modules/stat-time-tests (Files): Likewise.
33186         * modules/strcasestr-tests (Files): Likewise.
33187         * modules/strchrnul-tests (Files): Likewise.
33188         * modules/strerror-tests (Files): Likewise.
33189         * modules/striconv-tests (Files): Likewise.
33190         * modules/striconveh-tests (Files): Likewise.
33191         * modules/striconveha-tests (Files): Likewise.
33192         * modules/strsignal-tests (Files): Likewise.
33193         * modules/strstr-tests (Files): Likewise.
33194         * modules/strtod-tests (Files): Likewise.
33195         * modules/strverscmp-tests (Files): Likewise.
33196         * modules/symlink-tests (Files): Likewise.
33197         * modules/symlinkat-tests (Files): Likewise.
33198         * modules/trunc-tests (Files): Likewise.
33199         * modules/truncf-tests (Files): Likewise.
33200         * modules/truncl-tests (Files): Likewise.
33201         * modules/uname-tests (Files): Likewise.
33202         * modules/unicase/cased-tests (Files): Likewise.
33203         * modules/unicase/ignorable-tests (Files): Likewise.
33204         * modules/unicase/locale-language-tests (Files): Likewise.
33205         * modules/unicase/tolower-tests (Files): Likewise.
33206         * modules/unicase/totitle-tests (Files): Likewise.
33207         * modules/unicase/toupper-tests (Files): Likewise.
33208         * modules/unicase/u8-casecmp-tests (Files): Likewise.
33209         * modules/unicase/u8-casecoll-tests (Files): Likewise.
33210         * modules/unicase/u8-casefold-tests (Files): Likewise.
33211         * modules/unicase/u8-is-cased-tests (Files): Likewise.
33212         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
33213         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
33214         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
33215         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
33216         * modules/unicase/u8-tolower-tests (Files): Likewise.
33217         * modules/unicase/u8-totitle-tests (Files): Likewise.
33218         * modules/unicase/u8-toupper-tests (Files): Likewise.
33219         * modules/unicase/u16-casecmp-tests (Files): Likewise.
33220         * modules/unicase/u16-casecoll-tests (Files): Likewise.
33221         * modules/unicase/u16-casefold-tests (Files): Likewise.
33222         * modules/unicase/u16-is-cased-tests (Files): Likewise.
33223         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
33224         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
33225         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
33226         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
33227         * modules/unicase/u16-tolower-tests (Files): Likewise.
33228         * modules/unicase/u16-totitle-tests (Files): Likewise.
33229         * modules/unicase/u16-toupper-tests (Files): Likewise.
33230         * modules/unicase/u32-casecmp-tests (Files): Likewise.
33231         * modules/unicase/u32-casecoll-tests (Files): Likewise.
33232         * modules/unicase/u32-casefold-tests (Files): Likewise.
33233         * modules/unicase/u32-is-cased-tests (Files): Likewise.
33234         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
33235         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
33236         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
33237         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
33238         * modules/unicase/u32-tolower-tests (Files): Likewise.
33239         * modules/unicase/u32-totitle-tests (Files): Likewise.
33240         * modules/unicase/u32-toupper-tests (Files): Likewise.
33241         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
33242         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
33243         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
33244         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
33245         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
33246         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
33247         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
33248         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
33249         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
33250         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
33251         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
33252         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
33253         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
33254         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
33255         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
33256         * modules/unictype/bidicategory-name-tests (Files): Likewise.
33257         * modules/unictype/bidicategory-of-tests (Files): Likewise.
33258         * modules/unictype/bidicategory-test-tests (Files): Likewise.
33259         * modules/unictype/block-list-tests (Files): Likewise.
33260         * modules/unictype/block-of-tests (Files): Likewise.
33261         * modules/unictype/block-test-tests (Files): Likewise.
33262         * modules/unictype/category-C-tests (Files): Likewise.
33263         * modules/unictype/category-Cc-tests (Files): Likewise.
33264         * modules/unictype/category-Cf-tests (Files): Likewise.
33265         * modules/unictype/category-Cn-tests (Files): Likewise.
33266         * modules/unictype/category-Co-tests (Files): Likewise.
33267         * modules/unictype/category-Cs-tests (Files): Likewise.
33268         * modules/unictype/category-L-tests (Files): Likewise.
33269         * modules/unictype/category-Ll-tests (Files): Likewise.
33270         * modules/unictype/category-Lm-tests (Files): Likewise.
33271         * modules/unictype/category-Lo-tests (Files): Likewise.
33272         * modules/unictype/category-Lt-tests (Files): Likewise.
33273         * modules/unictype/category-Lu-tests (Files): Likewise.
33274         * modules/unictype/category-M-tests (Files): Likewise.
33275         * modules/unictype/category-Mc-tests (Files): Likewise.
33276         * modules/unictype/category-Me-tests (Files): Likewise.
33277         * modules/unictype/category-Mn-tests (Files): Likewise.
33278         * modules/unictype/category-N-tests (Files): Likewise.
33279         * modules/unictype/category-Nd-tests (Files): Likewise.
33280         * modules/unictype/category-Nl-tests (Files): Likewise.
33281         * modules/unictype/category-No-tests (Files): Likewise.
33282         * modules/unictype/category-P-tests (Files): Likewise.
33283         * modules/unictype/category-Pc-tests (Files): Likewise.
33284         * modules/unictype/category-Pd-tests (Files): Likewise.
33285         * modules/unictype/category-Pe-tests (Files): Likewise.
33286         * modules/unictype/category-Pf-tests (Files): Likewise.
33287         * modules/unictype/category-Pi-tests (Files): Likewise.
33288         * modules/unictype/category-Po-tests (Files): Likewise.
33289         * modules/unictype/category-Ps-tests (Files): Likewise.
33290         * modules/unictype/category-S-tests (Files): Likewise.
33291         * modules/unictype/category-Sc-tests (Files): Likewise.
33292         * modules/unictype/category-Sk-tests (Files): Likewise.
33293         * modules/unictype/category-Sm-tests (Files): Likewise.
33294         * modules/unictype/category-So-tests (Files): Likewise.
33295         * modules/unictype/category-Z-tests (Files): Likewise.
33296         * modules/unictype/category-Zl-tests (Files): Likewise.
33297         * modules/unictype/category-Zp-tests (Files): Likewise.
33298         * modules/unictype/category-Zs-tests (Files): Likewise.
33299         * modules/unictype/category-and-not-tests (Files): Likewise.
33300         * modules/unictype/category-and-tests (Files): Likewise.
33301         * modules/unictype/category-byname-tests (Files): Likewise.
33302         * modules/unictype/category-name-tests (Files): Likewise.
33303         * modules/unictype/category-none-tests (Files): Likewise.
33304         * modules/unictype/category-of-tests (Files): Likewise.
33305         * modules/unictype/category-or-tests (Files): Likewise.
33306         * modules/unictype/category-test-withtable-tests (Files): Likewise.
33307         * modules/unictype/combining-class-tests (Files): Likewise.
33308         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33309         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33310         * modules/unictype/ctype-blank-tests (Files): Likewise.
33311         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33312         * modules/unictype/ctype-digit-tests (Files): Likewise.
33313         * modules/unictype/ctype-graph-tests (Files): Likewise.
33314         * modules/unictype/ctype-lower-tests (Files): Likewise.
33315         * modules/unictype/ctype-print-tests (Files): Likewise.
33316         * modules/unictype/ctype-punct-tests (Files): Likewise.
33317         * modules/unictype/ctype-space-tests (Files): Likewise.
33318         * modules/unictype/ctype-upper-tests (Files): Likewise.
33319         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33320         * modules/unictype/decimal-digit-tests (Files): Likewise.
33321         * modules/unictype/digit-tests (Files): Likewise.
33322         * modules/unictype/mirror-tests (Files): Likewise.
33323         * modules/unictype/numeric-tests (Files): Likewise.
33324         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33325         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33326         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33327         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33328         Likewise.
33329         * modules/unictype/property-bidi-block-separator-tests (Files):
33330         Likewise.
33331         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33332         Likewise.
33333         * modules/unictype/property-bidi-common-separator-tests (Files):
33334         Likewise.
33335         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33336         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33337         Likewise.
33338         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33339         Likewise.
33340         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33341         Likewise.
33342         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33343         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33344         Likewise.
33345         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33346         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33347         Likewise.
33348         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33349         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33350         * modules/unictype/property-bidi-segment-separator-tests (Files):
33351         Likewise.
33352         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33353         * modules/unictype/property-byname-tests (Files): Likewise.
33354         * modules/unictype/property-combining-tests (Files): Likewise.
33355         * modules/unictype/property-composite-tests (Files): Likewise.
33356         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33357         * modules/unictype/property-dash-tests (Files): Likewise.
33358         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
33359         * modules/unictype/property-default-ignorable-code-point-tests (Files):
33360         Likewise.
33361         * modules/unictype/property-deprecated-tests (Files): Likewise.
33362         * modules/unictype/property-diacritic-tests (Files): Likewise.
33363         * modules/unictype/property-extender-tests (Files): Likewise.
33364         * modules/unictype/property-format-control-tests (Files): Likewise.
33365         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
33366         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
33367         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
33368         * modules/unictype/property-hex-digit-tests (Files): Likewise.
33369         * modules/unictype/property-hyphen-tests (Files): Likewise.
33370         * modules/unictype/property-id-continue-tests (Files): Likewise.
33371         * modules/unictype/property-id-start-tests (Files): Likewise.
33372         * modules/unictype/property-ideographic-tests (Files): Likewise.
33373         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
33374         * modules/unictype/property-ids-trinary-operator-tests (Files):
33375         Likewise.
33376         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
33377         * modules/unictype/property-iso-control-tests (Files): Likewise.
33378         * modules/unictype/property-join-control-tests (Files): Likewise.
33379         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33380         * modules/unictype/property-line-separator-tests (Files): Likewise.
33381         * modules/unictype/property-logical-order-exception-tests (Files):
33382         Likewise.
33383         * modules/unictype/property-lowercase-tests (Files): Likewise.
33384         * modules/unictype/property-math-tests (Files): Likewise.
33385         * modules/unictype/property-non-break-tests (Files): Likewise.
33386         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33387         * modules/unictype/property-numeric-tests (Files): Likewise.
33388         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33389         * modules/unictype/property-other-default-ignorable-code-point-tests
33390         (Files): Likewise.
33391         * modules/unictype/property-other-grapheme-extend-tests (Files):
33392         Likewise.
33393         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33394         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33395         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33396         * modules/unictype/property-other-math-tests (Files): Likewise.
33397         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33398         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33399         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33400         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33401         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33402         * modules/unictype/property-private-use-tests (Files): Likewise.
33403         * modules/unictype/property-punctuation-tests (Files): Likewise.
33404         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33405         * modules/unictype/property-radical-tests (Files): Likewise.
33406         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33407         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33408         * modules/unictype/property-space-tests (Files): Likewise.
33409         * modules/unictype/property-terminal-punctuation-tests (Files):
33410         Likewise.
33411         * modules/unictype/property-test-tests (Files): Likewise.
33412         * modules/unictype/property-titlecase-tests (Files): Likewise.
33413         * modules/unictype/property-unassigned-code-value-tests (Files):
33414         Likewise.
33415         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
33416         * modules/unictype/property-uppercase-tests (Files): Likewise.
33417         * modules/unictype/property-variation-selector-tests (Files): Likewise.
33418         * modules/unictype/property-white-space-tests (Files): Likewise.
33419         * modules/unictype/property-xid-continue-tests (Files): Likewise.
33420         * modules/unictype/property-xid-start-tests (Files): Likewise.
33421         * modules/unictype/property-zero-width-tests (Files): Likewise.
33422         * modules/unictype/scripts-tests (Files): Likewise.
33423         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
33424         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
33425         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
33426         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
33427         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
33428         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
33429         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
33430         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
33431         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
33432         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
33433         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
33434         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
33435         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
33436         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
33437         * modules/uninorm/composition-tests (Files): Likewise.
33438         * modules/uninorm/decomposing-form-tests (Files): Likewise.
33439         * modules/uninorm/decomposition-tests (Files): Likewise.
33440         * modules/uninorm/filter-tests (Files): Likewise.
33441         * modules/uninorm/nfc-tests (Files): Likewise.
33442         * modules/uninorm/nfd-tests (Files): Likewise.
33443         * modules/uninorm/nfkc-tests (Files): Likewise.
33444         * modules/uninorm/nfkd-tests (Files): Likewise.
33445         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
33446         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
33447         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
33448         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
33449         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
33450         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
33451         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
33452         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33453         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
33454         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
33455         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
33456         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
33457         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33458         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
33459         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
33460         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
33461         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
33462         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33463         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
33464         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
33465         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
33466         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
33467         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33468         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
33469         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
33470         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
33471         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
33472         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
33473         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
33474         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
33475         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
33476         * modules/uniwidth/u8-width-tests (Files): Likewise.
33477         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
33478         * modules/uniwidth/u16-width-tests (Files): Likewise.
33479         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
33480         * modules/uniwidth/u32-width-tests (Files): Likewise.
33481         * modules/uniwidth/width-tests (Files): Likewise.
33482         * modules/unlink-tests (Files): Likewise.
33483         * modules/unsetenv-tests (Files): Likewise.
33484         * modules/usleep-tests (Files): Likewise.
33485         * modules/utimens-tests (Files): Likewise.
33486         * modules/utimensat-tests (Files): Likewise.
33487         * modules/vasnprintf-posix-tests (Files): Likewise.
33488         * modules/vasnprintf-tests (Files): Likewise.
33489         * modules/vasprintf-posix-tests (Files): Likewise.
33490         * modules/vasprintf-tests (Files): Likewise.
33491         * modules/vdprintf-posix-tests (Files): Likewise.
33492         * modules/vfprintf-posix-tests (Files): Likewise.
33493         * modules/vprintf-posix-tests (Files): Likewise.
33494         * modules/vsnprintf-posix-tests (Files): Likewise.
33495         * modules/vsnprintf-tests (Files): Likewise.
33496         * modules/vsprintf-posix-tests (Files): Likewise.
33497         * modules/wcrtomb-tests (Files): Likewise.
33498         * modules/wcsnrtombs-tests (Files): Likewise.
33499         * modules/wcsrtombs-tests (Files): Likewise.
33500         * modules/wctype-tests (Files): Likewise.
33501         * modules/wcwidth-tests (Files): Likewise.
33502         * modules/xmemdup0-tests (Files): Likewise.
33503         * modules/xprintf-posix-tests (Files): Likewise.
33504         * modules/xvasprintf-tests (Files): Likewise.
33505
33506 2009-12-24  Eric Blake  <ebb9@byu.net>
33507
33508         test-nanosleep: fix typo
33509         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33510         patch.
33511         Reported by Bruno Haible.
33512
33513 2009-12-24  Bruno Haible  <bruno@clisp.org>
33514
33515         Reduce namespace pollution on glibc systems.
33516         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33517         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33518         systems.
33519         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33520         <getopt.h> on glibc systems.
33521         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33522         systems.
33523         * lib/fcntl.c: Include <unistd.h> here instead.
33524
33525 2009-12-24  Bruno Haible  <bruno@clisp.org>
33526
33527         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33528
33529 2009-12-24  Eric Blake  <ebb9@byu.net>
33530
33531         tests: add signature checks
33532         * tests/signature.h (SIGNATURE_CHECK): New file.
33533         * modules/atexit-tests (Files): Use it.
33534         * modules/btowc-tests (Files): Likewise.
33535         * modules/canonicalize-lgpl-tests (Files): Likewise.
33536         * modules/ceilf-tests (Files): Likewise.
33537         * modules/ceill-tests (Files): Likewise.
33538         * modules/chown-tests (Files): Likewise.
33539         * modules/dprintf-posix-tests (Files): Likewise.
33540         * modules/dup2-tests (Files): Likewise.
33541         * modules/dup3-tests (Files): Likewise.
33542         * modules/duplocale-tests (Files): Likewise.
33543         * modules/fchdir-tests (Files): Likewise.
33544         * modules/fcntl-tests (Files): Likewise.
33545         * modules/fdopendir-tests (Files): Likewise.
33546         * modules/fflush-tests (Files): Likewise.
33547         * modules/flock-tests (Files): Likewise.
33548         * modules/floorf-tests (Files): Likewise.
33549         * modules/floorl-tests (Files): Likewise.
33550         * modules/fnmatch-tests (Files): Likewise.
33551         * modules/fopen-tests (Files): Likewise.
33552         * modules/fprintf-posix-tests (Files): Likewise.
33553         * modules/freopen-tests (Files): Likewise.
33554         * modules/frexp-nolibm-tests (Files): Likewise.
33555         * modules/frexp-tests (Files): Likewise.
33556         * modules/frexpl-nolibm-tests (Files): Likewise.
33557         * modules/frexpl-tests (Files): Likewise.
33558         * modules/fseek-tests (Files): Likewise.
33559         * modules/fseeko-tests (Files): Likewise.
33560         * modules/fsync-tests (Files): Likewise.
33561         * modules/ftell-tests (Files): Likewise.
33562         * modules/ftello-tests (Files): Likewise.
33563         * modules/futimens-tests (Files): Likewise.
33564         * modules/getaddrinfo-tests (Files): Likewise.
33565         * modules/getcwd-tests (Files): Likewise.
33566         * modules/getdelim-tests (Files): Likewise.
33567         * modules/getdtablesize-tests (Files): Likewise.
33568         * modules/getgroups-tests (Files): Likewise.
33569         * modules/gethostname-tests (Files): Likewise.
33570         * modules/getline-tests (Files): Likewise.
33571         * modules/getopt-posix-tests (Files): Likewise.
33572         * modules/gettimeofday-tests (Files): Likewise.
33573         * modules/glob-tests (Files): Likewise.
33574         * modules/iconv-tests (Files): Likewise.
33575         * modules/inet_ntop-tests (Files): Likewise.
33576         * modules/inet_pton-tests (Files): Likewise.
33577         * modules/isblank-tests (Files): Likewise.
33578         * modules/lchown-tests (Files): Likewise.
33579         * modules/ldexpl-tests (Files): Likewise.
33580         * modules/link-tests (Files): Likewise.
33581         * modules/linkat-tests (Files): Likewise.
33582         * modules/lseek-tests (Files): Likewise.
33583         * modules/lstat-tests (Files): Likewise.
33584         * modules/mbrtowc-tests (Files): Likewise.
33585         * modules/mbsinit-tests (Files): Likewise.
33586         * modules/mbsnrtowcs-tests (Files): Likewise.
33587         * modules/mbsrtowcs-tests (Files): Likewise.
33588         * modules/memchr-tests (Files): Likewise.
33589         * modules/memcmp-tests (Files): Likewise.
33590         * modules/memmem-tests (Files): Likewise.
33591         * modules/memrchr-tests (Files): Likewise.
33592         * modules/mkdir-tests (Files): Likewise.
33593         * modules/mkfifo-tests (Files): Likewise.
33594         * modules/mkfifoat-tests (Files): Likewise.
33595         * modules/mknod-tests (Files): Likewise.
33596         * modules/nanosleep-tests (Files): Likewise.
33597         * modules/nl_langinfo-tests (Files): Likewise.
33598         * modules/obstack-printf-tests (Files): Likewise.
33599         * modules/open-tests (Files): Likewise.
33600         * modules/openat-tests (Files): Likewise.
33601         * modules/perror-tests (Files): Likewise.
33602         * modules/pipe2-tests (Files): Likewise.
33603         * modules/poll-tests (Files): Likewise.
33604         * modules/popen-tests (Files): Likewise.
33605         * modules/posix_spawn-tests (Files): Likewise.
33606         * modules/posix_spawnp-tests (Files): Likewise.
33607         * modules/pread-tests (Files): Likewise.
33608         * modules/printf-posix-tests (Files): Likewise.
33609         * modules/pty-tests (Files): Likewise.
33610         * modules/random_r-tests (Files): Likewise.
33611         * modules/rawmemchr-tests (Files): Likewise.
33612         * modules/readlink-tests (Files): Likewise.
33613         * modules/remove-tests (Files): Likewise.
33614         * modules/rename-tests (Files): Likewise.
33615         * modules/renameat-tests (Files): Likewise.
33616         * modules/rmdir-tests (Files): Likewise.
33617         * modules/round-tests (Files): Likewise.
33618         * modules/roundf-tests (Files): Likewise.
33619         * modules/roundl-tests (Files): Likewise.
33620         * modules/select-tests (Files): Likewise.
33621         * modules/setenv-tests (Files): Likewise.
33622         * modules/sigaction-tests (Files): Likewise.
33623         * modules/sleep-tests (Files): Likewise.
33624         * modules/snprintf-posix-tests (Files): Likewise.
33625         * modules/snprintf-tests (Files): Likewise.
33626         * modules/sprintf-posix-tests (Files): Likewise.
33627         * modules/stat-tests (Files): Likewise.
33628         * modules/strcasestr-tests (Files): Likewise.
33629         * modules/strchrnul-tests (Files): Likewise.
33630         * modules/strerror-tests (Files): Likewise.
33631         * modules/strsignal-tests (Files): Likewise.
33632         * modules/strstr-tests (Files): Likewise.
33633         * modules/strtod-tests (Files): Likewise.
33634         * modules/strverscmp-tests (Files): Likewise.
33635         * modules/symlink-tests (Files): Likewise.
33636         * modules/symlinkat-tests (Files): Likewise.
33637         * modules/times-tests (Files): Likewise.
33638         * modules/trunc-tests (Files): Likewise.
33639         * modules/truncf-tests (Files): Likewise.
33640         * modules/truncl-tests (Files): Likewise.
33641         * modules/tsearch-tests (Files): Likewise.
33642         * modules/uname-tests (Files): Likewise.
33643         * modules/unlink-tests (Files): Likewise.
33644         * modules/unsetenv-tests (Files): Likewise.
33645         * modules/usleep-tests (Files): Likewise.
33646         * modules/utimensat-tests (Files): Likewise.
33647         * modules/vasprintf-tests (Files): Likewise.
33648         * modules/vdprintf-posix-tests (Files): Likewise.
33649         * modules/vfprintf-posix-tests (Files): Likewise.
33650         * modules/vprintf-posix-tests (Files): Likewise.
33651         * modules/vsnprintf-posix-tests (Files): Likewise.
33652         * modules/vsnprintf-tests (Files): Likewise.
33653         * modules/vsprintf-posix-tests (Files): Likewise.
33654         * modules/wcrtomb-tests (Files): Likewise.
33655         * modules/wcsnrtombs-tests (Files): Likewise.
33656         * modules/wcsrtombs-tests (Files): Likewise.
33657         * modules/wcwidth-tests (Files): Likewise.
33658         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33659         * tests/test-isinf.c (isinf): Likewise.
33660         * tests/test-isnan.c (isnan): Likewise.
33661         * tests/test-signbit.c (signbit): Likewise.
33662         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33663         declaration, either as macro or with correct signature.
33664         (select): Ensure function under test is declared with correct
33665         signature in correct header.
33666         * tests/test-atexit.c (atexit): Likewise.
33667         * tests/test-btowc.c (btowc): Likewise.
33668         * tests/test-canonicalize-lgpl.c (realpath)
33669         (canonicalize_file_name): Likewise.
33670         * tests/test-ceilf1.c (ceilf): Likewise.
33671         * tests/test-ceill.c (ceill): Likewise.
33672         * tests/test-chown.c (chown): Likewise.
33673         * tests/test-dprintf-posix.c (dprintf): Likewise.
33674         * tests/test-dup2.c (dup2): Likewise.
33675         * tests/test-dup3.c (dup3): Likewise.
33676         * tests/test-duplocale.c (duplocale): Likewise.
33677         * tests/test-fchdir.c (fchdir): Likewise.
33678         * tests/test-fchownat.c (fchownat): Likewise.
33679         * tests/test-fcntl.c (fcntl): Likewise.
33680         * tests/test-fdopendir.c (fdopendir): Likewise.
33681         * tests/test-fflush.c (fflush): Likewise.
33682         * tests/test-flock.c (flock): Likewise.
33683         * tests/test-floorf1.c (floorf): Likewise.
33684         * tests/test-floorl.c (floorl): Likewise.
33685         * tests/test-fnmatch.c (fnmatch): Likewise.
33686         * tests/test-fopen.c (fopen): Likewise.
33687         * tests/test-fprintf-posix.c (fprintf): Likewise.
33688         * tests/test-freopen.c (freopen): Likewise.
33689         * tests/test-frexp.c (frexp): Likewise.
33690         * tests/test-frexpl.c (frexpl): Likewise.
33691         * tests/test-fseek.c (fseek): Likewise.
33692         * tests/test-fseeko.c (fseeko): Likewise.
33693         * tests/test-fstatat.c (fstatat): Likewise.
33694         * tests/test-fsync.c (fsync): Likewise.
33695         * tests/test-ftell.c (ftell): Likewise.
33696         * tests/test-ftello.c (ftello): Likewise.
33697         * tests/test-futimens.c (futimens): Likewise.
33698         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33699         (gai_strerror): Likewise.
33700         * tests/test-getcwd.c (getcwd): Likewise.
33701         * tests/test-getdelim.c (getdelim): Likewise.
33702         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33703         * tests/test-getgroups.c (getgroups): Likewise.
33704         * tests/test-gethostname.c (gethostname): Likewise.
33705         * tests/test-getline.c (getline): Likewise.
33706         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33707         Likewise.
33708         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33709         * tests/test-glob.c (glob, globfree): Likewise.
33710         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33711         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33712         * tests/test-inet_pton.c (inet_pton): Likewise.
33713         * tests/test-isblank.c (isblank): Likewise.
33714         * tests/test-lchown.c (lchown): Likewise.
33715         * tests/test-ldexpl.c (ldexpl): Likewise.
33716         * tests/test-link.c (link): Likewise.
33717         * tests/test-linkat.c (linkat): Likewise.
33718         * tests/test-lseek.c (lseek): Likewise.
33719         * tests/test-lstat.c (lstat): Likewise.
33720         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33721         * tests/test-mbsinit.c (mbsinit): Likewise.
33722         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33723         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33724         * tests/test-memchr.c (memchr): Likewise.
33725         * tests/test-memcmp.c (memcmp): Likewise.
33726         * tests/test-memmem.c (memmem): Likewise.
33727         * tests/test-memrchr.c (memrchr): Likewise.
33728         * tests/test-mkdir.c (mkdir): Likewise.
33729         * tests/test-mkdirat.c (mkdirat): Likewise.
33730         * tests/test-mkfifo.c (mkfifo): Likewise.
33731         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33732         * tests/test-mknod.c (mknod): Likewise.
33733         * tests/test-nanosleep.c (nanosleep): Likewise.
33734         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33735         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33736         Likewise.
33737         * tests/test-open.c (open): Likewise.
33738         * tests/test-openat.c (openat): Likewise.
33739         * tests/test-perror.c (perror): Likewise.
33740         * tests/test-pipe2.c (pipe2): Likewise.
33741         * tests/test-poll.c (poll): Likewise.
33742         * tests/test-popen.c (popen, pclose): Likewise.
33743         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33744         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33745         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33746         (posix_spawn_file_actions_destroy)
33747         (posix_spawn_file_actions_addclose)
33748         (posix_spawn_file_actions_addopen)
33749         (posix_spawn_file_actions_adddup2): Likewise.
33750         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33751         * tests/test-pread.c (pread): Likewise.
33752         * tests/test-printf-posix.c (printf): Likewise.
33753         * tests/test-pty.c (openpty, forkpty): Likewise.
33754         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33755         (random_r): Likewise.
33756         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33757         * tests/test-readlink.c (readlink): Likewise.
33758         * tests/test-remove.c (remove): Likewise.
33759         * tests/test-rename.c (rename): Likewise.
33760         * tests/test-renameat.c (renameat): Likewise.
33761         * tests/test-rmdir.c (rmdir): Likewise.
33762         * tests/test-round1.c (round): Likewise.
33763         * tests/test-roundf1.c (roundf): Likewise.
33764         * tests/test-roundl.c (roundl): Likewise.
33765         * tests/test-setenv.c (setenv): Likewise.
33766         * tests/test-sigaction.c (sigaction): Likewise.
33767         * tests/test-sleep.c (sleep): Likewise.
33768         * tests/test-snprintf.c (snprintf): Likewise.
33769         * tests/test-sprintf-posix.c (sprintf): Likewise.
33770         * tests/test-stat.c (stat): Likewise.
33771         * tests/test-stpncpy.c (stpncpy): Likewise.
33772         * tests/test-strcasestr.c (strcasestr): Likewise.
33773         * tests/test-strchrnul.c (strchrnul): Likewise.
33774         * tests/test-strerror.c (strerror): Likewise.
33775         * tests/test-strsignal.c (strsignal): Likewise.
33776         * tests/test-strstr.c (strstr): Likewise.
33777         * tests/test-strtod.c (strtod): Likewise.
33778         * tests/test-strverscmp.c (strverscmp): Likewise.
33779         * tests/test-symlink.c (symlink): Likewise.
33780         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33781         * tests/test-times.c (times): Likewise.
33782         * tests/test-trunc1.c (trunc): Likewise.
33783         * tests/test-truncf1.c (truncf): Likewise.
33784         * tests/test-truncl.c (truncl): Likewise.
33785         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33786         Likewise.
33787         * tests/test-uname.c (uname): Likewise.
33788         * tests/test-unlink.c (unlink): Likewise.
33789         * tests/test-unlinkat.c (unlinkat): Likewise.
33790         * tests/test-unsetenv.c (unsetenv): Likewise.
33791         * tests/test-usleep.c (usleep): Likewise.
33792         * tests/test-utimensat.c (utimensat): Likewise.
33793         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33794         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33795         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33796         * tests/test-vprintf-posix.c (vprintf): Likewise.
33797         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33798         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33799         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33800         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33801         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33802         * tests/test-wcwidth.c (wcwidth): Likewise.
33803
33804         build: pull in conditional headers during GNULIB_POSIXCHECK
33805         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33806         definitions from any conditionally-included headers.
33807         * lib/stdlib.in.h (includes): Likewise.
33808         * lib/unistd.in.h (includes): Likewise.
33809
33810 2009-12-24  Bruno Haible  <bruno@clisp.org>
33811
33812         * tests/test-argv-iter.c: Include header file being tested immediately
33813         after config.h.
33814         * tests/test-base64.c: Likewise.
33815         * tests/test-flock.c: Likewise.
33816         * tests/test-fsync.c: Likewise.
33817         * tests/test-getdate.c: Likewise.
33818         * tests/test-getndelim2.c: Likewise.
33819         * tests/test-isfinite.c: Likewise.
33820         * tests/test-isinf.c: Likewise.
33821         * tests/test-strerror.c: Likewise.
33822         * tests/test-strsignal.c: Likewise.
33823
33824 2009-12-23  Eric Blake  <ebb9@byu.net>
33825
33826         unistd: work around cygwin bug
33827         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33828         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33829         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33830
33831 2009-12-23  Bruno Haible  <bruno@clisp.org>
33832
33833         localename: More tests.
33834         * tests/test-localename.c (SIZEOF): New macro.
33835         (categories): New variable.
33836         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33837         test_locale_name_default): Add test w.r.t. thread locale.
33838         (test_locale_name_thread): New function.
33839         (main): Invoke it.
33840
33841         localename: Make aware of thread locale.
33842         * lib/localename.h (gl_locale_name_thread): New declaration.
33843         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33844         behaviour with respect to thread locale.
33845         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33846         <langinfo.h>, glthread/lock.h.
33847         (SIZE_BITS): New macro.
33848         (string_hash): New function.
33849         (struct hash_node): New type.
33850         (HASH_TABLE_SIZE): New macro.
33851         (struniq_hash_table, struniq_lock): New variables.
33852         (struniq): New function.
33853         (gl_locale_name_thread): New function.
33854         (gl_locale_name): Invoke it.
33855         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33856         * modules/localename (Depends-on): Add lock.
33857         Reported by Mike Gran <spk121@yahoo.com>.
33858
33859 2009-12-23  Eric Blake  <ebb9@byu.net>
33860
33861         va-args: new module
33862         * modules/va-args: New file.
33863         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33864         * MODULES.html.sh (Core language properties): Mention it.
33865
33866         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33867         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33868         named alias for __attribute__((__unused__)).
33869         * lib/chown.c: Update client.
33870         * lib/fchmodat.c: Likewise.
33871         * lib/fts.c: Likewise.
33872         * lib/getdate.y: Likewise.
33873         * lib/getgroups.c: Likewise.
33874         * lib/getopt.c: Likewise.
33875         * lib/getugroups.c: Likewise.
33876         * lib/mkdir.c: Likewise.
33877         * lib/mkfifo.c: Likewise.
33878         * lib/mkfifoat.c: Likewise.
33879         * lib/mknod.c: Likewise.
33880         * lib/mknodat.c: Likewise.
33881         * lib/readlink.c: Likewise.
33882         * lib/se-context.in.h: Likewise.
33883         * lib/se-selinux.in.h: Likewise.
33884         * lib/sockets.c: Likewise.
33885         * lib/symlink.c: Likewise.
33886         * lib/symlinkat.c: Likewise.
33887         * lib/unicodeio.c: Likewise.
33888         * lib/unistr.h: Likewise.
33889         * tests/test-areadlink.c: Likewise.
33890         * tests/test-areadlinkat.c: Likewise.
33891         * tests/test-filenamecat.c: Likewise.
33892         * tests/test-fseeko.c: Likewise.
33893         * tests/test-ftello.c: Likewise.
33894         * tests/test-getdate.c: Likewise.
33895         * tests/test-getgroups.c: Likewise.
33896         * tests/test-gethostname.c: Likewise.
33897         * tests/test-quotearg.c: Likewise.
33898         * tests/test-version-etc.c: Likewise.
33899         * tests/test-xalloc-die.c: Likewise.
33900         * tests/test-xfprintf-posix.c: Likewise.
33901         * tests/test-xprintf-posix.c: Likewise.
33902         * tests/test-xvasprintf.c: Likewise.
33903
33904         tests: avoid compiler warnings
33905         * tests/test-fcntl.c (main): Delete unused parameters.
33906         * tests/test-freopen-safer.c (main): Likewise.
33907         * tests/test-xalloc-die.c (main): Mark unused parameters.
33908         * tests/test-fseeko.c (main): Likewise.
33909         * tests/test-ftello.c (main): Likewise.
33910         * tests/test-nanosleep.c (main): Avoid declaration warning.
33911         * tests/test-sleep.c (main): Likewise.
33912         * tests/test-unsetenv.c (main): Silence warning about string
33913         literal.
33914         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33915
33916 2009-12-23  Bruno Haible  <bruno@clisp.org>
33917
33918         * tests/test-localename.c (test_locale_name): New function, extracted
33919         from main. Also test mixed situations.
33920         (test_locale_name_posix, test_locale_name_environ,
33921         test_locale_name_default): New functions.
33922         (main): Invoke them all.
33923         * modules/localename-tests (configure.ac): Test for newlocale.
33924
33925 2009-12-23  Bruno Haible  <bruno@clisp.org>
33926
33927         unistd: Ensure getcwd gets declared before being overridden.
33928         * lib/unistd.in.h: Conditionally include <io.h>.
33929
33930 2009-12-22  Bruno Haible  <bruno@clisp.org>
33931
33932         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33933         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33934         (gl_WCHAR_H): Invoke it.
33935         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33936         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33937         Reported by Karl Berry <karl@freefriends.org>.
33938
33939 2009-12-22  Eric Blake  <ebb9@byu.net>
33940
33941         math, unistd: avoid redundant includes
33942         * lib/math.in.h (isnan): No need to re-include <math.h>.
33943         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33944
33945         getsubopt: work around cygwin bug
33946         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33947         avoid conflicting with system getsubopt.
33948         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33949         bug.
33950
33951         getopt: synchronize from glibc
33952         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33953         parameter order.  Adjust all callers.
33954         (_getopt_internal_r, main): Adjust quoting in error messages.
33955         Drop considerations for outdated POSIX 1003.2 error message.
33956         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33957         callers.
33958         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33959
33960         test-getopt: test stderr behavior
33961         * modules/getopt-posix-tests (Depends-on): Add dup2.
33962         * tests/test-getopt.c (ASSERT): Avoid stderr.
33963         (main): Move stderr to a temporary file.
33964         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33965         Instead, add parameter to inform caller if output occurred.
33966         (test_getopt): Adjust all existing tests to expect silence, and
33967         add new tests of leading ":".
33968         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33969         glibc shortcomings with leading "-:" or "+:" in optstring.
33970         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33971         Likewise.
33972         * doc/posix-functions/getopt.texi (getopt): Likewise.
33973
33974         test-getopt: enhance test
33975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33976         supports optind=0.
33977         * tests/test-getopt.c (OPTIND_MIN): Move...
33978         * tests/test-getopt.h (OPTIND_MIN): ...here.
33979         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33980         Require that optind=0 works, since modern BSD supports it in
33981         addition to optreset, and since coreutils expects it.
33982         (test_getopt_long_only): New test.
33983         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33984         glibc shortcomings with 'W;', and enforcement of optind=0.
33985         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33986         Likewise.
33987
33988 2009-12-21  Bruno Haible  <bruno@clisp.org>
33989
33990         localename: Improvements for MacOS X and Cygwin.
33991         * lib/localename.h (gl_locale_name_environ): New declaration.
33992         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33993         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33994         (gl_locale_name_posix): Invoke it.
33995         (gl_locale_name_default): Add comments. Use Windows native API also on
33996         Cygwin.
33997
33998 2009-12-21  Bruno Haible  <bruno@clisp.org>
33999
34000         Update list of Win32 locale ids.
34001         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34002         (LANG_SAMI): Renamed from LANG_SAAMI.
34003         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34004         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34005         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34006         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34007         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34008         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34009         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34010         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34011         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34012         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34013         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34014         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34015         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34016         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34017         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34018         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34019         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34020         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34021         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34022         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34023         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34024         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34025         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34026         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34027         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34028         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34029         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34030         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34031         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34032         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34033         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34034         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34035         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34036         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34037         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34038         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34039         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34040         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34041         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34042         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34043         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34044         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34045         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34046         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34047         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34048         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34049         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34050         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34051         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34052         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34053         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34054         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34055         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34056         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34057         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34058         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34059         Add more languages and countries for Sami, Sorbian. Add more countries
34060         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34061         for Pashto. Change country for Syriac, Tswana.
34062
34063 2009-12-21  Eric Blake  <ebb9@byu.net>
34064
34065         test-utimens: avoid spurious failure
34066         * tests/test-chown.h (nap): Factor...
34067         * tests/nap.h: ...into new file.
34068         * tests/test-lchown.h (nap): Avoid duplication.
34069         * tests/test-utimens-common.h (nap): Use shared implementation,
34070         necessary on file systems with 1-second resolution.
34071         * modules/chown-tests (Files): Include new file.
34072         * modules/fdutimensat-tests (Files): Likewise.
34073         * modules/futimens-tests (Files): Likewise.
34074         * modules/lchown-tests (Files): Likewise.
34075         * modules/openat-tests (Files): Likewise.
34076         * modules/utimens-tests (Files): Likewise.
34077         * modules/utimensat-tests (Files): Likewise.
34078
34079 2009-12-19  Eric Blake  <ebb9@byu.net>
34080
34081         futimens, utimensat: work around Linux bug
34082         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34083         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34084         * lib/utimensat.c (rpl_utimensat): Work around it.
34085         * lib/futimens.c (rpl_futimens): Adjust comment.
34086
34087         utimens: work around Linux ctime bug
34088         * lib/utimens.c (detect_ctime_bug): New helper function.
34089         (update_timespec): Differentiate between workaround needed for
34090         this bug vs. what is needed for systems that lack utimensat.
34091         (fdutimens, lutimens): Work around bug.
34092
34093         utimens: check for ctime update
34094         * tests/test-utimens-common.h (check_ctime): Define.
34095         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34096         * tests/test-futimens.h (test_futimens): Likewise.
34097         * tests/test-lutimens.h (test_lutimens): Likewise.
34098         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34099         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34100
34101 2009-12-19  Bruno Haible  <bruno@clisp.org>
34102
34103         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34104         * tests/test-dprintf-posix2.sh: New file.
34105         * tests/test-dprintf-posix2.c: New file.
34106         * modules/dprintf-posix-tests (Files): Add them.
34107         (configure.ac): Check for getrlimit and setrlimit.
34108         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34109
34110 2009-12-19  Bruno Haible  <bruno@clisp.org>
34111
34112         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34113         * tests/test-fprintf-posix3.sh: New file.
34114         * tests/test-fprintf-posix3.c: New file.
34115         * modules/fprintf-posix-tests (Files): Add them.
34116         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34117
34118 2009-12-19  Eric Blake  <ebb9@byu.net>
34119
34120         dirfd: fix prototype
34121         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34122         * lib/dirfd.c (dirfd): Likewise.
34123
34124         canonicalize: reduce memory usage
34125         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34126         allocation to size.
34127         Reported by Solar Designer <solar@openwall.com>.
34128
34129 2009-12-19  Bruno Haible  <bruno@clisp.org>
34130
34131         New module attribute 'Applicability'.
34132         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34133         * gnulib-tool: New option --extract-applicability.
34134         (func_usage): Document it.
34135         (sed_extract_prog): Recognize it.
34136         (func_get_applicability): New function.
34137         (func_import): Generalize handling of 'link-warning' module.
34138         * modules/link-warning (Applicability): New section.
34139         * modules/arg-nonnull (Applicability): New section.
34140         Repoted by Simon Josefsson <simon@josefsson.org>.
34141
34142 2009-12-19  Bruno Haible  <bruno@clisp.org>
34143
34144         fflush: tweak
34145         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34146         * lib/fseeko.c (rpl_fseeko): Likewise.
34147
34148 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34149
34150         * lib/gl_list.h: Fix typo in comment.
34151
34152 2009-12-16  Eric Blake  <ebb9@byu.net>
34153
34154         fcntl: use to simplify other modules
34155         * modules/cloexec (Depends-on): Add fcntl.
34156         * modules/fchdir (Depends-on): Likewise.
34157         * modules/fd-safer-flag (Depends-on): Likewise.
34158         * modules/unistd-safer (Depends-on): Likewise.
34159         * modules/dup3 (configure.ac): Set module indicator.
34160         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34161         missing.
34162         * lib/fchdir.c (_gl_register_dup): Fix comment.
34163         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34164         * lib/dup-safer.c (dup_safer): Likewise.
34165         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34166         * lib/dup3.c (dup3): Likewise.
34167         * tests/test-fchdir.c (main): Enhance test.
34168         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34169
34170         fcntl: port portions of fcntl to mingw
34171         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34172         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34173         replacement for mingw.
34174         * modules/fcntl (Description): Update.
34175         (Depends-on): Add dup2.
34176         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34177         * modules/fcntl-h (Makefile.am): Substitute it.
34178         * lib/fcntl.in.h (fcntl): Update declaration.
34179         (F_DUPFD, F_GETFD): New macros, when needed.
34180         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34181         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34182         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34183         we now guarantee.
34184
34185         fcntl: work around cygwin bug in F_DUPFD
34186         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34187         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34188         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
34189         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
34190         * doc/posix-functions/fcntl.texi (fcntl): Document it.
34191
34192         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
34193         * modules/fcntl (Files): List new files.
34194         (configure.ac): Run a test.
34195         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
34196         * lib/fcntl.c (rpl_fcntl): Likewise.
34197         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
34198         (gl_FCNTL_H): Always replace fcntl.h.
34199         * modules/fcntl-h (Makefile.am): Substitute witnesses.
34200         * lib/fcntl.in.h (fcntl): Declare replacement.
34201         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
34202         needed, plus a witness.
34203         * doc/posix-functions/fcntl.texi (fcntl): Document this.
34204         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34205         * tests/test-fcntl.c: New file.
34206         * modules/fcntl-tests: Likewise.
34207
34208         binary-io: avoid potential compilation warning
34209         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
34210         directives.
34211
34212         fflush: avoid compilation error on NetBSD
34213         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
34214         between off_t and fpos_t, since the latter is sometimes a struct.
34215         * lib/fseeko.c (rpl_fseeko): Likewise.
34216         Reported by Alexander Nasonov <alnsn@yandex.ru>.
34217
34218 2009-12-15  Eric Blake  <ebb9@byu.net>
34219
34220         fcntl-h, stdio, sys_ioctl: fix declarations
34221         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
34222         function must not take arguments.
34223         * lib/sys_ioctl.in.h (ioctl): Likewise.
34224         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
34225         (open): Add a link warning.
34226
34227 2009-12-15  Jim Meyering  <meyering@redhat.com>
34228
34229         areadlink, areadlink-with-size: relax license to LGPLv2+
34230         * modules/areadlink (License): Relax to LGPLv2+.
34231         * modules/areadlink-with-size (License): Likewise.
34232
34233 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
34234             Bruno Haible  <bruno@clisp.org>
34235
34236         *printf: Fix memory leak.
34237         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
34238         * lib/vfprintf.c (vfprintf): Likewise.
34239         * lib/dprintf.c (dprintf): Likewise.
34240         * lib/vdprintf.c (vdprintf): Likewise.
34241
34242 2009-12-14  Eric Blake  <ebb9@byu.net>
34243
34244         accept4: adjust module dependencies
34245         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
34246
34247         utimens: one more try at avoiding compiler warning
34248         * lib/utimens.c (lutimens): Lower scope of result.
34249
34250 2009-12-13  Bruno Haible  <bruno@clisp.org>
34251
34252         Move the malloc checking from module 'list' to new module 'xlist'.
34253         * modules/xlist: New file.
34254         * lib/gl_xlist.h: New file.
34255         * lib/gl_xlist.c: New file.
34256         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
34257         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
34258         gl_list_add_last, gl_list_add_before, gl_list_add_after,
34259         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
34260         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
34261         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
34262         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
34263         gl_sortedlist_nx_add): New declarations.
34264         (struct gl_list_implementation): Rename and change methods accordingly.
34265         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
34266         (gl_list_nx_create): Renamed from gl_list_create.
34267         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34268         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34269         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34270         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34271         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34272         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34273         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34274         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34275         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
34276         gl_list_create_empty.
34277         (gl_list_nx_create): Renamed from gl_list_create.
34278         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34279         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34280         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34281         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34282         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34283         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34284         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34285         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34286         * lib/gl_array_list.c: Don't include xalloc.h.
34287         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
34288         NULL upon out-of-memory.
34289         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
34290         out-of-memory.
34291         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
34292         Change return type to 'int'.
34293         (gl_array_nx_set_at): Renamed from gl_array_set_at.
34294         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34295         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
34296         upon out-of-memory.
34297         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
34298         upon out-of-memory.
34299         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
34300         upon out-of-memory.
34301         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
34302         upon out-of-memory.
34303         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
34304         out-of-memory.
34305         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
34306         Update.
34307         (gl_array_list_implementation): Update.
34308         * lib/gl_carray_list.c: Don't include xalloc.h.
34309         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34310         Return NULL upon out-of-memory.
34311         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34312         out-of-memory.
34313         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34314         Change return type to 'int'.
34315         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34316         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34317         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34318         upon out-of-memory.
34319         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34320         upon out-of-memory.
34321         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34322         out-of-memory.
34323         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34324         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34325         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34326         Update.
34327         (gl_carray_list_implementation): Update.
34328         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34329         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34330         gl_linked_create_empty. Return NULL upon out-of-memory.
34331         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34332         out-of-memory.
34333         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34334         Change return type to 'int'. Return -1 upon out-of-memory.
34335         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34336         out-of-memory.
34337         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34338         upon out-of-memory.
34339         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34340         upon out-of-memory.
34341         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34342         NULL upon out-of-memory.
34343         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34344         upon out-of-memory.
34345         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34346         out-of-memory.
34347         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34348         Update.
34349         * lib/gl_linked_list.c: Don't include xalloc.h.
34350         (gl_linked_list_implementation): Update.
34351         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34352         (add_to_bucket): Change return type to 'int'.
34353         (gl_linkedhash_list_implementation): Update.
34354         * lib/gl_anytree_list1.h (free_subtree): New function.
34355         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34356         gl_tree_create_empty. Return NULL upon out-of-memory.
34357         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
34358         Change return type to 'int'. Return -1 upon out-of-memory.
34359         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
34360         out-of-memory.
34361         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
34362         (gl_tree_remove_node): New function, moved here from
34363         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
34364         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
34365         Update.
34366         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
34367         malloc, not xmalloc. Return NULL upon out-of-memory.
34368         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34369         out-of-memory.
34370         (gl_tree_remove_node_from_tree): New function, extracted from
34371         gl_tree_remove_node.
34372         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34373         upon out-of-memory.
34374         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34375         out-of-memory.
34376         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34377         upon out-of-memory.
34378         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34379         upon out-of-memory.
34380         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34381         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34382         not xmalloc. Return NULL upon out-of-memory.
34383         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34384         out-of-memory.
34385         (gl_tree_remove_node_from_tree): New function, extracted from
34386         gl_tree_remove_node.
34387         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34388         upon out-of-memory.
34389         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34390         out-of-memory.
34391         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34392         upon out-of-memory.
34393         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34394         upon out-of-memory.
34395         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34396         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34397         gl_anytree_list1.h before gl_anyavltree_list2.h.
34398         (gl_avltree_list_implementation): Update.
34399         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34400         gl_anytree_list1.h before gl_anyavltree_list2.h.
34401         (gl_rbtree_list_implementation): Update.
34402         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34403         Change return type to 'int'. Return -1 upon out-of-memory. Use
34404         __builtin_expect.
34405         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34406         (gl_avltreehash_list_implementation): Update.
34407         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34408         (gl_rbtreehash_list_implementation): Update.
34409         * modules/array-list (Depends-on): Remove xalloc.
34410         * modules/carray-list (Depends-on): Likewise.
34411         * modules/linked-list (Depends-on): Likewise.
34412         * modules/linkedhash-list (Depends-on): Likewise.
34413         * modules/avltree-list (Depends-on): Likewise.
34414         * modules/rbtree-list (Depends-on): Likewise.
34415         * modules/avltreehash-list (Depends-on): Likewise.
34416         * modules/rbtreehash-list (Depends-on): Likewise.
34417
34418         * modules/xsublist: New file.
34419         * lib/gl_xsublist.h: New file.
34420         * lib/gl_xsublist.c: New file.
34421         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
34422         (gl_sublist_nx_create): New declaration.
34423         * lib/gl_sublist.c: Don't include xalloc.h.
34424         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
34425         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
34426         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
34427         Change return type to 'int'. Return -1 upon out-of-memory.
34428         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
34429         upon out-of-memory.
34430         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
34431         NULL upon out-of-memory.
34432         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
34433         upon out-of-memory.
34434         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
34435         NULL upon out-of-memory.
34436         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
34437         NULL upon out-of-memory.
34438         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
34439         upon out-of-memory.
34440         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
34441         (gl_sublist_list_implementation): Update.
34442         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
34443         upon out-of-memory.
34444         * modules/sublist (Depends-on): Remove xalloc.
34445
34446         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
34447         * tests/test-carray_list.c: Likewise.
34448         * tests/test-linked_list.c: Likewise.
34449         * tests/test-linkedhash_list.c: Likewise.
34450         * tests/test-avltree_list.c: Likewise.
34451         * tests/test-rbtree_list.c: Likewise.
34452         * tests/test-avltreehash_list.c: Likewise.
34453         * tests/test-rbtreehash_list.c: Likewise.
34454         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
34455         * modules/carray-list-tests (Makefile.am): Likewise.
34456         * modules/linked-list-tests (Makefile.am): Likewise.
34457         * modules/linkedhash-list-tests (Makefile.am): Likewise.
34458         * modules/avltree-list-tests (Makefile.am): Likewise.
34459         * modules/rbtree-list-tests (Makefile.am): Likewise.
34460         * modules/avltreehash-list-tests (Makefile.am): Likewise.
34461         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
34462
34463         * NEWS: Mention the changes.
34464
34465         * lib/clean-temp.c: Include gl_xlist.h.
34466         * modules/clean-temp (Depends-on): Add xlist.
34467
34468         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
34469         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
34470
34471         * tests/test-array_oset.c: Include gl_xlist.h.
34472         * modules/array-oset-tests (Depends-on): Add xlist.
34473
34474         Reported by José E. Marchesi <jemarch@gnu.org>.
34475
34476 2009-12-13  Bruno Haible  <bruno@clisp.org>
34477
34478         Move the malloc checking from module 'oset' to new module 'xoset'.
34479         * modules/xoset: New file.
34480         * lib/gl_xoset.h: New file.
34481         * lib/gl_xoset.c: New file.
34482         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34483         declarations.
34484         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34485         (struct gl_oset_implementation): Rename and change methods accordingly.
34486         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34487         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34488         'int'. Mark as __warn_unused_result__.
34489         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34490         gl_oset_create_empty.
34491         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34492         'int'.
34493         * lib/gl_array_oset.c: Don't include xalloc.h.
34494         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34495         malloc, not xmalloc.
34496         (grow): Change return type to 'int'. Don't call xalloc_die.
34497         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34498         to 'int'.
34499         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34500         'int'.
34501         (gl_array_oset_implementation): Update.
34502         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34503         gl_tree_create_empty.
34504         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34505         'int'.
34506         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34507         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34508         xmalloc.
34509         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34510         not xmalloc.
34511         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34512         xmalloc.
34513         (gl_avltree_oset_implementation): Update.
34514         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34515         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34516         xmalloc.
34517         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34518         not xmalloc.
34519         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34520         xmalloc.
34521         (gl_rbtree_oset_implementation): Update.
34522         * modules/array-oset (Depends-on): Remove xalloc.
34523         * modules/avltree-oset (Depends-on): Likewise.
34524         * modules/rbtree-oset (Depends-on): Likewise.
34525         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34526         * tests/test-avltree_oset.c: Likewise.
34527         * tests/test-rbtree_oset.c: Likewise.
34528         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34529         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34530         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34531         * NEWS: Mention the change.
34532
34533 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34534
34535         maint.mk: allow a project to override release-prep commands
34536         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34537         commands into a new rule.
34538         (release-prep): New rule.
34539         (release-prep-hook): New overridable variable.
34540
34541 2009-12-13  Bruno Haible  <bruno@clisp.org>
34542
34543         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34544
34545 2009-12-13  Jim Meyering  <meyering@redhat.com>
34546
34547         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34548         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34549
34550 2009-12-12  Bruno Haible  <bruno@clisp.org>
34551
34552         duplocale: Tweak.
34553         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34554
34555 2009-12-12  Karl Berry  <karl@gnu.org>
34556
34557         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34558
34559 2009-12-12  Bruno Haible  <bruno@clisp.org>
34560
34561         * m4/po.m4: Undo incorrect untabification.
34562
34563 2009-12-12  Bruno Haible  <bruno@clisp.org>
34564
34565         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34566         * modules/c-strtod (Depends-on): Add locale.
34567         * modules/c-strtold (Depends-on): Likewise.
34568
34569 2009-12-12  Bruno Haible  <bruno@clisp.org>
34570
34571         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34572
34573 2009-12-11  Eric Blake  <ebb9@byu.net>
34574
34575         setenv: relax requirement in light of POSIX ruling
34576         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34577         not NULL.
34578         * tests/test-setenv.c (main): Relax test.
34579         * tests/test-unsetenv.c (main): Likewise.
34580         * doc/posix-functions/setenv.texi (setenv): Document this.
34581         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34582
34583 2009-12-11  Bruno Haible  <bruno@clisp.org>
34584
34585         New module 'fd-safer-flag'.
34586         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34587         * lib/dup-safer.c (dup_safer_flag): Remove function.
34588         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34589         * lib/fd-safer.c (fd_safer_flag): Remove function.
34590         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34591         * modules/cloexec (configure.ac): Drop indicator macro.
34592         * modules/fd-safer-flag: New file.
34593         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34594         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34595         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34596
34597 2009-12-11  Bruno Haible  <bruno@clisp.org>
34598
34599         Tests for module 'nl_langinfo'.
34600         * modules/nl_langinfo-tests: New file.
34601         * tests/test-nl_langinfo.sh: New file.
34602         * tests/test-nl_langinfo.c: New file.
34603
34604         New module 'nl_langinfo'.
34605         * lib/nl_langinfo.c: New file.
34606         * m4/nl_langinfo.m4: New file.
34607         * modules/nl_langinfo: New file.
34608         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34609
34610 2009-12-11  Bruno Haible  <bruno@clisp.org>
34611
34612         Tests for module 'langinfo'.
34613         * modules/langinfo-tests: New file.
34614         * tests/test-langinfo.c: New file.
34615
34616         New module 'langinfo'.
34617         * lib/langinfo.in.h: New file.
34618         * m4/langinfo_h.m4: New file.
34619         * modules/langinfo: New file.
34620         * doc/posix-headers/langinfo.texi: Mention the new module.
34621
34622 2009-12-11  Bruno Haible  <bruno@clisp.org>
34623
34624         * lib/config.charset: Untabify.
34625
34626 2009-12-11  Bruno Haible  <bruno@clisp.org>
34627
34628         * modules/unistd-safer (configure.ac): Drop indicator macro.
34629
34630 2009-12-11  Bruno Haible  <bruno@clisp.org>
34631
34632         Move pipe2-safer code to its own file.
34633         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34634         * lib/pipe-safer.c (pipe2_safer): Remove function.
34635         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34636         (Makefile.am): Add it to lib_SOURCES.
34637
34638 2009-12-10  Bruno Haible  <bruno@clisp.org>
34639
34640         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34641
34642 2009-12-10  Bruno Haible  <bruno@clisp.org>
34643
34644         Declare which arguments expect non-NULL values, for GCC and clang.
34645         * build-aux/arg-nonnull.h: New file.
34646         * modules/arg-nonnull: New file.
34647         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34648         (inet_ntop, inet_pton): Use it.
34649         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34650         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34651         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34652         (open, openat): Use it.
34653         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34654         (fnmatch): Use it.
34655         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34656         (getopt, getopt_long, getopt_long_only): Use it.
34657         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34658         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34659         Use it.
34660         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34661         (iconv_open): Use it.
34662         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34663         (strtoimax, strtoumax): Use it.
34664         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34665         (duplocale): Use it.
34666         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34667         (frexp, frexpl): Use it.
34668         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34669         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34670         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34671         (tsearch, tfind, tdelete, twalk): Use it.
34672         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34673         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34674         sigpending): Use it.
34675         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34676         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34677         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34678         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34679         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34680         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34681         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34682         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34683         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34684         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34685         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34686         Use it.
34687         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34688         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34689         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34690         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34691         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34692         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34693         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34694         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34695         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34696         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34697         strtoull, unsetenv): Use it.
34698         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34699         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34700         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34701         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34702         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34703         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34704         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34705         (strcasecmp, strncasecmp): Use it.
34706         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34707         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34708         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34709         rpl_setsockopt): Use it.
34710         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34711         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34712         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34713         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34714         (gettimeofday): Use it.
34715         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34716         (times): Use it.
34717         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34718         (uname): Use it.
34719         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34720         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34721         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34722         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34723         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34724         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34725         unlinkat, write): Use it.
34726         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34727         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34728         * lib/argv-iter.h: Include arg-nonnull.h.
34729         (_ATTRIBUTE_NONNULL_): Remove macro.
34730         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34731         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34732         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34733         optimization.
34734         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34735         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34736         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34737         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34738         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34739         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34740         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34741         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34742         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34743         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34744         * modules/dirent (Depends-on): Add arg-nonnull.
34745         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34746         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34747         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34748         * modules/fnmatch (Depends-on): Add arg-nonnull.
34749         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34750         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34751         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34752         * modules/glob (Depends-on): Add arg-nonnull.
34753         (Makefile.am): Insert arg-nonnull.h into glob.h.
34754         * modules/iconv_open (Depends-on): Add arg-nonnull.
34755         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34756         * modules/inttypes (Depends-on): Add arg-nonnull.
34757         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34758         * modules/locale (Depends-on): Add arg-nonnull.
34759         (Makefile.am): Insert arg-nonnull.h into locale.h.
34760         * modules/math (Depends-on): Add arg-nonnull.
34761         (Makefile.am): Insert arg-nonnull.h into math.h.
34762         * modules/netdb (Depends-on): Add arg-nonnull.
34763         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34764         * modules/search (Depends-on): Add arg-nonnull.
34765         (Makefile.am): Insert arg-nonnull.h into search.h.
34766         * modules/signal (Depends-on): Add arg-nonnull.
34767         (Makefile.am): Insert arg-nonnull.h into signal.h.
34768         * modules/spawn (Depends-on): Add arg-nonnull.
34769         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34770         * modules/stdio (Depends-on): Add arg-nonnull.
34771         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34772         * modules/stdlib (Depends-on): Add arg-nonnull.
34773         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34774         * modules/string (Depends-on): Add arg-nonnull.
34775         (Makefile.am): Insert arg-nonnull.h into string.h.
34776         * modules/strings (Depends-on): Add arg-nonnull.
34777         (Makefile.am): Insert arg-nonnull.h into strings.h.
34778         * modules/sys_socket (Depends-on): Add arg-nonnull.
34779         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34780         * modules/sys_stat (Depends-on): Add arg-nonnull.
34781         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34782         * modules/sys_time (Depends-on): Add arg-nonnull.
34783         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34784         * modules/sys_times (Depends-on): Add arg-nonnull.
34785         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34786         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34787         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34788         * modules/time (Depends-on): Add arg-nonnull.
34789         (Makefile.am): Insert arg-nonnull.h into time.h.
34790         * modules/unistd (Depends-on): Add arg-nonnull.
34791         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34792         * modules/wchar (Depends-on): Add arg-nonnull.
34793         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34794         * modules/argv-iter (Depends-on): Add arg-nonnull.
34795         * tests/test-canonicalize.c (null_ptr): New function.
34796         (main): Use it.
34797         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34798         (main): Use it.
34799         * tests/test-memmem.c (null_ptr): New function.
34800         (main): Use it.
34801         Reported by Jim Meyering.
34802
34803 2009-12-10  Bruno Haible  <bruno@clisp.org>
34804
34805         Use spaces for indentation, not tabs.
34806         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34807         * m4/*.m4: Untabify.
34808         * build-aux/*.h: Untabify.
34809         * tests/**/*.[hc]: Untabify.
34810         * README: New section "Indent with spaces, not TABs", based on
34811         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34812         * NEWS: Mention the change.
34813
34814 2009-12-10  Bruno Haible  <bruno@clisp.org>
34815
34816         pty test: Fix link error.
34817         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34818         test_pty_LDADD.
34819
34820 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34821
34822         * modules/pty: New file.
34823         * modules/pty-tests: New file.
34824         * m4/pty.m4: New file.
34825         * tests/test-pty.c: New file.
34826         * doc/glibc-headers/pty.texi: Modified.
34827         * doc/glibc-functions/forkpty.texi: Modified.
34828         * doc/glibc-functions/openpty.texi: Modified.
34829
34830 2009-12-10  Bruno Haible  <bruno@clisp.org>
34831
34832         Avoid syntax error in C++ mode.
34833         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34834
34835 2009-12-10  Bruno Haible  <bruno@clisp.org>
34836
34837         Use sed with option -e.
34838         * gnulib-tool (func_version, func_emit_copyright_notice,
34839         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34840         option -e to sed.
34841         * modules/link-warning (Makefile.am): Likewise.
34842
34843 2009-12-10  Jim Meyering  <meyering@redhat.com>
34844
34845         mgetgroups: do not write bytes beyond end of malloc'd buffer
34846         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34847         username, we call getgroups with a one-element-shorter buffer,
34848         but still told it the length was original, max_n_groups.
34849
34850 2009-12-09  Eric Blake  <ebb9@byu.net>
34851
34852         cloexec: relax license
34853         * modules/cloexec (Maintainer): Add myself.
34854         (License): Use LGPL, not GPL.
34855
34856         link-warning: optimize generation
34857         * modules/link-warning (Makefile.am): Reduce process usage.
34858
34859 2009-12-09  Bruno Haible  <bruno@clisp.org>
34860
34861         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34862         workaround was added on 2009-11-17.
34863
34864 2009-12-09  Jim Meyering  <meyering@redhat.com>
34865             Bruno Haible  <bruno@clisp.org>
34866
34867         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34868         * modules/link-warning (Makefile.am): Make the comment-removing sed
34869         command more robust in the face of bootstrap-prepended comment lines.
34870
34871 2009-12-09  Bruno Haible  <bruno@clisp.org>
34872
34873         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34874         most one group.
34875
34876 2009-12-09  Simon Josefsson <simon@josefsson.org>
34877             Bruno Haible  <bruno@clisp.org>
34878
34879         * build-aux/link-warning.h: Add copyright notice.
34880         * modules/link-warning (Makefile.am): Generate link-warning.h from
34881         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34882         * NEWS: Mention change in link-warning module.
34883         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34884         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34885         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34886         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34887         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34888         * modules/math (Makefile.am): Add dependency to math.h.
34889         * modules/search (Makefile.am): Add dependency to search.h.
34890         * modules/signal (Makefile.am): Add dependency to signal.h.
34891         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34892         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34893         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34894         * modules/string (Makefile.am): Add dependency to string.h.
34895         * modules/strings (Makefile.am): Add dependency to strings.h.
34896         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34897         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34898         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34899         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34900         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34901         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34902         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34903         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34904         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34905
34906 2009-12-09  Bruno Haible  <bruno@clisp.org>
34907
34908         fchdir: Optimize away rpl_fstat when possible.
34909         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34910         REPLACE_OPEN_DIRECTORY.
34911         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34912
34913 2009-12-09  Bruno Haible  <bruno@clisp.org>
34914
34915         * lib/fchdir.c: Update comment.
34916
34917 2009-12-09  Bruno Haible  <bruno@clisp.org>
34918
34919         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34920
34921 2009-12-08  Eric Blake  <ebb9@byu.net>
34922
34923         fchdir: avoid memory leak on re-registration.
34924         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34925
34926 2009-12-08  Jim Meyering  <meyering@redhat.com>
34927
34928         init.sh: avoid Solaris 10 /bin/sh portability problem
34929         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34930         sourced script:
34931           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34932           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34933           bar
34934         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34935         and two tests used that idiom.
34936         * tests/init.sh: Update suggested usage comments.
34937         (path_prepend_): New function, to be used in place
34938         of the --src-path=DIR option.
34939         (setup_): Move PATH-prepending code into path_prepend_.
34940         * tests/test-pread.sh: Adapt to new usage.
34941         * tests/test-xalloc-die.sh: Likewise.
34942
34943 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34944
34945         * doc/gnulib.texi (Glibc pty.h): Add.
34946         * doc/glibc-functions/forkpty.texi: Add.
34947         * doc/glibc-functions/openpty.texi: Add.
34948         Suggested by Bruno Haible.
34949
34950 2009-12-08  Eric Blake  <ebb9@byu.net>
34951
34952         fchdir: fix logic bugs
34953         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34954         * tests/test-fchdir.c (main): Enhance test.
34955         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34956         is in use.
34957
34958         dup2: fix logic bugs
34959         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34960         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34961         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34962         exists.
34963         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34964
34965 2009-12-07  Eric Blake  <ebb9@byu.net>
34966
34967         unlink: fix m4 detection
34968         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34969
34970         unistd-safer: add unit test
34971         * modules/unistd-safer-tests: New file.
34972         * tests/test-dup-safer.c: Likewise.
34973         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34974         * tests/test-dup2.c (setmode): Likewise.
34975         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34976
34977         cloexec: preserve text vs. binary across dup_cloexec
34978         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34979         mode.
34980         * modules/dup2-tests (Depends-on): Add binary-io.
34981         * modules/cloexec-tests (Depends-on): Likewise.
34982         * tests/test-dup2.c (setmode, is_mode): New helpers.
34983         (main): Add tests that translation mode is preserved.
34984         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34985         Reported by Bruno Haible.
34986
34987         mgetgroups: reduce duplicate listings
34988         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34989         resulting array.
34990         * tests/test-chown.h (test_chown): Simplify client.
34991         * tests/test-lchown.h (test_lchown): Likewise.
34992
34993 2009-12-06  Bruno Haible  <bruno@clisp.org>
34994
34995         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34996         value.
34997
34998 2009-12-06  Bruno Haible  <bruno@clisp.org>
34999
35000         * lib/progname.c: Include stdio.h, stdlib.h.
35001         (set_program_name): Reject a NULL argument.
35002
35003 2009-12-05  Eric Blake  <ebb9@byu.net>
35004
35005         pipe2-safer: new module
35006         * modules/pipe2-safer: New file.
35007         * lib/unistd-safer.h (pipe2_safer): New prototype.
35008         * lib/unistd--.h (pipe2): New wrapper.
35009         * lib/pipe-safer.c (pipe2_safer): New function.
35010         * modules/pipe (Depends-on): Add pipe2-safer.
35011         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35012
35013         stdlib-safer: preserve cloexec flag for mkostemp[s]
35014         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35015         fd_safer_flag.
35016
35017         unistd-safer: allow preservation of cloexec status via flag
35018         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35019         prototypes.
35020         * lib/dup-safer.c (dup_safer_flag): New function.
35021         * lib/fd-safer.c (fd_safer_flag): Likewise.
35022         * modules/cloexec (configure.ac): Set witness.
35023
35024         test-dup2: enhance test
35025         * modules/dup2-tests (Depends-on): Add cloexec.
35026         * tests/test-dup2.c (main): Enhance test.
35027
35028         cloexec: add dup_cloexec
35029         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35030         header and comments.
35031         * lib/cloexec.c (set_cloexec_flag): Add comments.
35032         (dup_cloexec): New function, with mingw implementation borrowed
35033         from...
35034         * lib/w32spawn.h (dup_noinherit): ...here.
35035         * modules/execute (Depends-on): Add cloexec.
35036         * modules/pipe (Depends-on): Likewise.
35037         * modules/cloexec (Depends-on): Add dup2.
35038         * modules/cloexec-tests (Files): New file.
35039         * tests/test-cloexec.c: Likewise.
35040
35041         test-xalloc-die: fix test for mingw
35042         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35043         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35044         directory and .exe suffix off argv[0] output.
35045
35046         test-fseeko: fix test for mingw
35047         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35048         than undefining fseek, so test will pass on mingw.
35049
35050 2009-12-05  Bruno Haible  <bruno@clisp.org>
35051
35052         * lib/progname.h (set_program_name): Clarify specification.
35053         * lib/progname.c (set_program_name): Likewise.
35054         Reported by Jim Meyering.
35055
35056 2009-12-05  Jim Meyering  <meyering@redhat.com>
35057
35058         maint.mk: backslash-escape parens in default regexp
35059         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35060         backslash-escape the literal parentheses.
35061
35062         maint.mk: news-date-check: use grep -E
35063         * top/maint.mk (today): Define a Make variable, not a...
35064         (news-date-check): ...shell variable.
35065         (news-date-regexp): Use the Make variable.
35066         Use grep's -E option.  Change the failing diagnostic to mention
35067         the variable, $(news-date-regexp).
35068
35069 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35070
35071         maintainer-makefile: allow customization of NEWS entry format
35072         * top/maint.mk (news-date-regexp): New overridable variable.
35073         (news-date-check): Use it.
35074
35075 2009-12-04  Eric Blake  <ebb9@byu.net>
35076
35077         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35078         * lib/mgetgroups.h (xgetgroups): New prototype.
35079         * lib/mgetgroups.c (xgetgroups): New wrapper.
35080         (mgetgroups): Handle ENOSYS.
35081         * modules/mgetgroups (Depends-on): Add realloc.
35082         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35083
35084         mgetgroups: avoid argument promotion issues with -1
35085         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35086         for invalid gid_t.
35087         * tests/test-chown.h (getegid, test_chown): Likewise.
35088         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35089
35090 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35091
35092         exclude: Fix header file problems.
35093         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35094
35095 2009-12-01  Jim Meyering  <meyering@redhat.com>
35096
35097         fts: fts_open: do not let an empty string cause immediate failure
35098         This is required in support of GNU rm, for which the command
35099         "rm A '' B" must process and remove both A and B, in spite of
35100         the empty string argument.
35101         * lib/fts.c (fts_open): Do not let the presence of an empty string
35102         cause fts_open to fail immediately.  Most fts-using tools must be
35103         able to process all arguments, in order, and can be expected to
35104         diagnose such arguments themselves.
35105
35106 2009-11-30  Eric Blake  <ebb9@byu.net>
35107
35108         utimens: fix compilation error
35109         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35110         Declare variable at right scope.
35111
35112 2009-11-29  Jim Meyering  <meyering@redhat.com>
35113
35114         bootstrap: handle perl-5.11's changed --version output
35115         * build-aux/bootstrap (get_version): Handle perl separately,
35116         since perl-5.11's --version output is different.
35117
35118 2009-11-28  Jim Meyering  <meyering@redhat.com>
35119
35120         userspec: depend on the inttostr module, too
35121         * modules/userspec (Depends-on): Add inttostr.
35122
35123         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35124         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35125         number of MAXUID when it evaluates to (uid_t) -1.
35126         Likewise for group ID.  Reported by Matt McCutchen in
35127         <http://savannah.gnu.org/bugs/?28113>
35128
35129         userspec: reformat to use spaces, not TABs
35130         * lib/userspec.c: Expand TABs to spaces.
35131         Add Emacs' "indent-tabs-mode: nil" hint.
35132
35133 2009-11-27  Eric Blake  <ebb9@byu.net>
35134
35135         getopt-gnu: flush out another BSD bug
35136         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35137         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35138         flush out BSD bug.
35139         * tests/test-getopt.h (test_getopt): End lists with NULL.
35140         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35141         (test_getopt_long_posix): Enhance test.
35142         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35143         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35144         getopt-gnu.
35145         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35146         Likewise.
35147
35148 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35149
35150         * modules/idpriv-droptemp-tests (Notice): Fix text.
35151
35152 2009-11-27  Jim Meyering  <meyering@redhat.com>
35153
35154         test-xalloc-die: avoid spurious failure due to libtool argv difference
35155         In a libtool-enabled project, this test would fail due to a difference
35156         in the emitted program name, e.g.,
35157         -test-xalloc-die: memory exhausted
35158         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35159         Use program to avoid that.
35160         * modules/xalloc-die-tests (Depends-on): Add progname.
35161         * tests/test-xalloc-die.c: Include progname.h".
35162         (program_name): Remove decl.
35163         (main): Call set_program_name.
35164         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35165
35166 2009-11-26  Richard Jones  <rjones@redhat.com>
35167
35168         w32sock: leave win32 error in place.
35169         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35170
35171 2009-11-26  Eric Blake  <ebb9@byu.net>
35172
35173         init.sh: suggest to use skip_ and fail_ functions in comments
35174         * tests/init.sh: Add a sentence.
35175
35176 2009-11-25  Bruno Haible  <bruno@clisp.org>
35177
35178         init.sh: add documentation in comments
35179         * tests/init.sh: Add some developer and user documentation.
35180
35181 2009-11-26  Jim Meyering  <meyering@redhat.com>
35182
35183         init.sh: accommodate even those who specify bogus srcdir manually
35184         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35185         configure-time tests to be sanitized, so that there is no need to
35186         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35187         (with no double quotes) suffices.  However, since tests may be
35188         invoked manually, and since you may explicitly set srcdir to the
35189         name of a directory containing spaces, do quote its uses here.
35190         * tests/test-pread.sh: Likewise.
35191         Suggested by Bruno Haible.
35192
35193         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
35194         * tests/test-pread.sh: Write no data into the pipe, because
35195         test-pread actually reads none.  This avoids a diagnostic,
35196         "bash: echo: write error: Broken pipe", that arises in the unusual
35197         event something is ignoring SIGPIPE, and might be interpreted
35198         as some sort of failure.  Reported by Bruno Haible.
35199
35200 2009-11-25  Jim Meyering  <meyering@redhat.com>
35201
35202         test-pread: cover failure with ESPIPE and EINVAL
35203         * tests/test-pread.c (main): Test for failure, too.
35204         * tests/test-pread.sh: Invoke with stdin on a pipe.
35205         Suggested by Eric Blake.
35206
35207         pread: improvement and fix
35208         * modules/pread (Depends-on): Depend on lseek, for portability to
35209         e.g., mingw.  Suggested by Eric Blake.
35210         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
35211
35212         unistd.in.h: correct declaration of pread
35213         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
35214         Reported by Richard W.M. Jones.
35215
35216         test-pread.sh: distribute the test script
35217         * modules/pread-tests (Files): Include test-pread.sh.
35218
35219         test-pread.sh: clean up
35220         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
35221         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
35222         That is unnecessary, since it's always ".".
35223         Suggestion from Eric Blake.
35224
35225         test-pread.sh: make executable
35226         * tests/test-pread.sh: Set executable bit.
35227         Reported by Eric Blake.
35228
35229         correct typo in test-pread.sh
35230         * tests/test-pread.sh: Add #! line.
35231
35232         test pread
35233         * tests/test-pread.c: New file.
35234         * tests/test-pread.sh: Likewise.
35235         * modules/pread-tests: Likewise.
35236
35237         pread: new module
35238         * modules/pread: New file.
35239         * lib/unistd.in.h (pread): Define/declare.
35240         * lib/pread.c (pread): New file.
35241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
35242         * modules/unistd (Makefile.am): Substitute witnesses.
35243         * doc/posix-functions/pread.texi (pread): Update.
35244         * MODULES.html.sh: Add pread.
35245
35246 2009-11-25  Jim Meyering  <meyering@redhat.com>
35247
35248         tests/init.sh: new file to be used via most *.sh tests
35249         * tests/init.sh: New file.
35250
35251 2009-11-25  Eric Blake  <ebb9@byu.net>
35252
35253         utimens: work around older Linux failure with symlinks
35254         * lib/utimens.c (lutimensat_works_really): New variable.
35255         (fdutimens, lutimens): Use it to manage kernels that support
35256         nanosecond times on files, but not on symlinks.
35257         Reported by OndÅ™ej Vašík.
35258
35259         utimes: fix configure grammar
35260         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
35261
35262 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
35263
35264         regex: Fix fastmap for multibyte character ranges.
35265         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
35266         characters when a multibyte character range is included.
35267
35268 2009-11-22  Andy Wingo  <wingo@pobox.com>
35269
35270         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
35271         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
35272
35273 2009-11-24  Bruno Haible  <bruno@clisp.org>
35274
35275         doc: Most *_l functions exist in MacOS X 10.5.
35276         * doc/posix-functions/duplocale.texi: Update platforms list.
35277         * doc/posix-functions/freelocale.texi: Likewise.
35278         * doc/posix-functions/newlocale.texi: Likewise.
35279         * doc/posix-functions/uselocale.texi: Likewise.
35280         * doc/posix-functions/isalnum_l.texi: Likewise.
35281         * doc/posix-functions/isalpha_l.texi: Likewise.
35282         * doc/posix-functions/isblank_l.texi: Likewise.
35283         * doc/posix-functions/iscntrl_l.texi: Likewise.
35284         * doc/posix-functions/isdigit_l.texi: Likewise.
35285         * doc/posix-functions/isgraph_l.texi: Likewise.
35286         * doc/posix-functions/islower_l.texi: Likewise.
35287         * doc/posix-functions/isprint_l.texi: Likewise.
35288         * doc/posix-functions/ispunct_l.texi: Likewise.
35289         * doc/posix-functions/isspace_l.texi: Likewise.
35290         * doc/posix-functions/isupper_l.texi: Likewise.
35291         * doc/posix-functions/iswalnum_l.texi: Likewise.
35292         * doc/posix-functions/iswalpha_l.texi: Likewise.
35293         * doc/posix-functions/iswblank_l.texi: Likewise.
35294         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35295         * doc/posix-functions/iswctype_l.texi: Likewise.
35296         * doc/posix-functions/iswdigit_l.texi: Likewise.
35297         * doc/posix-functions/iswgraph_l.texi: Likewise.
35298         * doc/posix-functions/iswlower_l.texi: Likewise.
35299         * doc/posix-functions/iswprint_l.texi: Likewise.
35300         * doc/posix-functions/iswpunct_l.texi: Likewise.
35301         * doc/posix-functions/iswspace_l.texi: Likewise.
35302         * doc/posix-functions/iswupper_l.texi: Likewise.
35303         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35304         * doc/posix-functions/isxdigit_l.texi: Likewise.
35305         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
35306         * doc/posix-functions/strcasecmp_l.texi: Likewise.
35307         * doc/posix-functions/strcoll_l.texi: Likewise.
35308         * doc/posix-functions/strfmon_l.texi: Likewise.
35309         * doc/posix-functions/strftime_l.texi: Likewise.
35310         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35311         * doc/posix-functions/strxfrm_l.texi: Likewise.
35312         * doc/posix-functions/tolower_l.texi: Likewise.
35313         * doc/posix-functions/toupper_l.texi: Likewise.
35314         * doc/posix-functions/towctrans_l.texi: Likewise.
35315         * doc/posix-functions/towlower_l.texi: Likewise.
35316         * doc/posix-functions/towupper_l.texi: Likewise.
35317         * doc/posix-functions/wcscoll_l.texi: Likewise.
35318         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35319         * doc/posix-functions/wctrans_l.texi: Likewise.
35320         * doc/posix-functions/wctype_l.texi: Likewise.
35321         * doc/glibc-functions/strptime_l.texi: Likewise.
35322         * doc/glibc-functions/strtod_l.texi: Likewise.
35323         * doc/glibc-functions/strtof_l.texi: Likewise.
35324         * doc/glibc-functions/strtol_l.texi: Likewise.
35325         * doc/glibc-functions/strtold_l.texi: Likewise.
35326         * doc/glibc-functions/strtoll_l.texi: Likewise.
35327         * doc/glibc-functions/strtoul_l.texi: Likewise.
35328         * doc/glibc-functions/strtoull_l.texi: Likewise.
35329         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35330         * doc/glibc-functions/wcstod_l.texi: Likewise.
35331         * doc/glibc-functions/wcstof_l.texi: Likewise.
35332         * doc/glibc-functions/wcstol_l.texi: Likewise.
35333         * doc/glibc-functions/wcstold_l.texi: Likewise.
35334         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35335         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35336         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35337
35338 2009-11-24  Bruno Haible  <bruno@clisp.org>
35339
35340         duplocale: Fix logic bug.
35341         * lib/duplocale.c: Don't include <langinfo.h>.
35342         (_NL_LOCALE_NAME): Remove macro.
35343         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35344         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35345
35346 2009-11-23  Jim Meyering  <meyering@redhat.com>
35347
35348         test-update-copyright: don't hard-code /usr/bin/perl
35349         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35350         perl to print the current year.  Gilles Espinasse reported that
35351         the replaced use of perl was hard-coded as /usr/bin/perl.
35352
35353 2009-11-23  Bruno Haible  <bruno@clisp.org>
35354
35355         duplocale: Add support for glibc 2.3.x.
35356         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35357
35358 2009-11-22  Bruno Haible  <bruno@clisp.org>
35359
35360         vasnprintf: Tiny optimization.
35361         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
35362         MacOS X.
35363
35364 2009-11-22  Bruno Haible  <bruno@clisp.org>
35365
35366         Tests for module 'duplocale'.
35367         * modules/duplocale-tests: New file.
35368         * tests/test-duplocale.c: New file.
35369
35370         New module 'duplocale'.
35371         * m4/duplocale.m4: New file.
35372         * lib/locale.in.h (duplocale): New declaration.
35373         * lib/duplocale.c: New file.
35374         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
35375         gl_LOCALE_H_DEFAULTS): New macros.
35376         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
35377         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35378         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35379         REPLACE_DUPLOCALE.
35380         * modules/duplocale: New file.
35381         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35382
35383 2009-11-22  Bruno Haible  <bruno@clisp.org>
35384
35385         * modules/locale-tests (configure.ac): Test for newlocale function.
35386         * tests/test-locale.c: When the system has extended locale functions,
35387         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35388
35389         locale: Make locale_t available when possible.
35390         * lib/locale.in.h: Include <xlocale.h> when it exists.
35391         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35392         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35393         * modules/locale (Depends-on): Add extensions.
35394         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35395         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35396
35397 2009-11-22  Bruno Haible  <bruno@clisp.org>
35398
35399         Add comments.
35400         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35401         invocation.
35402         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35403         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35404         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35405
35406 2009-11-22  Bruno Haible  <bruno@clisp.org>
35407
35408         error: account for the possibility of freopen (stdout).
35409         * lib/error.c: Include <unistd.h>.
35410         (flush_stdout): New function, extracted from error and error_at_line.
35411         Determine stdout's fd dynamically.
35412         (error, error_at_line): Invoke flush_stdout.
35413         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
35414         * modules/error (Depends-on): Add unistd.
35415
35416 2009-11-22  Bruno Haible  <bruno@clisp.org>
35417
35418         diffseq: Add comment.
35419         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
35420
35421 2009-11-22  Jim Meyering  <meyering@redhat.com>
35422
35423         c-stack: avoid defining an unused static function
35424         * lib/c-stack.c (find_stack_direction): Do not define this function
35425         when it will not be used.
35426
35427         diffseq: avoid spurious gcc warnings
35428         * lib/diffseq.h (IF_LINT2): Define.
35429         (compareseq): Use it to initialize two members of "part".
35430         This avoids two used-uninitialized warnings.
35431
35432 2009-11-21  Jim Meyering  <meyering@redhat.com>
35433
35434         c-stack: avoid "ignoring return value of `write'" warning
35435         * lib/c-stack.c: Include "ignore-value.h".
35436         (die): Explicitly ignore each write return value.
35437         * modules/c-stack (Depends-on): Add ignore-value.
35438
35439 2009-11-21  Bruno Haible  <bruno@clisp.org>
35440
35441         diffseq: reduce scope of variable 'best'.
35442         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
35443         variable, earlier used for two different purposes.
35444
35445 2009-11-21  Jim Meyering  <meyering@redhat.com>
35446
35447         diffseq: remove useless assignment to "best"
35448         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
35449         assignment.  At that point "best" is already guaranteed to be zero.
35450
35451 2009-11-20  Eric Blake  <ebb9@byu.net>
35452
35453         build: mention ftp redirector in release announcements
35454         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
35455         values that used to come from cfg.mk; mention FTP redirect URL.
35456         * build-aux/announce-gen: Mention the mirror list.
35457         Suggested by Karl Berry.
35458
35459         nanosleep: improve port to mingw
35460         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
35461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
35462         LIB_NANOSLEEP, but only when needed.
35463         * modules/select (Link): Document LIBSOCKET.
35464         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
35465         enough.
35466
35467         nanosleep: work around cygwin bug
35468         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
35469         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
35470         bug.
35471         (getnow): Delete, not needed.
35472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
35473         LIB_CLOCK_GETTIME.
35474         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
35475         clock-time, gettime.
35476         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
35477         bug.
35478         * modules/nanosleep-tests: New test.
35479         * tests/test-nanosleep.c: New file.
35480
35481         sleep: work around cygwin bug
35482         * lib/sleep.c (rpl_sleep): Work around the bug.
35483         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35484         (gl_PREREQ_SLEEP): Delete unused macro.
35485         * modules/sleep (Depends-on): Add verify.
35486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35487         * modules/unistd (Makefile.am): Substitute witness.
35488         * lib/unistd.in.h (sleep): Update prototype.
35489         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35490         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35491         * modules/sleep-tests (Depends-on): Check for alarm.
35492
35493 2009-11-20  Jim Meyering  <meyering@redhat.com>
35494
35495         maint.mk: improve sc_prohibit_magic_number_exit
35496         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35497         so it does not match uses like System.exit(1).
35498         Add comments showing how to correct all offenders.
35499
35500 2009-11-19  Eric Blake  <ebb9@byu.net>
35501
35502         xalloc-die-tests: add missing library
35503         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35504
35505         test-xvasprintf: silence compiler warnings
35506         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35507         empty string from gcc.
35508
35509 2009-11-19  Jim Meyering  <meyering@redhat.com>
35510
35511         xfreopen: new module, from coreutils
35512         * modules/xfreopen: New module.
35513         * lib/xfreopen.c: New file.
35514         * lib/xfreopen.h: New file.
35515         * MODULES.html.sh (File stream based Input/Output"): Add it.
35516
35517 2009-11-19  Eric Blake  <ebb9@byu.net>
35518
35519         manywarnings: depend on warnings
35520         * modules/manywarnings (Depends-on): Add warnings.
35521
35522         build: avoid compiler warnings
35523         * lib/select.c (rpl_select): Delete unused variable.
35524         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35525
35526 2009-11-18  Eric Blake  <ebb9@byu.net>
35527
35528         tests: avoid false negative with --with-packager
35529         * tests/test-version-etc.sh: Discard packager information.
35530         * tests/test-argp-version-etc-1.sh: Likewise.
35531         Reported by Mike Frysinger.
35532
35533         utimens: fix regression on Solaris
35534         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35535         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35536         can only change fd timestamps via futimesat.  Instead, use an
35537         additional witness macro to avoid BSD bug.
35538         Reported by Jim Meyering.
35539
35540 2009-11-17  Eric Blake  <ebb9@byu.net>
35541
35542         usleep: use it to simplify tests
35543         * modules/stat-time-tests (Depends-on): Add usleep.
35544         (configure.ac): Drop usleep check.
35545         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35546         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35547         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35548         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35549         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35550         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35551         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35552         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35553         Likewise.
35554         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35555         * tests/test-lchown.h (nap): Likewise.
35556         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35557         * tests/test-stat-time.c (nap): Likewise.
35558         * tests/test-utimens-common.h (nap): Update comments.
35559
35560         usleep: new module
35561         * modules/usleep: New file.
35562         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35563         * lib/usleep.c (usleep): Likewise.
35564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35565         * modules/unistd (Makefile.am): Substitute witnesses.
35566         * lib/unistd.in.h (usleep): Add declaration.
35567         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35568         * MODULES.html.sh (Date and time): Likewise.
35569         * modules/usleep-tests (Depends-on): New test.
35570         * tests/test-usleep.c: New file.
35571
35572         chown: work around OpenBSD bug
35573         * lib/chown.c (rpl_chown): Work around the bug.
35574         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35575         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35576         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35577         * modules/chown (Depends-on): Add stdbool.
35578         * modules/lchown (Depends-on): Likewise.
35579         * doc/posix-functions/chown.texi (chown): Document the bug.
35580         * doc/posix-functions/lchown.texi (lchown): Likewise.
35581         * tests/test-lchown.h (test_chown): Relax test.
35582
35583         mkstemp: avoid conflict with C++ keyword template
35584         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35585         * lib/mkostemp.c (mkostemp): Likewise.
35586         * lib/mkostemps.c (mkostemps): Likewise.
35587         * lib/mkstemp.c (mkstemp): Likewise.
35588         * lib/mkstemps.c (mkstemps): Likewise.
35589
35590         xalloc-die-tests: optimize
35591         * tests/test-xalloc-die.sh: Reduce number of processes.
35592
35593 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35594
35595         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35596         patch from ludo@gnu.org (Ludovic Courtès).
35597
35598 2009-11-17  Jim Meyering  <meyering@redhat.com>
35599
35600         version-etc: use proper license string
35601         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35602         * modules/version-etc-fsf: Likewise.
35603
35604 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35605
35606         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35607         printed to stdout.  Deal with EOL differences.
35608
35609 2009-11-17  Eric Blake  <ebb9@byu.net>
35610
35611         unsetenv: work around Solaris bug
35612         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35613         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35614         Reported by Jim Meyering.
35615
35616         vasnprintf: avoid compiler warnings
35617         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35618         variables.
35619         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35620
35621 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35622
35623         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35624         settings since xalloc-die is no longer the self test,
35625         xalloc-die.sh is.
35626
35627 2009-11-17  Jim Meyering  <meyering@redhat.com>
35628
35629         test-xalloc-die.sh: make the code agree with the commit log
35630         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35631         at the end, just in case you happen to have a test-xalloc-die
35632         program in some other PATH directory.
35633
35634         test-xalloc-die.sh: fix a portability bug
35635         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35636         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35637         Otherwise, argv[0] (as often seen in diagnostics) would be too
35638         system-dependent, sometimes with, and sometimes without the leading "./".
35639
35640         version-etc-fsf: relax license to LGPLv3+
35641         * modules/version-etc-fsf (License): Relax license.
35642
35643 2009-11-16  Eric Blake  <ebb9@byu.net>
35644
35645         xalloc-die-tests: avoid printing null pointer
35646         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35647         shell script.
35648         * tests/test-xalloc-die.c (program_name): Declare.
35649         * tests/test-xalloc-die.sh (tmpfiles): New file.
35650
35651         setenv, unsetenv: work around various bugs
35652         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35653         (setenv) [HAVE_SETENV]: Work around bugs.
35654         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35655         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35656         for bugs.
35657         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35658         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35659         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35660         * modules/stdlib (Makefile.am): Update substitutions.
35661         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35662         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35663         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35664         * modules/setenv-tests: New test.
35665         * modules/unsetenv-tests: Likewise.
35666         * tests/test-setenv.c: New file.
35667         * tests/test-unsetenv.c: Likewise.
35668
35669 2009-11-16  Jim Meyering  <meyering@redhat.com>
35670
35671         version-etc: relax license to LGPLv3+
35672         * modules/version-etc (License): Relax license.
35673
35674         better AC_REQUIRE expanded-before-required-warning avoidance
35675         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35676         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35677         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35678         which is no longer needed.
35679
35680 2009-11-16  Eric Blake  <ebb9@byu.net>
35681
35682         test-freading: clean up temporary file
35683         * tests/test-freading.c (main): Remove file on success, and use
35684         ASSERT more liberally.
35685         Reported by Jim Meyering.
35686
35687 2009-11-16  Jim Meyering  <meyering@redhat.com>
35688
35689         avoid new AC_REQUIRE expanded-before-required warnings
35690         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35691         merely using it.
35692         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35693         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35694
35695 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35696
35697         * tests/test-xalloc-die.c: New file.
35698         * modules/xalloc-die-tests: New file.
35699         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35700         XFAIL_TESTS so it can be appended by modules.
35701
35702 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35703
35704         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35705         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35706
35707 2009-11-14  Eric Blake  <ebb9@byu.net>
35708
35709         fnmatch: avoid compiler warning
35710         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35711         to silence compiler warning about mismatch signedness in ?:.
35712         Reported by Robert Millan.
35713
35714         intprops: add double-inclusion guard
35715         * lib/intprops.h: Allow idempotent includes.
35716         Suggested by Bruce Korb.
35717
35718         openat: detect Solaris fchownat bug
35719         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35720         penalizing glibc chownat when only lchownat is broken.
35721         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35722         trailing slash bugs.
35723         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35724         * modules/openat-tests (Files): Include more files.
35725         (Depends-on): Add mgetgroups, sleep, stat-time.
35726         (configure.ac): Add additional checks.
35727         (Makefile.am): Build new test.
35728         * tests/test-fchownat.c: New file.
35729
35730         lchown: detect Solaris and FreeBSD bug
35731         * lib/lchown.c (rpl_lchown): Work around bug.
35732         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35734         * modules/unistd (Makefile.am): Populate it.
35735         * lib/unistd.in.h (lchown): Update declaration.
35736         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35737         * modules/lchown-tests: New file.
35738         * tests/test-lchown.h (test_lchown): Likewise.
35739         * tests/test-lchown.c (main): Likewise.
35740
35741         chown: detect Solaris and FreeBSD bug
35742         * lib/chown.c (rpl_chown): Work around bug.
35743         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35744         (gl_PREREQ_CHOWN): Delete.
35745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35746         * modules/unistd (Makefile.am): Populate it.
35747         * lib/unistd.in.h (chown): Update declaration.
35748         * lib/lchown.c (chown): Update client.
35749         * modules/lchown (Depends-on): Add lstat.
35750         * doc/posix-functions/chown.texi (chown): Document the bug.
35751         * doc/posix-functions/getgroups.texi (getgroups): Document
35752         getgroups pitfall.
35753         * modules/chown-tests: New file.
35754         * tests/test-chown.h (test_chown): Likewise.
35755         * tests/test-chown.c (main): Likewise.
35756
35757 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35758
35759         gnulib-tool: correctly detect absence of m4 directories
35760         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35761
35762 2009-11-14  Jim Meyering  <meyering@redhat.com>
35763
35764         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35765         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35766
35767 2009-11-14  John W. Eaton  <jwe@gnu.org>
35768
35769         strftime.h: wrap funtion declaration in extern "C" block
35770         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35771
35772 2009-11-13  Eric Blake  <ebb9@byu.net>
35773
35774         getgroups: avoid compiler warning
35775         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35776
35777         getgroups: work around FreeBSD bug
35778         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35779         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35780         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35781         * tests/test-getgroups.c (main): Fix buffer overrun.
35782
35783         getgroups: avoid compilation failure
35784         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35785         * modules/getgroups (Depends-on): Add stdint.
35786
35787 2009-11-13  Jim Meyering  <meyering@redhat.com>
35788
35789         test-getgroups: avoid compilation failure
35790         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35791
35792 2009-11-13  Eric Blake  <ebb9@byu.net>
35793
35794         mgetgroups: new module, taken from coreutils
35795         * modules/mgetgroups: New file.
35796         * lib/mgetgroups.h: Likewise.
35797         * lib/mgetgroups.c (mgetgroups): Likewise.
35798         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35799         * MODULES.html.sh (Users and groups): Mention it.
35800
35801         getgroups: don't expose GETGROUPS_T to user
35802         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35803         an element at a time if GETGROUPS_T is wrong size.
35804         * lib/getugroups.h (getugroups): Change signature.
35805         * lib/unistd.in.h (getgroups): Likewise.
35806         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35807         signature needs fixing.
35808         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35809         AC_TYPE_GETGROUPS.
35810         * modules/group-member (Depends-on): Add getgroups.
35811         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35812         (group_member): Rely on getgroups replacement.
35813         * lib/getugroups.c (getugroups): Use gid_t.
35814         * tests/test-getgroups.c (main): Likewise.
35815         * NEWS: Mention the signature change.
35816         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35817         problem with signature.
35818         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35819         GETGROUPS_T is still useful for setgroups.
35820
35821         getgroups, getugroups: provide stubs for mingw
35822         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35823         * lib/getugroups.c (getugroups): Likewise.
35824         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35825         function.  Modernize replacement scheme.
35826         (gl_PREREQ_GETGROUPS): Delete.
35827         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35828         * modules/getgroups (configure.ac): Declare witness.
35829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35830         * modules/unistd (Depends-on): Substitute witness.
35831         * lib/unistd.in.h (getgroups): Declare replacement.
35832
35833         getgroups: avoid calling exit
35834         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35835         drop xalloc.
35836         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35837         dependencies.
35838         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35839         exiting, in the rare case of malloc failure.
35840
35841         getgroups: fix logic error
35842         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35843         has more than 20 groups.
35844         * modules/getgroups-tests: New test.
35845         * tests/test-getgroups.c: New file.
35846
35847 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35848
35849         * tests/test-base64.c: Improve.
35850
35851 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35852
35853         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35854         Blake <ebb9@byu.net>.
35855
35856 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35857
35858         * tests/test-xvasprintf.c: Add %s%s related checks.
35859
35860 2009-11-12  Eric Blake  <ebb9@byu.net>
35861
35862         version-etc: match standards.texi style
35863         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35864         and use <> only for URLs.
35865
35866 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35867
35868         fts: do not fail on a submount during traversal
35869         * lib/fts.c (fts_build): Read the stat info again after opening
35870         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35871         Original report at http://bugzilla.redhat.com/501848.
35872
35873 2009-11-12  Jim Meyering  <meyering@redhat.com>
35874
35875         bootstrap: sync from coreutils
35876         * build-aux/bootstrap (bootstrap_epilogue): New function.
35877         Use git_modules_config in one more place.  This make bootstrap's
35878         --gnulib-srcdir option more useful for testing.
35879
35880         bootstrap: generalize autoheader check
35881         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35882         AC_CONFIG_HEADERS.
35883
35884 2009-11-11  Eric Blake  <ebb9@byu.net>
35885
35886         mkfifoat: use new modules for Solaris and BSD bugs
35887         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35888         * lib/mkfifoat.c (mknodat): Split...
35889         * lib/mknodat.c (mknodat): ...into new file.
35890         * modules/mkfifoat (Files): Ship new file.
35891         (Depends-on): Add mkfifo, mknod.
35892         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35893         (Depends-on): Add symlink.
35894         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35895         redundant with test_mkfifo.h.
35896         (do_mkfifoat, do_mknodat): New helpers.
35897
35898         mknod: new module
35899         * modules/mknod: New file.
35900         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35901         * lib/mknod.c (mknod): Likewise.
35902         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35903         defaults.
35904         * modules/sys_stat (Makefile.am): Substitute them.
35905         * lib/sys_stat.in.h (mknod): Declare replacement.
35906         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35907         Document it.
35908         * doc/posix-functions/mknod.texi (mknod): Likewise.
35909         * modules/mknod-tests: New test.
35910         * tests/test-mknod.c: Likewise.
35911
35912         mkfifo: new module
35913         * modules/mkfifo: New file.
35914         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35915         * lib/mkfifo.c (mkfifo): Likewise.
35916         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35917         defaults.
35918         * modules/sys_stat (Makefile.am): Substitute them.
35919         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35920         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35921         Document it.
35922         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35923         * modules/mkfifo-tests: New test.
35924         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35925         from test-mkfifoat.c.
35926         * tests/test-mkfifo.c: New file.
35927
35928         readlink: detect FreeBSD bug
35929         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35930         slash on symlink.
35931         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35932         * tests/test-readlink.h (test_readlink): Enhance test.
35933
35934         symlink: detect FreeBSD bug
35935         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35936         slash on symlink.
35937         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35938         * tests/test-symlink.h (test_symlink): Enhance test.
35939
35940 2009-11-10  Eric Blake  <ebb9@byu.net>
35941
35942         link: detect FreeBSD bug
35943         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35944         symlink.
35945         * doc/posix-functions/link.texi (link): Document the bug.
35946         * tests/test-link.h (test_link): Enhance test.
35947         * tests/test-linkat.c (main): Update caller.
35948
35949         unlink, remove: detect FreeBSD bug
35950         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35951         slash on symlink.
35952         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35953         * doc/posix-functions/remove.texi (remove): Likewise.
35954         * tests/test-unlink.h (test_unlink): Enhance test.
35955         * tests/test-remove.c (main): Likewise.
35956
35957 2009-11-09  Eric Blake  <ebb9@byu.net>
35958
35959         rename: detect FreeBSD bug
35960         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35961         slash on symlink.
35962         * modules/renameat-tests (Depends-on): Add filenamecat.
35963         * tests/test-rename.h (test_rename): Allow one more errno.
35964         * tests/test-renameat.c (main): Likewise.
35965         * doc/posix-functions/rename.texi (rename): Document the bug.
35966
35967         open: detect FreeBSD bug
35968         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35969         symlink.
35970         * doc/posix-functions/open.texi (open): Document the bug.
35971         * doc/posix-functions/utimes.texi (utimes): Likewise.
35972         * tests/test-open.h (test_open): Add parameters, and test symlink
35973         handling.
35974         * tests/test-open.c (main): Adjust caller.
35975         * tests/test-fcntl-safer.c (main): Likewise.
35976         * modules/open-tests (Depends-on): Add stdbool, symlink.
35977         * modules/fcntl-safer-tests (Depends-on): Likewise.
35978         * tests/test-openat.c (main): Add test-open tests.
35979
35980         stat: detect FreeBSD bug
35981         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35982         symlink.
35983         * doc/posix-functions/stat.texi (stat): Document the bug.
35984         * tests/test-stat.h (test_stat_func): Add argument.
35985         * tests/test-stat.c (main): Adjust caller.
35986         * tests/test-fstatat.c (main): Likewise.
35987         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35988         Reported by Jim Meyering.
35989
35990 2009-11-09  James Youngman  <jay@gnu.org>
35991
35992         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35993         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35994
35995 2009-11-08  Jim Meyering  <meyering@redhat.com>
35996
35997         utimens: remove invalid futimesat call
35998         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35999         It used the file descriptor of the target file as the DIR_FD
36000         parameter and NULL as the file name.  That caused failure with
36001         errno == EFAULT on FreeBSD-8.0-rc2
36002
36003 2009-11-07  Eric Blake  <ebb9@byu.net>
36004
36005         fflush, freadseek: use fseeko, not fseek
36006         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36007         (clear_ungetc_buffer): Avoid potential problems on large files.
36008         * lib/freadseek.c (freadseek): Likewise.
36009         * modules/freadseek (Depends-on): Add fseeko.
36010         * modules/fseek (configure.ac): Set a witness.
36011         * tests/test-fflush.c (main): Use fseeko.
36012         * tests/test-fpurge.c (fseek): Disable link warning.
36013         * tests/test-freadable.c (fseek): Likewise.
36014         * tests/test-freading.c (fseek): Likewise.
36015         * tests/test-fseeko.c (fseek): Likewise.
36016         * tests/test-ftell.c (fseek): Likewise.
36017         * tests/test-ftello.c (fseek): Likewise.
36018         * tests/test-fwritable.c (fseek): Likewise.
36019         * tests/test-fwriting.c (fseek): Likewise.
36020
36021 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36022
36023         * modules/memchr (Depends-on): Drop getpagesize dependency.
36024
36025 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36026
36027         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36028         Reported by Ludovic Courtès.
36029         * build-aux/pmccabe2html: Improve example usage.
36030         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36031
36032 2009-11-06  Jim Meyering  <meyering@redhat.com>
36033
36034         do-release-commit-and-tag: New module.
36035         Automate the release-commit and tag process.
36036         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36037         * modules/do-release-commit-and-tag: New file.
36038         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36039
36040 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36041
36042         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36043         because test-select.c uses inet_pton.
36044
36045 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36046
36047         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36048         GETADDRINFO_LIB.  Bump serial number.
36049         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36050         Suggested by Eric Blake <ebb9@byu.net>.
36051
36052 2009-11-05  Eric Blake  <ebb9@byu.net>
36053
36054         strtod: detect darwin bug
36055         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36056         Reported by Leo Davis.
36057
36058         freopen-safer: new module
36059         * modules/freopen-safer: New module.
36060         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36061         * lib/freopen-safer.c (freopen_safer): New file.
36062         * lib/stdio-safer.h (freopen_safer): New declaration.
36063         * lib/stdio--.h (freopen): New override.
36064         * MODULES.html.sh (File stream based Input/Output): Mention it.
36065         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36066         freopen-safer module.
36067         * doc/posix-functions/stderr.texi (stderr): Likewise.
36068         * doc/posix-functions/stdin.texi (stdin): Likewise.
36069         * doc/posix-functions/stdout.texi (stdout): Likewise.
36070         * modules/freopen-safer-tests: New test.
36071         * tests/test-reopen-safer.c: New file.
36072
36073 2009-11-05  Jim Meyering  <meyering@redhat.com>
36074
36075         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36076         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36077
36078 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36079
36080         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36081
36082 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36083
36084         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36085
36086 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36087
36088         Fix link error.
36089         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36090         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36091
36092 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36093
36094         * tests/test-func.c: Also test value of __func__.
36095
36096 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36097
36098         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36099         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36100
36101 2009-11-05  Bruno Haible  <bruno@clisp.org>
36102
36103         Fix link error.
36104         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36105         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36106         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36107
36108 2009-11-05  Bruno Haible  <bruno@clisp.org>
36109
36110         Tests for module 'inet_pton'.
36111         * modules/inet_pton-tests: New file.
36112         * tests/test-inet_pton.c: New file.
36113
36114 2009-11-05  Bruno Haible  <bruno@clisp.org>
36115
36116         Tests for module 'inet_ntop'.
36117         * modules/inet_ntop-tests: New file.
36118         * tests/test-inet_ntop.c: New file.
36119
36120 2009-11-04  Eric Blake  <ebb9@byu.net>
36121
36122         stdlib-safer: wrap all mkstemp variants
36123         * modules/mkostemp (configure.ac): Set witness.
36124         * modules/mkostemps (configure.ac): Likewise.
36125         * modules/mkstemps (configure.ac): Likewise.
36126         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36127         (mkstemps_safer): Wrap more functions.
36128         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36129         wrapping.
36130         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36131         (mkstemps_safer): Implement the wrappers.
36132
36133         mkstemps, mkostemps: new modules
36134         * modules/mkostemps: New module.
36135         * modules/mkstemps: Likewise.
36136         * lib/mkostemps.c (mkostemps): New file.
36137         * lib/mkstemps.c (mkstemps): Likewise.
36138         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36139         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36141         * modules/stdlib (Makefile.am): Substitute them.
36142         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36143         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36144         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36145         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36146         * MODULES.html.sh (File system functions): Mention them.
36147
36148         tempname: resync from glibc
36149         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36150         same values for __GT_FILE as glibc.  Abort even when assertions
36151         are disabled.
36152         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36153         match its value otherwise.  Allow idempotent inclusion.
36154         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36155         * lib/mkostemp.c (mkostemp): Likewise.
36156         * lib/mkstemp.c (mkstemp): Likewise.
36157         * lib/tmpfile.c (tmpfile): Likewise.
36158         * NEWS: Document this.
36159
36160         utimens: fix use of futimens on older Linux
36161         * lib/utimens.c (fdutimens): Use updated, rather than original,
36162         timespec to avoid bug in older Linux kernel.
36163         Reported by Simon Josefsson.
36164
36165 2009-11-04  Bruno Haible  <bruno@clisp.org>
36166
36167         Make num_processors more flexible and consistent.
36168         * lib/nproc.h (enum nproc_query): New type.
36169         (num_processors): Add a 'query' argument.
36170         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36171         (num_processors): Add a 'query' argument. Test the value of the
36172         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36173         mingw, count the number of CPUs available for the current process.
36174         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36175         Check for sched_getaffinity and sched_getaffinity_np.
36176         * modules/nproc (Depends-on): Add c-ctype, extensions.
36177         * NEWS: Mention the change.
36178
36179 2009-11-03  Bruno Haible  <bruno@clisp.org>
36180
36181         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36182
36183 2009-11-03  Jim Meyering  <meyering@redhat.com>
36184
36185         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36186         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36187         if it is defined.
36188
36189 2009-11-02  Eric Blake  <ebb9@byu.net>
36190
36191         mktime, timegm: share common declaration
36192         * lib/mktime-internal.h: New file.
36193         * lib/mktime.c: Use it rather than open-coding a declaration.
36194         * lib/timegm.c: Likewise.
36195         * modules/mktime (Files): Ship it.
36196         * modules/timegm (Files): Likewise.
36197         Suggested by Bruno Haible.
36198
36199         test-update-copyright: update test to match script changes
36200         * tests/test-update-copyright.sh: Avoid hard-coding perl
36201         location.  Don't update *.bak created by earlier runs.
36202
36203 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
36204             Simon Josefsson  <simon@josefsson.org>
36205             Bruno Haible  <bruno@clisp.org>
36206
36207         Fix link error on Solaris 8.
36208         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
36209         also in libnsl. Define also INET_PTON_LIB.
36210         * modules/inet_pton (Link): New section.
36211
36212 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36213             Bruno Haible  <bruno@clisp.org>
36214
36215         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
36216         * modules/inet_ntop (Link): New section.
36217         Reported by Boyan Kasarov <bkasarov@gmail.com>.
36218
36219 2009-11-02  Eric Blake  <ebb9@byu.net>
36220
36221         maint: avoid compiler warnings in m4 macros
36222         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
36223         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
36224
36225 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36226
36227         * m4/pmccabe2html.m4: Remove file.
36228         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
36229         function.  Change maintainer.
36230         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
36231         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
36232         Courtès).
36233
36234 2009-10-31  Eric Blake  <ebb9@byu.net>
36235
36236         fseeko: fix m4 regression
36237         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
36238         regression from 2009-10-27.
36239         Reported by Ralf Wildenhues.
36240
36241 2009-10-31  Jim Meyering  <meyering@redhat.com>
36242
36243         inttostr: aesthetics and improved (compile-time) safety
36244         Define inttype_is_signed rather than inttype_is_unsigned,
36245         since the sole use is via "#if inttype_is_signed".
36246         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
36247         inttype_is_unsigned.
36248         * lib/offtostr.c (inttype_is_signed): Likewise.
36249         * lib/uinttostr.c (inttype_is_signed): Likewise.
36250         * lib/umaxtostr.c (inttype_is_signed): Likewise.
36251         * lib/inttostr.c (inttostr): Use verify to cross-check the
36252         inttype_is_signed value and the signedness of the actual type.
36253         * modules/inttostr (Depends-on): Add verify.
36254
36255 2009-10-30  Eric Blake  <ebb9@byu.net>
36256
36257         build: avoid compiler warnings
36258         * lib/fchmodat.c (lchmod): Mark unused variables.
36259         * lib/getopt.c (_getopt_initialize): Likewise.
36260         * lib/mktime.c (__mktime_internal): Provide prototype.
36261         * lib/inttostr.c (inttostr): Avoid compiler warning even with
36262         older gcc that do not understand #pragma GCC diagnostic.
36263         * lib/uinttostr.c (inttype_is_unsigned): Define.
36264         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
36265
36266 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
36267
36268         stat: fix compilation on AIX
36269         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
36270         only see struct stat64.
36271
36272 2009-10-30  Eric Blake  <ebb9@byu.net>
36273
36274         exclude: make more robust
36275         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
36276         rather than masking a coding bug.
36277         Suggested by Bruno Haible.
36278
36279 2009-10-30  Jim Meyering  <meyering@redhat.com>
36280
36281         perl scripts: remove #!/usr/bin/perl in favor of more portable...
36282         Rather than putting #!/usr/bin/perl on the first line,
36283         start with a variant of what's recommended by "man perlrun" that
36284         invokes the first "perl" program from your shell's search path.
36285         * build-aux/gitlog-to-changelog: Replace #!... as above.
36286         Add a "Local Variables" perl mode setting.
36287         Prompted by a patch from Ludovic Courtès.
36288         Improved by Eric Blake.
36289         * build-aux/useless-if-before-free: Likewise.
36290         * build-aux/announce-gen: Likewise.
36291         * build-aux/update-copyright: Likewise.
36292
36293 2009-10-29  Eric Blake  <ebb9@byu.net>
36294
36295         filenamecat-lgpl: adjust clients
36296         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
36297         filenamecat.
36298         * modules/renameat (Depends-on): Likewise.
36299
36300         filenamecat: split into filenamecat-lgpl
36301         * modules/filenamecat-lgpl: New module.
36302         * modules/filenamecat (Files): Move library-safe files into
36303         filenamecat-lgpl.
36304         (Depends-on): Add filenamecat-lgpl.
36305         (configure.ac): Declare witness.
36306         * lib/filenamecat.h (file_name_concat): Only declare when using
36307         GPL module.
36308         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36309         Move...
36310         * lib/filenamecat-lgpl.c: ...into new file.
36311         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36312         (gl_FILE_NAME_CONCAT): Use it.
36313         * MODULES.html.sh (File system functions): Mention new module.
36314
36315         argp: avoid memory leak
36316         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36317         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36318         base_name, since the latter malloc()s and can call exit().
36319         Leak introduced 2006-07-03.
36320
36321         dirname-lgpl: adjust clients that don't need full dirname
36322         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36323         * modules/filenamecat (Depends-on): Likewise.
36324         * modules/linkat (Depends-on): Likewise.
36325         * modules/mkancesdirs (Depends-on): Likewise.
36326         * modules/mkdir (Depends-on): Likewise.
36327         * modules/openat (Depends-on): Likewise.
36328         * modules/savewd (Depends-on): Likewise.
36329         * modules/rename (Depends-on): Likewise.
36330         (License): Relax license.
36331         * modules/mkdir-tests (Depends-on): Drop progname.
36332         (Makefile.am): Delete unneeded LDADD.
36333         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36334
36335         dirname: split into dirname-lgpl
36336         * modules/dirname-lgpl: New module.
36337         * modules/dirname (Files): Move library-safe files into
36338         dirname-lgpl.
36339         (Depends-on): Add dirname-lgpl.
36340         (configure.ac): Declare witness.
36341         * modules/double-slash-root (License): Relax license.
36342         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36343         module.
36344         * lib/dirname.c (dir_len, mdir_name): Move...
36345         * lib/dirname-lgpl.c: ...into new file.
36346         * lib/basename.c (last_component, base_len): Move...
36347         * lib/basename-lgpl.c: ...into new file.
36348         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36349         (gl_DIRNAME): Use it.
36350         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36351         Mention new module.
36352         * modules/dirname-tests (Depends-on): Add progname.
36353         * tests/test-dirname.c (program_name): Delete.
36354
36355         mkdir: make safe for libraries
36356         * modules/mkdir (Depends-on): Drop xalloc.
36357         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
36358         exit.
36359
36360         tests: avoid some compiler warnings
36361         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
36362         literals.
36363         * tests/test-memchr.c (main): Avoid type mismatch.
36364         * tests/test-arpa_inet.c (main): Avoid unused parameters.
36365         * tests/test-base64.c (main): Likewise.
36366         * tests/test-getdelim.c (main): Likewise.
36367         * tests/test-gethostname.c (main): Likewise.
36368         * tests/test-getline.c (main): Likewise.
36369         * tests/test-netinet_in.c (main): Likewise.
36370         * tests/test-select.c (open_server_socket, main): Likewise.
36371         * tests/test-select-stdin.c (main): Likewise.
36372         * tests/test-sockets.c (main): Likewise.
36373         * tests/test-strsignal.c (main): Likewise.
36374         * tests/test-sys_select.c (main): Likewise.
36375         * tests/test-sys_socket.c (main): Likewise.
36376         * tests/test-u64.c (main): Likewise.
36377         * tests/test-xfprintf-posix.c (main): Likewise.
36378         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36379
36380         sockets: avoid compiler warning
36381         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36382
36383         maint: detect usage(1) and other suspicious exits
36384         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36385
36386 2009-10-29  Jim Meyering  <meyering@redhat.com>
36387
36388         timespec: long-to-int truncation could make timespec_cmp malfunction
36389         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36390         a multiple of 2^32 nanoseconds as no difference.
36391
36392 2009-10-28  Jim Meyering  <meyering@redhat.com>
36393
36394         fprintftime: wrap macro code argument in "do {...} while(0)"
36395         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36396         cpy macro must be a statement that can be followed by a semicolon.
36397         Now that the else clause contains a comment and is hence longer
36398         than one line, I require curly braces.  That in turn requires
36399         that we wrap this code block in the standard do...while(0).
36400
36401         fprintftime: remove stray semicolon from previous change
36402         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36403
36404         fprintftime: avoid a warning about ignored fwrite return value
36405         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36406         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36407         that is unsafe.
36408         * modules/fprintftime (Depends-on): Add ignore-value.
36409
36410         exclude: avoid an unwarranted warning
36411         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36412
36413 2009-10-27  Eric Blake  <ebb9@byu.net>
36414
36415         fseek: avoid compilation failure when fflush is replaced
36416         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
36417         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
36418         module is in use.
36419         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
36420         module is not in use; since REPLACE_FSEEK worked otherwise.
36421         (GNULIB_FTELLO): Likewise for ftell.
36422         Reported by Ian Beckwith and others.
36423
36424 2009-10-27  Bruno Haible  <bruno@clisp.org>
36425
36426         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
36427         Reported by Jim Meyering.
36428
36429 2009-10-27  Jim Meyering  <jim@meyering.net>
36430             Bruno Haible  <bruno@clisp.org>
36431
36432         Avoid warning despite dropping the return value of fwrite.
36433         * lib/unicodeio.c: Include ignore-value.h.
36434         (fwrite_success_callback): Explicitly ignore fwrite's return value.
36435         * modules/unicodeio (Depends-on): Add ignore-value.
36436
36437 2009-10-26  Eric Blake  <ebb9@byu.net>
36438
36439         areadlinkat: fix fallback path
36440         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
36441         pointer and zero.
36442
36443 2009-10-22  Pádraig Brady  <P@draigBrady.com>
36444
36445         Use a better IO block size for modern systems
36446         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
36447         * lib/md2.c: Likewise.
36448         * lib/md4.c: Likewise.
36449         * lib/md5.c: Likewise.
36450         * lib/sha1.c: Likewise.
36451         * lib/sha256.c: Likewise.
36452         * lib/sha512.c: Likewise.
36453
36454 2009-10-22  Eric Blake  <ebb9@byu.net>
36455
36456         tests: avoid several compiler warnings
36457         * tests/test-getcwd.c (main): Avoid buffer underflow.
36458         * tests/test-getdate.c (main): String literals are not safe with
36459         putenv, so use setenv.  Declare unused argument.
36460         * modules/getdate-tests (Depends-on): Add setenv.
36461         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
36462         problems with string literals in char *.
36463         * tests/test-hash.c (main): Avoid shadowing declaration.
36464         (insert_new): Treat string literals as char const *.
36465         * tests/test-getopt.h (test_getopt): Likewise.
36466         (getopt_loop): Alter types to minimize casting elsewhere.
36467         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
36468         (test_getopt_long_posix): Likewise.
36469         (do_getopt_long): Add wrapper to minimize casting.
36470         * tests/test-atexit.c (clear_temp_file): Use void.
36471         * tests/test-areadlink-with-size.c (main): Declare unused
36472         arguments.
36473         * tests/test-areadlink.c (main): Likewise.
36474         * tests/test-areadlinkat-with-size.c (main): Likewise.
36475         * tests/test-areadlinkat.c (main): Likewise.
36476         * tests/test-canonicalize-lgpl.c (main): Likewise.
36477         * tests/test-canonicalize.c (main): Likewise.
36478         * tests/test-dirent-safer.c (main): Likewise.
36479         * tests/test-dirname.c (main): Likewise.
36480         * tests/test-dup2.c (main): Likewise.
36481         * tests/test-fchdir.c (main): Likewise.
36482         * tests/test-fcntl-h.c (main): Likewise.
36483         * tests/test-fcntl-safer.c (main): Likewise.
36484         * tests/test-fdopendir.c (main): Likewise.
36485         * tests/test-fdutimensat.c (main): Likewise.
36486         * tests/test-fflush.c (main): Likewise.
36487         * tests/test-filenamecat.c (main): Likewise.
36488         * tests/test-filevercmp.c (main): Likewise.
36489         * tests/test-fopen-safer.c (main): Likewise.
36490         * tests/test-fopen.c (main): Likewise.
36491         * tests/test-fpending.c (main): Likewise.
36492         * tests/test-fpurge.c (main): Likewise.
36493         * tests/test-freading.c (main): Likewise.
36494         * tests/test-fstatat.c (main): Likewise.
36495         * tests/test-fsync.c (main): Likewise.
36496         * tests/test-futimens.c (main): Likewise.
36497         * tests/test-getndelim2.c (main): Likewise.
36498         * tests/test-gettimeofday.c (main): Likewise.
36499         * tests/test-getopt.c (main): Likewise.
36500         * tests/test-i-ring.c (main): Likewise.
36501         * tests/test-inttypes.c (main): Likewise.
36502         * tests/test-link.c (main): Likewise.
36503         * tests/test-lstat.c (main): Likewise.
36504         * tests/test-math.c (main): Likewise.
36505         * tests/test-md5.c (main): Likewise.
36506         * tests/test-memchr2.c (main): Likewise.
36507         * tests/test-memrchr.c (main): Likewise.
36508         * tests/test-mkdir.c (main): Likewise.
36509         * tests/test-mkdirat.c (main): Likewise.
36510         * tests/test-mkfifoat.c (main): Likewise.
36511         * tests/test-open.c (main): Likewise.
36512         * tests/test-openat-safer.c (main): Likewise.
36513         * tests/test-openat.c (main): Likewise.
36514         * tests/test-quotearg.c (main): Likewise.
36515         * tests/test-rawmemchr.c (main): Likewise.
36516         * tests/test-readlink.c (main): Likewise.
36517         * tests/test-remove.c (main): Likewise.
36518         * tests/test-rename.c (main): Likewise.
36519         * tests/test-renameat.c (main): Likewise.
36520         * tests/test-rmdir.c (main): Likewise.
36521         * tests/test-sha1.c (main): Likewise.
36522         * tests/test-signal.c (main): Likewise.
36523         * tests/test-sigaction.c (main): Likewise.
36524         * tests/test-stat.c (main): Likewise.
36525         * tests/test-stat-time.c (main): Likewise.
36526         * tests/test-stddef.c (main): Likewise.
36527         * tests/test-stdint.c (main): Likewise.
36528         * tests/test-stdio.c (main): Likewise.
36529         * tests/test-stdlib.c (main): Likewise.
36530         * tests/test-strchrnul.c (main): Likewise.
36531         * tests/test-strerror.c (main): Likewise.
36532         * tests/test-string.c (main): Likewise.
36533         * tests/test-strtod.c (main): Likewise.
36534         * tests/test-strverscmp.c (main): Likewise.
36535         * tests/test-symlink.c (main): Likewise.
36536         * tests/test-symlinkat.c (main): Likewise.
36537         * tests/test-sys_stat.c (main): Likewise.
36538         * tests/test-sys_time.c (main): Likewise.
36539         * tests/test-time.c (main): Likewise.
36540         * tests/test-unistd.c (main): Likewise.
36541         * tests/test-unlink.c (main): Likewise.
36542         * tests/test-unlinkat.c (main): Likewise.
36543         * tests/test-utimens.c (main): Likewise.
36544         * tests/test-utimensat.c (main): Likewise.
36545         * tests/test-version-etc.c (main): Likewise.
36546         * tests/test-wchar.c (main): Likewise.
36547         * tests/test-wctype.c (main): Likewise.
36548         * tests/test-xprintf-posix.c (main): Likewise.
36549         * tests/test-posixtm.c (main): Likewise.
36550         (STREQ): Delete unused macro.
36551         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36552         shadowed variables.
36553         * tests/test-memchr.c (main): Likewise.
36554
36555 2009-10-21  Eric Blake  <ebb9@byu.net>
36556
36557         areadlinkat: avoid failure on older glibc
36558         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36559         rather than mis-comparing 0 against FUNC_RESULT of char*.
36560
36561 2009-10-21  Bruno Haible  <bruno@clisp.org>
36562
36563         * modules/stpncpy (License): Relicense under LGPLv2+.
36564         Reported by David Lutterkort <lutter@redhat.com>.
36565
36566 2009-10-20  Eric Blake  <ebb9@byu.net>
36567
36568         utimensat: work around Solaris 9 bug
36569         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36570         has trailing slash bugs.
36571         * tests/test-lutimens.h (test_lutimens): Enhance test.
36572         * tests/test-utimens.h (test_utimens): Likewise.
36573         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36574         * doc/posix-functions/utimes.texi (utimes): Likewise.
36575         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36576         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36577         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36578         * doc/posix-functions/futimens.texi (futimens): Likewise.
36579
36580         fdutimensat: new module
36581         * modules/fdutimensat: New file.
36582         * lib/fdutimensat.c (fdutimensat): Likewise.
36583         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36584         * MODULES.html.sh (File system functions): Mention module.
36585         * modules/fdutimensat-tests: New test.
36586         * tests/test-fdutimensat.c: Likewise.
36587
36588         doc: regenerate INSTALL
36589         * doc/INSTALL: Reflect recent autoconf update.
36590         * doc/INSTALL.ISO: Likewise.
36591         * doc/INSTALL.UTF-8: Likewise.
36592
36593 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36594
36595         acl: warn if ACL support is not detected
36596         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36597
36598 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36599
36600         * lib/nproc.h: Add extern "C" block for C++.
36601
36602 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36603             Bruno Haible  <bruno@clisp.org>
36604
36605         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36606         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36607         * doc/posix-functions/isalpha.texi: Likewise.
36608         * doc/posix-functions/isblank.texi: Likewise.
36609         * doc/posix-functions/iscntrl.texi: Likewise.
36610         * doc/posix-functions/isdigit.texi: Likewise.
36611         * doc/posix-functions/isgraph.texi: Likewise.
36612         * doc/posix-functions/islower.texi: Likewise.
36613         * doc/posix-functions/isprint.texi: Likewise.
36614         * doc/posix-functions/ispunct.texi: Likewise.
36615         * doc/posix-functions/isspace.texi: Likewise.
36616         * doc/posix-functions/isupper.texi: Likewise.
36617         * doc/posix-functions/isxdigit.texi: Likewise.
36618
36619 2009-10-18  Bruno Haible  <bruno@clisp.org>
36620
36621         Tests for module 'isblank'.
36622         * modules/isblank-tests: New file.
36623         * tests/test-isblank.c: New file.
36624
36625         New module 'isblank'.
36626         * lib/isblank.c: New file.
36627         * m4/isblank.m4: New file.
36628         * modules/isblank: New file.
36629         * doc/posix-functions/isblank.texi: Mention the new module.
36630
36631 2009-10-18  Bruno Haible  <bruno@clisp.org>
36632
36633         New module 'ctype'.
36634         * lib/ctype.in.h: New file.
36635         * m4/ctype.m4: New file.
36636         * modules/ctype: New file.
36637         * doc/posix-headers/ctype.texi: Mention the new module.
36638
36639 2009-10-18  Jim Meyering  <meyering@redhat.com>
36640
36641         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36642         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36643         right after its initialization, rather than farther down.
36644         Keeping these in close proximity makes it easier to ensure
36645         that each such variable is initialized.  E.g.,
36646
36647             LIB_CLOCK_GETTIME=
36648             AC_SUBST([LIB_CLOCK_GETTIME])
36649
36650         This change also increments these serial numbers.
36651         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36652         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36653         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36654
36655 2009-10-18  Bruno Haible  <bruno@clisp.org>
36656
36657         Don't let environment variables perturb build.
36658         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36659         (gl_PREREQ_GETHRXTIME): ... not here.
36660
36661 2009-10-18  Bruno Haible  <bruno@clisp.org>
36662
36663         Avoid symlink attack in localcharset module.
36664         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36665         (O_NOFOLLOW): Define fallback.
36666         (get_charset_aliases): Don't open the file if it is a symbolic link.
36667         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36668         gl_FCNTL_H.
36669         (gl_FCNTL_H): Require it.
36670         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36671         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36672         Reported by Fergal Glynn <fglynn@veracode.com>.
36673
36674 2009-10-18  Bruno Haible  <bruno@clisp.org>
36675
36676         Implement nproc for mingw.
36677         * lib/nproc.c: Include <windows.h>
36678         (num_processors): On native Windows platforms, try GetSystemInfo.
36679
36680 2009-10-18  Bruno Haible  <bruno@clisp.org>
36681
36682         Implement nproc for IRIX.
36683         * lib/nproc.c: Include <sys/sysmp.h>.
36684         (num_processors): On IRIX systems, try sysmp.
36685         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36686
36687 2009-10-18  Bruno Haible  <bruno@clisp.org>
36688
36689         Implement nproc for HP-UX.
36690         * lib/nproc.c: Include <sys/pstat.h>
36691         (num_processors): On HP-UX systems, try pstat_getdynamic.
36692         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36693         pstat_getdynamic.
36694
36695 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36696             Bruno Haible  <bruno@clisp.org>
36697
36698         Implement nproc for NetBSD, OpenBSD.
36699         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36700         (ARRAY_SIZE): New macro.
36701         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36702         * m4/nproc.m4: New file.
36703         * modules/nproc (Files): Add m4/nproc.m4.
36704         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36705         (Makefile.am): Instead, augment lib_SOURCES.
36706
36707 2009-10-18  Bruno Haible  <bruno@clisp.org>
36708
36709         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36710         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36711         sys/param.h.
36712
36713 2009-10-16  Eric Blake  <ebb9@byu.net>
36714
36715         utimensat: new module
36716         * modules/utimensat: New file.
36717         * lib/utimensat.c (utimensat): Likewise.
36718         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36719         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36720         so we can work around Linux bugs.
36721         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36722         * modules/sys_stat (Makefile.am): Substitute them.
36723         * lib/sys_stat.in.h (utimensat): Declare it.
36724         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36725         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36726         * modules/utimensat-tests: New test.
36727         * tests/test-utimensat.c: Likewise.
36728
36729         utimens: let lutimens work on non-symlinks
36730         * lib/utimens.c (lutimens): Fall back to utimens rather than
36731         failing with ENOSYS, when file is not a symlink.
36732         (utimens): Reduce redirection.
36733         * tests/test-lutimens.h (test_lutimens): Update test to cover
36734         non-symlinks.
36735         * tests/test-utimens.h (test_utimens): Update test to cover
36736         symlinks.
36737         * tests/test-utimens.c (main): Update caller.
36738
36739         utimens: cache whether utimensat syscall works
36740         * lib/utimens.c (utimensat_works_really): New cache variable.
36741         (fdutimens, lutimens): Use it to avoid failing syscall.
36742
36743         test-stat-time, test-utimens: improve portability
36744         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36745         ext4 on alpha, and for cygwin.
36746         * tests/test-utimens-common.h: New file.
36747         (nap): Factor delays into single function.
36748         * tests/test-lutimens.h (test_lutimens): Use new header.
36749         * tests/test-futimens.h (test_futimens): Likewise.
36750         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36751         timestamps to occur from same machine, as was done previously for
36752         test_utimens.
36753         * modules/utimens-tests (Files): Ship new file.
36754         * modules/futimens-tests (Files): Likewise.
36755         Reported in part by Jim Meyering.
36756
36757         sys_stat: sort replacement declarations
36758         * lib/sys_stat.in.h: Sort declarations.
36759         * lib/futimens.c (futimens): Fix typo.
36760
36761 2009-10-15  Jim Meyering  <meyering@redhat.com>
36762
36763         don't let environment settings perturb build
36764         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36765         could cause a configure-time and/or build-time malfunction.
36766         Typically, a configure-time function-in-library test is performed
36767         via code like this:
36768
36769           LIB_VAR=
36770           AC_SUBST([LIB_VAR])
36771           prefix_saved_LIBS=$LIBS
36772             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36773                        [test "$ac_cv_search_FUNC" = "none required" ||
36774                         LIB_VAR=$ac_cv_search_FUNC])
36775           LIBS=$prefix_saved_LIBS
36776
36777         However, in each of the files affected by this change, the LIB_VAR=
36778         initialization was omitted.  Thus, when set in the environment, its
36779         value would propagate into generated Makefiles when FUNC is not found
36780         in LIB_NAME.
36781         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36782         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36784
36785 2009-10-14  Eric Blake  <ebb9@byu.net>
36786
36787         fchdir: avoid infinite recursion in mingw
36788         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36789         recursing.
36790
36791         test-stat-time: port to mingw
36792         * tests/test-stat-time.c (force_unlink): Return a value.
36793         (test_ctime) [W32]: Fix compilation error.
36794         (nap): Don't call usleep with too large an argument.  Use
36795         force_unlink.
36796         * doc/pastposix-functions/usleep.texi (usleep): Document the
36797         portability issue.
36798
36799 2009-10-13  Jim Meyering  <meyering@redhat.com>
36800
36801         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36802         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36803         * modules/pipe-filter-ii: Likewise.
36804         * modules/sys_socket-tests: Likewise.
36805         * modules/tsearch-tests: Likewise.
36806         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36807         (check): Depend on it.
36808
36809 2009-10-12  Eric Blake  <ebb9@byu.net>
36810
36811         utimens-tests: port to NFS file systems
36812         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36813         comparisons to avoid spurious failures from timestamp drift
36814         between NFS machines.
36815
36816 2009-10-12  Eric Blake  <ebb9@byu.net>
36817
36818         stat-time-tests: minor cleanups
36819         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36820         * tests/test-stat-time.c (nap): Separate assignment from call.
36821         Suggested by Paolo Bonzini and Bruno Haible.
36822
36823         sys_stat: guarantee struct timespec
36824         * lib/sys_stat.in.h (includes): Always include <time.h>
36825         * modules/sys_stat (Depends-on): Add time.
36826         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36827         mode_t permission values.
36828         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36829         get at subsecond timestamps.
36830
36831 2009-10-10  Eric Blake  <ebb9@byu.net>
36832
36833         futimens: new module
36834         * modules/futimens: New file.
36835         * lib/futimens.c (futimens): Likewise.
36836         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36837         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36838         we can work around Linux bugs.
36839         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36840         * modules/sys_stat (Makefile.am): Substitute them.
36841         * lib/sys_stat.in.h (futimens): Declare it.
36842         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36843         * doc/posix-functions/futimens.texi (futimens): Likewise.
36844         * modules/futimens-tests: New test.
36845         * tests/test-futimens.c: Likewise.
36846
36847         utimens: introduce fdutimens
36848         * lib/utimens.h (fdutimens): New prototype.
36849         * lib/utimens.c (gl_futimens): Move guts...
36850         (fdutimens): ...to new interface.
36851         * tests/test-utimens.c (do_fdutimens): Use it.
36852
36853         utimens: add UTIME_NOW and UTIME_OMIT support
36854         * lib/utimens.c (validate_timespec, update_timespec): New helper
36855         functions.
36856         (gl_futimens, lutimens): Use them.
36857         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36858         stdbool, sys_stat.
36859         (Link): Mention resulting library dependency.
36860         * modules/utimecmp (Link): Likewise.
36861         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36862         (Makefile.am): Pick up library dependency.
36863         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36864         definition.
36865         * tests/test-sys_stat.c: Test the definitions.
36866         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36867         * NEWS: Document library dependency.
36868
36869         utimecmp: support symlink timestamps
36870         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36871         hashing when possible.  Use pathconf when available.
36872         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36873         * modules/utimecmp (Depends-on): Add lstat.
36874
36875         utimens: add lutimens interface
36876         * lib/utimens.c (lutimens): New function.
36877         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36878         * lib/utimens.h (lutimens): Declare new interface.
36879         * tests/test-utimens.c (main): Enhance test.
36880         * tests/test-lutimens.h (test_lutimens): New file.
36881         * modules/utimens-tests (Files): Distribute it.
36882         (Depends-on): Add symlink.
36883         (configure.ac): Check for usleep.
36884
36885         utimens: validate futimens usage
36886         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36887         fewer syscalls on failure later on.  Avoid compiler warning on
36888         mingw.
36889         * modules/utimens (Depends-on): Add dup2.
36890
36891         utimens: add test
36892         * modules/utimens-tests: New test.
36893         * tests/test-utimens.h: New file.
36894         * tests/test-futimens.h: Likewise.
36895         * tests/test-utimens.c: Likewise.
36896
36897         doc: mention timestamp portability issues
36898         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36899         instead.
36900         * doc/posix-functions/utime.texi (utime): Likewise.
36901         * doc/posix-functions/utimes.texi (utimes): Likewise.
36902         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36903         instead.
36904         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36905         module.
36906         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36907         Mention weakness with symlink timestamps.
36908         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36909         to utimensat/futimens instead.
36910         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36911
36912         test-dup2: enhance test
36913         * tests/test-dup2.c (main): Also check AT_FDCWD.
36914
36915         test-stat-time: avoid more spurious failures
36916         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36917         xfs; and avoid race if the two timestamps cross quantization edge.
36918
36919         relocatable: prefer 'file system' over 'filesystem'
36920         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36921         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36922         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36923         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36924         * lib/relocatable.c (compute_curr_prefix): Likewise.
36925
36926 2009-10-10  Jim Meyering  <meyering@redhat.com>
36927
36928         stat-time-tests: check for the usleep function
36929         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36930
36931 2009-10-10  Bruno Haible  <bruno@clisp.org>
36932
36933         * modules/xnanosleep: Put the Link section after the Include section.
36934
36935 2009-10-09  Eric Blake  <ebb9@byu.net>
36936
36937         dup2: work around FreeBSD 6.1 bug
36938         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36939         * doc/posix-functions/dup2.texi (dup2): Document it.
36940         Reported by Nelson H. F. Beebe and Jim Meyering.
36941
36942         test-stat-time: port to buggy NFS clients
36943         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36944         (test_ctime): Also skip test if mtime and ctime are skewed.
36945
36946         maint: prefer 'file system' over 'filesystem'
36947         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36948         * doc/posix-functions/lstat.texi (lstat): Likewise.
36949         * lib/file-has-acl.c (file_has_acl): Likewise.
36950         * lib/fwriteerror.c [TEST]: Likewise.
36951         * tests/test-areadlink.h (test_areadlink): Likewise.
36952         * tests/test-areadlinkat-with-size.c (main): Likewise.
36953         * tests/test-areadlinkat.c (main): Likewise.
36954         * tests/test-canonicalize-lgpl.c (main): Likewise.
36955         * tests/test-canonicalize.c (main): Likewise.
36956         * tests/test-fstatat.c (main): Likewise.
36957         * tests/test-linkat.c (main): Likewise.
36958         * tests/test-lstat.h (test_lstat_func): Likewise.
36959         * tests/test-mkdir.h (test_mkdir): Likewise.
36960         * tests/test-readlink.h (test_readlink): Likewise.
36961         * tests/test-remove.c (main): Likewise.
36962         * tests/test-rename.h (test_rename): Likewise.
36963         * tests/test-renameat.c (main): Likewise.
36964         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36965         * tests/test-symlink.h (test_symlink): Likewise.
36966         * tests/test-symlinkat.c (main): Likewise.
36967         * tests/test-unlink.h (test_unlink_func): Likewise.
36968         * tests/test-unlinkat.c (main): Likewise.
36969
36970         maint: make realtime library usage explicit
36971         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36972         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36973         * modules/settime (Link): Likewise.
36974         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36975
36976         test-stat-time: speed up execution
36977         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36978         warning on mingw.
36979         (nap): New helper function.
36980         (prepare_test): Use it to reduce sleep time.
36981         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36982         execution.
36983         * modules/stat-time-tests (configure.ac): Check for usleep.
36984
36985 2009-10-09  Jim Meyering  <meyering@redhat.com>
36986
36987         selinux-h: always use getfilecon wrappers
36988         * lib/getfilecon.c: New file.
36989         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36990         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36991         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36992         (fgetfilecon): Provide a stub.
36993         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36994         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36995         file unconditionally.
36996         When <selinux/selinux.h> is found, arrange to use wrappers.
36997         * modules/selinux-h (Files): Add getfilecon.c.
36998         (Makefile.am): Substitute include-next-related bits
36999         into the now-always-generated selinux/selinux.h file.
37000         * doc/glibc-functions/lgetfilecon.texi: New file.
37001         * doc/glibc-functions/fgetfilecon.texi: New file.
37002         * doc/glibc-functions/getfilecon.texi: New file.
37003         * doc/glibc-functions/getfilecon-desc.texi: New file.
37004         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37005         which to pull in the new files.
37006         * MODULES.html.sh (Misc): Add selinux-h.
37007
37008 2009-10-08  Jim Meyering  <meyering@redhat.com>
37009
37010         unistd: fix comment typo
37011         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37012
37013 2009-10-08  Eric Blake  <ebb9@byu.net>
37014
37015         areadlink: use SIZE_MAX consistently
37016         * modules/areadlink (Depends-on): Add stdint.
37017         * modules/areadlink-with-size (Depends-on): Likewise.
37018         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37019         gives NULL; drop sys/types, since unistd gives size_t; and add
37020         stdint for SIZE_MAX.
37021         (SIZE_MAX): Rely on headers.
37022         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37023         and add stdint.
37024         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37025         (SIZE_MAX): Likewise.
37026         (INITIAL_BUF_SIZE): Turn into enum.
37027         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37028
37029 2009-10-08  Jim Meyering  <meyering@redhat.com>
37030
37031         areadlinkat: avoid compilation failure
37032         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37033         Fix typo in comment.
37034
37035 2009-10-07  Eric Blake  <ebb9@byu.net>
37036
37037         areadlinkat-with-size: new module
37038         * modules/areadlinkat-with-size: New module.
37039         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37040         * lib/areadlink.h (areadlinkat): Declare it.
37041         * MODULES.html.sh (File system functions): Mention it.
37042         * modules/areadlinkat-with-size-tests: New test.
37043         * tests/test-areadlinkat-with-size.c: New file.
37044
37045         xreadlinkat: new module
37046         * modules/xreadlinkat: New module.
37047         * lib/xreadlinkat.c (xreadlinkat): New file.
37048         * lib/xreadlink.h (xreadlinkat): Declare it.
37049         * MODULES.html.sh (File system functions): Mention it.
37050
37051         areadlinkat: new module
37052         * lib/at-func.c (FUNC_FAIL): New define.
37053         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37054         * modules/areadlinkat: New module.
37055         * lib/linkat.c (areadlinkat): Move...
37056         * lib/areadlinkat.c (areadlinkat): ...to new file.
37057         * lib/areadlink.h (areadlinkat): Declare it.
37058         * modules/linkat (Depends-on): Add areadlinkat.
37059         * MODULES.html.sh (File system functions): Mention it.
37060         * modules/areadlinkat-tests: New test.
37061         * tests/test-areadlinkat.c: New file.
37062
37063         areadlink, areadlink-with-size: add tests
37064         * modules/areadlink-tests: New test.
37065         * modules/areadlink-with-size-tests: Likewise.
37066         * tests/test-areadlink.h: New file.
37067         * tests/test-areadlink.c: Likewise.
37068         * tests/test-areadlink-with-size.c: Likewise.
37069
37070         maint: minor cleanups
37071         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37072         _UNUSED_PARAMETER_ instead.
37073         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37074         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37075         * modules/linkat-tests (Files): Distribute test-link.h.
37076
37077         openat, utimens: whitespace cleanup
37078         * lib/openat.c: Prefer space throughout, rather than mix of 8
37079         spaces vs. tabs.
37080         * lib/at-func.c: Likewise.
37081         * lib/utimens.c: Likewise.
37082
37083         openat: avoid using wrong fd
37084         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37085         working directory chooses same fd.
37086         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37087
37088         mkdir, mkdirat: fix cygwin 1.5.x bug
37089         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37090         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37091         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37092         bug.
37093         (gl_PREREQ_MKDIR): Delete unused macro.
37094         * modules/mkdir (Files): Track file rename.
37095         (configure.ac): Update macro name.
37096         * modules/openat (Depends-on): Add mkdir.
37097         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37098
37099         mkdir, mkdirat: add tests
37100         * modules/mkdir-tests: New test.
37101         * tests/test-mkdir.h: New file.
37102         * tests/test-mkdir.c: Likewise.
37103         * tests/test-mkdirat.c: Likewise.
37104         * modules/openat-tests (Files): Add new files.
37105         (Makefile.am): Run new test.
37106
37107 2009-10-06  Eric Blake  <ebb9@byu.net>
37108
37109         doc: tweak *at function documentation
37110         * doc/posix-functions/faccessat.texi (faccessat): Mention
37111         known issue with replacement.
37112         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37113         * doc/posix-functions/linkat.texi (linkat): Likewise.
37114         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37115         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37116         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37117         * doc/posix-functions/renameat.texi (renameat): Likewise.
37118         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37119
37120         openat: fix GNU/Hurd bug in unlinkat
37121         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37122         broken.
37123         * doc/posix-functions/unlink.texi (unlink): Document this.
37124         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37125
37126         fdopendir: fix GNU/Hurd bug
37127         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37128         allowing non-directory fds.
37129         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37130         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37131         * modules/dirent (Makefile.am): Substitute it.
37132         * lib/dirent.in.h (fdopendir): Declare replacement.
37133         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37134         * tests/test-fdopendir.c (main): Test something other than
37135         /dev/null, since on Hurd that behaves like a directory.
37136
37137         test-symlink: port to GNU/Hurd
37138         * tests/test-symlink.h (test_symlink): Relax expected errno.
37139
37140         doc: tweak more cygwin information
37141         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37142         now compatible with glibc.
37143         * doc/posix-functions/getopt.texi (getopt): Likewise.
37144
37145         getopt-gnu: add another test
37146         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37147         guarantee behavior relied on by m4.
37148         * tests/test-getopt.c (main): Use it.
37149         * modules/getopt-posix-tests (Depends-on): Add setenv.
37150         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37151
37152         getopt: fix compilation on darwin
37153         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37154         include.
37155         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37156         Reported by Ludovic Courtès.
37157
37158 2009-10-06  Bruno Haible  <bruno@clisp.org>
37159
37160         * modules/size_max (Description): Discourage its use.
37161         Reported by Simon Josefsson.
37162
37163 2009-10-06  Jim Meyering  <meyering@redhat.com>
37164
37165         linkat: avoid compilation failure
37166         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37167
37168 2009-10-05  Eric Blake  <ebb9@byu.net>
37169
37170         linkat: support Linux 2.6.17
37171         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37172         linkat on Linux, but allow cache variable override.
37173         * lib/linkat.c (rpl_linkat): Define override.
37174         * modules/linkat (Depends-on): Add symlinkat.
37175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37176         * modules/unistd (Makefile.am): Substitute it.
37177         * lib/unistd.in.h (linkat): Declare replacement.
37178         Reported by Pádraig Brady.
37179
37180         quotearg: port test to systems with C.UTF-8 locale
37181         * tests/test-quotearg.c (struct result_strings): Add another
37182         member, differentiating between C.ASCII and C.UTF-8 handling.
37183         (compare_strings): Add parameter.
37184         (main): Adjust all callers.
37185
37186         getopt: avoid clash with FreeBSD _getopt_internal
37187         * lib/getopt.in.h (_getopt_internal): Override the name.
37188         * lib/getopt_int.h (includes): Pick up any overrides.
37189         Reported by Reuben Thomas.
37190
37191         hash: allow C89 compilation
37192         * lib/hash.c (check_tuning): Move declaration before statement.
37193         Reported by Reuben Thomas.
37194
37195 2009-10-05  Karl Berry  <karl@gnu.org>
37196
37197         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
37198
37199 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
37200             Bruno Haible  <bruno@clisp.org>
37201
37202         * lib/uname.c (uname): Use a table-driven algorithm to compute
37203         Windows NT versions.
37204
37205 2009-10-04  Bruno Haible  <bruno@clisp.org>
37206
37207         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
37208         program_invocation_short_name.
37209         * modules/progname (configure.ac): Test for presence of
37210         program_invocation_short_name.
37211         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37212
37213 2009-10-04  Bruno Haible  <bruno@clisp.org>
37214
37215         * lib/progname.c (set_program_name): Fix comment.
37216         Reported by Jim Meyering.
37217
37218 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37219             Bruno Haible  <bruno@clisp.org>
37220
37221         * lib/uname.c: Include <string.h>.
37222         (uname): Do only one call to GetVersionEx in the common case.
37223
37224 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37225             Bruno Haible  <bruno@clisp.org>
37226
37227         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
37228         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
37229         (uname): Add support for Windows CE and various non-x86 CPU types.
37230
37231 2009-10-03  Bruno Haible  <bruno@clisp.org>
37232
37233         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
37234         invocation to tests/configure.ac.
37235         Reported by Ian Beckwith <ianb@erislabs.net>.
37236
37237 2009-10-02  Eric Blake  <ebb9@byu.net>
37238
37239         fchdir: avoid compiler warning
37240         * lib/fchdir.c (canonicalize_file_name)
37241         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
37242
37243         test-open: support mingw errno values
37244         * tests/test-open.h (test_open): Relax test.
37245         * tests/test-fopen.h (test_fopen): Likewise.
37246         * tests/test-openat-safer.c (main): Likewise.
37247
37248         open: fix opening directory on mingw
37249         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
37250
37251         test-open: on GNU/Hurd, /dev/null is a directory
37252         * tests/test-fopen.h (main): Rename...
37253         (test_fopen): ...to this.  Use a guaranteed non-directory when
37254         confirming open behavior on trailing slash.
37255         * tests/test-openat-safer.c (main): Likewise.
37256         * tests/test-open.h (main): Likewise....
37257         (test_open): ...to this.
37258         * tests/test-fopen.c (main): Adjust caller.
37259         * tests/test-fopen-safer.c (main): Likewise.
37260         * tests/test-open.c (main): Likewise.
37261         * tests/test-fcntl-safer.c (main): Likewise.
37262         Reported by Samuel Thibault.
37263
37264         rename, fchdir: don't ignore chdir failure
37265         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
37266         * lib/rename.c (rpl_rename) [W32]: Likewise.
37267         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
37268         an empty destination directory if source cannot be renamed,
37269         although there is still possibility for failure.
37270         * doc/posix-functions/rename.texi (rename): Document the race.
37271         Reported by Jim Meyering.
37272
37273         maint: cleanup whitespace in recent commits
37274         * lib/rename.c (rpl_rename): Remove tabs.
37275         * tests/test-link.h (test_link): Likewise.
37276         * lib/fchdir.c (get_name): Likewise.
37277         Reported by Jim Meyering.
37278
37279 2009-10-02  Ben Pfaff  <blp@gnu.org>
37280
37281         relocatable-prog-wrapper: Add missing dependency on
37282         double-slash-root.
37283         * modules/relocatable-prog-wrapper: Add dependency.
37284         Reported by Ian Beckwith <ianb@erislabs.net>.
37285
37286 2009-10-02  Eric Blake  <ebb9@byu.net>
37287
37288         renameat: fix Solaris bugs
37289         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
37290         needed fixing.
37291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
37292         * modules/stdio (Makefile.am): Substitute it.
37293         * lib/stdio.in.h (renameat): Declare replacement.
37294         * lib/renameat.c (rpl_renameat): Implement fix.
37295
37296         renameat: new module
37297         * modules/renameat: New file.
37298         * lib/renameat.c (renameat): Likewise.
37299         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
37300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37301         * modules/stdio (Makefile.am): Substitute them.
37302         * lib/stdio.in.h (renameat): Declare it.
37303         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37304         * doc/posix-functions/renameat.texi (renameat): Likewise.
37305         * modules/renameat-tests: New test.
37306         * tests/test-renameat.c: Likewise.
37307
37308         rename: fix mingw bugs
37309         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37310         directory overwrite bugs.
37311
37312         rename: fix another cygwin 1.5 bug
37313         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37314         checks.
37315         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37316         unnecessary cygwin workarounds.  Also work around bug with moving
37317         full directory onto an empty one.
37318         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37319
37320         rename-dest-slash: merge into rename module
37321         * modules/rename-dest-slash (Status): Mark obsolete.
37322         (Depends-on): Add rename.
37323         (Files): Let rename do it all.
37324         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37325         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37326         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37327         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37328         * lib/rename.c (rpl_rename): Update comments.
37329
37330         rename: fix cygwin 1.5.x bugs
37331         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37332         * lib/rename.c (rpl_rename): Work around them.
37333         * modules/rename (Depends-on): Add same-inode.
37334
37335         rename: fix Solaris 10 bug
37336         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37337         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37338         was the only bug.
37339
37340         rename: fix Solaris 9 bug
37341         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37342         on non-directory.  Avoid calling exit.
37343         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37344         strdup.
37345         * modules/rename-tests (Depends-on): Drop lstat.
37346         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37347         (gl_PREREQ_RENAME): Delete unused macro.
37348
37349         rename-dest-slash: fix NetBSD bug
37350         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37351         links.
37352         * modules/rename-dest-slash (Depends-on): Add same-inode.
37353
37354         rename-tests: new test, exposes several platform bugs
37355         * modules/rename-tests: New file.
37356         * tests/test-rename.h: Likewise.
37357         * tests/test-rename.c: Likewise.
37358         * doc/posix-functions/rename.texi (rename): Improve documentation,
37359         including bugs that will eventually be fixed in gnulib.
37360
37361 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
37362
37363         * lib/uname.c: Include <stdlib.h>
37364         (uname): Assume version info is available.
37365
37366 2009-10-02  Jim Meyering  <meyering@redhat.com>
37367
37368         gnu-web-doc-update: correct --help output
37369         * build-aux/gnu-web-doc-update: Make --help output relevant.
37370
37371         gnu-web-doc-update: add standard options
37372         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
37373
37374         gnu-web-doc-update: New module.
37375         Use this script to automatically update the on-line web documentation
37376         for your GNU project at http://www.gnu.org/software/$pkg/manual/
37377         * modules/gnu-web-doc-update: New file, from coreutils.
37378         * build-aux/gnu-web-doc-update: New script.
37379
37380 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37381
37382         link: LoadLibrary is not needed.
37383         * lib/link.c: Use GetModuleHandle.
37384
37385 2009-10-01  Eric Blake  <ebb9@byu.net>
37386
37387         getopt: bump serial number
37388         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37389         change.
37390
37391         tests: tighten link, rmdir, and remove tests
37392         * tests/test-link.h (includes): No need to use <config.h> here.
37393         Clean up if directory hard link was created, otherwise test for
37394         trailing '.'.
37395         * tests/test-linkat.c (main): Simplify.
37396         * tests/test-remove.c (main): Enhance test for trailing '.'.
37397         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37398
37399 2009-10-01  Jim Meyering  <meyering@redhat.com>
37400
37401         maint.mk: requiring "make major" was annoying, for a "minor" release.
37402         What is intended is "stable", to contrast with alpha and beta,
37403         so require "make stable", not "make major".
37404         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37405         (get_tool_versions): Likewise.
37406         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37407
37408 2009-09-30  Ben Pfaff  <blp@gnu.org>
37409
37410         Fix broken build of replacement for Windows tmpfile().
37411         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37412         flags argument added along with the 'mkostemp' module.
37413
37414 2009-09-28  Bruno Haible  <bruno@clisp.org>
37415
37416         Avoid identifier clash with POSIX function 'remove' defined as a macro.
37417         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
37418         to 'remove_elt'.
37419         (gl_list_remove): Update.
37420         * lib/gl_list.c (gl_list_remove): Update.
37421         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
37422         to 'remove_elt'.
37423         (gl_oset_remove): Update.
37424         * lib/gl_list.c (gl_oset_remove): Update.
37425         Reported by Eric Blake.
37426
37427 2009-09-28  Eric Blake  <ebb9@byu.net>
37428
37429         doc: mention yet more cygwin 1.7 status
37430         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
37431         cygwin.
37432         * doc/glibc-functions/execvpe.texi (execvpe): New file.
37433         * doc/gnulib.texi (Glibc unistd.h): Mention it.
37434
37435         argp: fix test failure
37436         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
37437         that are not upper-case.  Pass correct range to tolower.
37438
37439 2009-09-27  Jim Meyering  <meyering@redhat.com>
37440
37441         test-yesno: work around sparc-dash here-document infelicity
37442         Without this change, the literal \177 byte in a here document
37443         would make dash 0.5.5.1-3 access uninitialized memory.
37444         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
37445         Instead, use a marker, "@", and filter through tr to create the desired
37446         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
37447
37448 2009-09-27  Bruno Haible  <bruno@clisp.org>
37449
37450         Disable untested support for new flavours of ACLs on AIX.
37451         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
37452         progress.
37453         * lib/set-mode-acl.c (qset_acl): Likewise.
37454
37455 2008-12-07  Bruno Haible  <bruno@clisp.org>
37456
37457         Add support for new flavours of ACLs on AIX. (Untested.)
37458         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
37459         (file_has_acl): Add support for newer AIX.
37460         * lib/set-mode-acl.c (qset_acl): Likewise.
37461         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
37462         Rainer Tammer <tammer@tammer.net>.
37463
37464 2009-09-26  Eric Blake  <ebb9@byu.net>
37465
37466         argp: fix compilation of getopt
37467         * lib/getopt.in.h (includes): Use different guard than glibc.
37468         Reported by Sergey Poznyakoff.
37469
37470         doc: mention more cygwin 1.7 status
37471         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
37472         bug.
37473         * doc/posix-functions/execl.texi (execl): Likewise.
37474         * doc/posix-functions/execle.texi (execle): Likewise.
37475         * doc/posix-functions/execlp.texi (execlp): Likewise.
37476         * doc/posix-functions/execv.texi (execv): Likewise.
37477         * doc/posix-functions/execve.texi (execve): Likewise.
37478         * doc/posix-functions/execvp.texi (execvp): Likewise.
37479         * doc/glibc-functions/canonicalize_file_name.texi
37480         (canonicalize_file_name): Cygwin 1.7 now provides this.
37481         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37482         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37483         on AT_SYMLINK_NOFOLLOW.
37484
37485 2009-09-24  Eric Blake  <ebb9@byu.net>
37486
37487         test-linkat: make test more robust
37488         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37489
37490         getopt: fix inclusion guards for cygwin
37491         * modules/getopt-posix (Depends-on): Add include-next.
37492         (Makefile.am): Substitute more items in replacement header.
37493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37494         <getopt.h>.
37495         * lib/getopt.in.h (includes): Use split inclusion guard, and
37496         prefer <getopt.h> over include <unistd.h> when one is present.
37497         (option): Also override name of 'struct option'.
37498
37499         same-inode: revert prior change; it is not yet ready
37500         * NEWS: Undo mention of this change.
37501         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37502         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37503         * lib/cycle-check.c (cycle_check): Likewise.
37504         * lib/same.c (same_name): Likewise.
37505         * lib/at-func2.c (at_func2): Likewise.
37506
37507 2009-09-23  Eric Blake  <ebb9@byu.net>
37508
37509         linkat: new module
37510         * modules/linkat: New file.
37511         * lib/at-func2.c (at_func2): Likewise.
37512         * lib/linkat.c (linkat): Likewise.
37513         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37514         * lib/openat-priv.h (at_func2): Add declaration.
37515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37516         * modules/unistd (Makefile.am): Substitute them.
37517         * lib/unistd.in.h (linkat): Declare it.
37518         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37519         * doc/posix-functions/linkat.texi (linkat): Likewise.
37520         * doc/posix-functions/link.texi (link): Tweak wording.
37521         * tests/test-link.c (main): Move guts...
37522         * tests/test-link.h (test_link): ...into new file.
37523         * modules/linkat-tests: New test.
37524         * tests/test-linkat.c: Likewise.
37525         * modules/link-tests (Files): Ship new file.
37526         (Depends-on): Add stdbool.
37527
37528         dirname: add library-safe mdir_name
37529         * lib/dirname.h (mdir_name): New prototype.
37530         * lib/dirname.c (dir_name): Move guts...
37531         (mdir_name): ...to new function that avoids xalloc_die.
37532
37533         fchdir: another mingw fix
37534         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37535         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37536         on mingw (where it has not yet been ported), and make it optional
37537         elsewhere.
37538         (_gl_register_fd): Use it.
37539
37540         same-inode: make SAME_INODE tri-state, to port to mingw
37541         * NEWS: Mention this change.
37542         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37543         st_ino always being 0.
37544         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37545         * lib/cycle-check.c (cycle_check): Likewise.
37546         * lib/same.c (same_name): Likewise.
37547
37548         lstat: avoid mingw compilation error
37549         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37550         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37551         lstat ourselves.
37552         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37553         was adequate.
37554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37555         the checks for lstat.
37556         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37557
37558         link: fix test failure on Solaris 9
37559         * lib/link.c (rpl_link): Don't assume link will catch bogus
37560         trailing slash on source.
37561
37562         test-symlinkat: enhance test
37563         * tests/test-readlink.c (main): Move guts...
37564         * tests/test-readlink.h (test_readlink): ...into new file.
37565         * tests/test-symlink.c (main): Move guts...
37566         * tests/test-symlink.h (test_symlink): ...into new file.
37567         * tests/test-symlinkat.c (main): Use new files for further
37568         coverage.
37569         (do_symlink, do_readlink): New helper functions.
37570         * modules/symlink-tests (Files): Ship new file.
37571         (Depends-on): Add stdbool.
37572         * modules/readlink-tests (Files): Ship new file.
37573         (Depends-on): Add stdbool.
37574         * modules/symlinkat-tests (Files): Use new files.
37575
37576 2009-09-23  Eric Blake  <ebb9@byu.net>
37577
37578         readlink: document portability issue with symlink length
37579         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37580         systems have bogus st_size on symlinks, and mention the
37581         areadlink-with-size module.
37582         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37583         * doc/posix-functions/readlink.texi (readlink): Mention the
37584         areadlink module, and ERANGE failure.
37585         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37586         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37587
37588         readlink: fix Solaris 9 bug with trailing slash
37589         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37590         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37591         * doc/posix-functions/readlink.texi (readlink): Document this.
37592         * modules/readlink-tests: New test.
37593         * tests/test-readlink.c: Likewise.
37594
37595         readlink: fix cygwin 1.5.x bug with return type
37596         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37597         * lib/unistd.in.h (readlink): Use ssize_t.
37598         * lib/readlink.c (readlink): Likewise.
37599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37600         * modules/unistd (Makefile.am): Substitute it.
37601         * lib/unistd.in.h (readlink): Declare replacement.
37602         * doc/posix-functions/readlink.texi (readlink): Document this.
37603
37604         symlink: use throughout gnulib
37605         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37606         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37607         symlink is not used.
37608         * modules/symlinkat (Depends-on): Add symlink.
37609         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37610         * modules/canonicalize-tests (Depends-on): Likewise.
37611         * modules/lstat-tests (Depends-on): Likewise.
37612         * modules/openat-tests (Depends-on): Likewise.
37613         * modules/remove-tests (Depends-on): Likewise.
37614         * modules/rmdir-tests (Depends-on): Likewise.
37615         * modules/unlink-tests (Depends-on): Likewise.
37616         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37617         * tests/test-canonicalize.c (symlink): Likewise.
37618         * tests/test-fstatat.c (symlink): Likewise.
37619         * tests/test-lstat.c (symlink): Likewise.
37620         * tests/test-remove.c (symlink): Likewise.
37621         * tests/test-rmdir.c (symlink): Likewise.
37622         * tests/test-unlink.c (symlink): Likewise.
37623         * tests/test-unlinkat.c (symlink): Likewise.
37624
37625         symlink: new module, for Solaris 9 bug
37626         * modules/symlink: New file.
37627         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37628         * lib/symlink.c: Likewise.
37629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37630         * modules/unistd (Makefile.am): Substitute them.
37631         * lib/unistd.in.h (symlink): Declare replacement.
37632         * MODULES.html.sh (File system functions): Mention it.
37633         * doc/posix-functions/symlink.texi (symlink): Likewise.
37634         * modules/symlink-tests: New test.
37635         * tests/test-symlink.c: Likewise.
37636
37637 2009-09-23  Bruno Haible  <bruno@clisp.org>
37638
37639         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37640         when needed.
37641         Test case: gnulib-tool --import --with-tests atexit inttypes.
37642         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37643
37644 2009-09-23  Bruno Haible  <bruno@clisp.org>
37645
37646         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37647         subcommand, not in a subshell.
37648
37649 2009-09-22  Eric Blake  <ebb9@byu.net>
37650
37651         unistd: sort replacement declarations
37652         * lib/unistd.in.h: Sort declarations.
37653
37654         open, openat: minor optimization
37655         * lib/open.c (open): If open succeeded, len is non-zero.
37656         * lib/openat.c (rpl_openat): Likewise.
37657
37658         link-follow: ensure correct result
37659         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37660         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37661         distinguish between possible failures.
37662
37663 2009-09-21  Eric Blake  <ebb9@byu.net>
37664
37665         fts: avoid compiler warning
37666         * lib/fts.c (dirent_inode_sort_may_be_useful)
37667         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37668
37669 2009-09-19  Bruno Haible  <bruno@clisp.org>
37670
37671         * lib/progreloc.c (canonicalize_file_name): New declaration.
37672
37673 2009-09-19  Eric Blake  <ebb9@byu.net>
37674
37675         link: fix quoting
37676         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37677
37678         openat: fix openat bugs on Solaris 9
37679         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37680         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37681         * modules/openat (Depends-on): Add open.
37682         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37683         * modules/fcntl-h (Makefile.am): Substitute it.
37684         * lib/fcntl.in.h (openat): Declare replacement.
37685         * doc/posix-functions/openat.texi (openat): Document this.
37686
37687         openat: move fstatat and unlinkat into correct files
37688         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37689         compiled.
37690         * lib/openat.c (fstatat, unlinkat): Move...
37691         * lib/fstatat.c (fstatat): ...into correct files.
37692         * lib/unlinkat.c (unlinkat): Likewise.
37693
37694         openat: fix unlinkat bugs on Solaris 9
37695         * lib/unlinkat.c (unlinkat): New file.
37696         * modules/openat (Depends-on): Add unlink.
37697         (Files): Distribute it.
37698         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37699         trailing slash behavior is broken.
37700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37701         * modules/unistd (Makefile.am): Substitute it.
37702         * lib/unistd.in.h (unlinkat): Declare replacement.
37703         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37704
37705         openat: fix fstatat bugs on Solaris 9
37706         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37707         stat.
37708         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37709
37710         test-unlinkat: enhance test, to expose Solaris 9 bug
37711         * tests/test-unlink.c (main): Factor guts...
37712         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37713         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37714         * tests/test-rmdir.c (main): Adjust caller.
37715         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37716         (unlinker): New helper function.
37717         (rmdirat): Enhance check.
37718         * modules/rmdir-tests (Depends-on): Add stdbool.
37719         * modules/unlink-tests (Depends-on): Likewise.
37720         (Files): Add test-unlink.h.
37721         * modules/openat-tests (Files): Likewise.
37722         (Depends-on): Add unlinkdir.
37723
37724         test-fstatat: new test, to expose Solaris 9 bugs
37725         * tests/test-stat.c (main): Factor guts...
37726         * tests/test-stat.h (test_stat_func): ...into new file.
37727         * tests/test-lstat.c (main): Factor guts...
37728         * tests/test-lstat.h (test_lstat_func): ...into new file.
37729         * tests/test-fstatat.c: New file.
37730         * modules/stat-tests (Files): Add test-stat.h.
37731         * modules/lstat-tests (Files): Add test-lstat.h.
37732         (Depends-on): Add stdbool.
37733         * modules/openat-tests (Depends-on): Add pathmax.
37734         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37735         (Makefile.am): Run new test.
37736
37737         remove: new module, for mingw and Solaris 9 bugs
37738         * modules/remove: New file.
37739         * lib/remove.c: Likewise.
37740         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37742         * modules/stdio (Makefile.am): Use them.
37743         * lib/stdio.in.h (remove): Declare replacement.
37744         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37745         * doc/posix-functions/remove.texi (remove): Likewise.
37746         * modules/remove-tests: New test.
37747         * tests/test-remove.c: Likewise.
37748
37749         unlink: new module, for Solaris 9 bug
37750         * modules/unlink: New file.
37751         * lib/unlink.c: Likewise.
37752         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37754         * modules/unistd (Makefile.am): Use them.
37755         * lib/unistd.in.h (stat): Declare replacement.
37756         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37757         * doc/posix-functions/unlink.texi (unlink): Likewise.
37758         * modules/unlink-tests: New test.
37759         * tests/test-unlink.c: Likewise.
37760
37761         lstat: fix Solaris 9 bug
37762         * lib/lstat.c (lstat): Also check for trailing slash on
37763         non-symlink, non-directories.  Use stat module to simplify logic.
37764         * doc/posix-functions/lstat.texi (lstat): Document it.
37765         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37766         (configure.ac): Check for symlink.
37767         * tests/test-lstat.c (main): Add more tests.
37768
37769         stat: add as dependency to other modules
37770         * modules/chown (Depends-on): Add stat.
37771         * modules/euidaccess (Depends-on): Likewise.
37772         * modules/fchdir (Depends-on): Likewise.
37773         * modules/isdir (Depends-on): Likewise.
37774         * modules/link (Depends-on): Likewise.
37775         * modules/lstat (Depends-on): Likewise.
37776         * modules/mkdir-p (Depends-on): Likewise.
37777         * modules/modechange (Depends-on): Likewise.
37778         * modules/open (Depends-on): Likewise.
37779         * modules/readlink (Depends-on): Likewise.
37780         * modules/same (Depends-on): Likewise.
37781
37782         stat: fix Solaris 9 bug
37783         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37784         slash.
37785         * lib/stat.c (rpl_stat): Work around it.
37786         * doc/posix-functions/stat.texi (stat): Update documentation.
37787
37788         stat: new module, for mingw bug
37789         * modules/stat: New file.
37790         * lib/stat.c: Likewise.
37791         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37792         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37793         * modules/sys_stat (Makefile.am): Use them.
37794         * lib/sys_stat.in.h (stat): Declare replacement.
37795         * lib/openat.c (fstatat): Deal with lstat and stat being function
37796         macros.
37797         * modules/openat (Depends-on): Add inline.
37798         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37799         * doc/posix-functions/stat.texi (stat): Likewise.
37800         * modules/stat-tests: New test.
37801         * tests/test-stat.c: Likewise.
37802
37803 2009-09-19  Jim Meyering  <meyering@redhat.com>
37804
37805         syntax-check: detect unnecessary inclusion of canonicalize.h
37806         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37807
37808 2009-09-19  Eric Blake  <ebb9@byu.net>
37809
37810         canonicalize-lgpl: adjust clients to use correct header
37811         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37812         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37813         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37814         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37815         * lib/progreloc.c (includes): Likewise.
37816
37817 2009-09-19  Jim Meyering  <meyering@redhat.com>
37818
37819         test-posixtm.c: correct a comment
37820         * tests/test-posixtm.c: Correct first-line comment.
37821         Spotted by Eric Blake.
37822
37823 2009-09-16  Jim Meyering  <meyering@redhat.com>
37824
37825         posixtm-tests: make T const-correct; add a test case
37826         * tests/test-posixtm.c (T): Declare const.
37827         Add a test for -(2^31+1).
37828         Remove useless can-succeed-only-in-2002 test.
37829
37830         posixtm-tests: adjust the sole failing test
37831         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37832         expected output matches what mktime now produces.  Cross-checked via
37833         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37834
37835         posixtm: move #ifdef'd tests into a new module
37836         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37837         * tests/test-posixtm.c: ... this new file.
37838         * modules/posixtm-tests: New module.
37839
37840 2009-09-19  Eric Blake  <ebb9@byu.net>
37841
37842         openat: simplify use of at-func.c
37843         * lib/at-func.c (includes): Include prerequisites here, to
37844         simplify requirements on client files.
37845         * lib/openat-priv.h: Add double-inclusion guard.
37846         * lib/faccessat.c (includes): Simplify.
37847         * lib/fchmodat.c (includes): Likewise.
37848         * lib/fchownat.c (includes): Likewise.
37849         * lib/mkdirat.c (includes): Likewise.
37850         * lib/mkfifoat.c (includes): Likewise.
37851         * lib/symlinkat.c (includes): Likewise.
37852
37853         openat: allow return of fd 0
37854         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37855         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37856         unistd-safer.
37857         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37858         <fcntl.h>; this module does not leak fds.
37859         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37860         must be allowed to return 0, leaving openat_safer to add the
37861         safety.
37862         (openat_permissive): Avoid writing to just-opened fd 2 if
37863         restoring the current directory fails.
37864         * lib/openat-die.c (openat_restore_fail): Add comment.
37865         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37866         (save_cwd): Guarantee safe fd, but without use of open_safer.
37867         * tests/test-openat.c: New test.
37868         * modules/openat-tests (Files, Makefile.am): Distribute and build
37869         new file.
37870
37871         relocatable-prog-wrapper: fix build
37872         * modules/relocatable-prog-wrapper (Files): Update name of
37873         canonicalize m4 file, broken on 2009-09-17.
37874         Reported by emad hajjar <aleppos@hotmail.com>.
37875
37876 2009-09-19  Bruno Haible  <bruno@clisp.org>
37877
37878         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37879         * lib/safe-alloc.c: Likewise.
37880         Reported by Ian Beckwith <ianb@erislabs.net>.
37881
37882 2009-09-18  Bruno Haible  <bruno@clisp.org>
37883
37884         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37885         Reported by <erobles@sensacd.com.mx>.
37886
37887 2009-09-17  Eric Blake  <ebb9@byu.net>
37888
37889         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37890         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37891         slashes when checking if last component is missing.
37892         * tests/test-canonicalize.c (main): Test this.
37893
37894         canonicalize, canonicalize-lgpl: honor // if distinct from /
37895         * modules/canonicalize (Files): Add double-slash-root.m4.
37896         * modules/canonicalize-lgpl (Files): Likewise.
37897         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37898         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37899         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37900         fallback definition.
37901         (canonicalize_filename_mode): Use it to protect //.
37902         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37903         (__realpath): Likewise.
37904         * tests/test-canonicalize.c (main): Test this.
37905         * tests/test-canonicalize-lgpl.c (main): Likewise.
37906         * modules/canonicalize-tests (Depends-on): Add same-inode.
37907         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37908
37909         canonicalize-lgpl: fix glibc bug with trailing slash
37910         * m4/canonicalize-lgpl.m4: Move contents...
37911         * m4/canonicalize.m4: ...here.
37912         (gl_CANONICALIZE_LGPL): Factor realpath check...
37913         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37914         glibc 2.3.5 bug, fixed 2005-04-27.
37915         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37916         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37917         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37918         * modules/canonicalize-lgpl (Files): Manage file rename.
37919         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37920         * modules/stdlib (Makefile.am): Substitute witness.
37921         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37922         is needed.
37923         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37924         replacement is required.
37925         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37926         * doc/glibc-functions/canonicalize_file_name.texi
37927         (canonicalize_file_name): Document this.
37928         * doc/posix-functions/realpath.texi (realpath): Likewise.
37929
37930         canonicalize-lgpl: reject non-directory with trailing slash
37931         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37932         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37933         catches failures in glibc 2.3.5.
37934         * tests/test-canonicalize.c (main): Likewise.
37935
37936         canonicalize-lgpl: use native realpath if it works
37937         * lib/canonicalize-lgpl.c (realpath): Guard with
37938         FUNC_REALPATH_WORKS.
37939         * lib/stdlib.in.h (realpath): Make declaration optional based on
37940         HAVE_REALPATH.
37941         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37942         native realpath works.
37943         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37944         * modules/stdlib (Makefile.am): Substitute witness.
37945
37946         canonicalize, canonicalize-lgpl: use <stdlib.h>
37947         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37948         (Include): Mention <stdlib.h>.
37949         (configure.ac): Mention functions we provide.
37950         * modules/canonicalize (configure.ac): Likewise.
37951         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37952         realpath if canonicalize_file_name is missing.
37953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37954         * modules/stdlib (Makefile.am): Substitute witnesses.
37955         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37956         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37957         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37958         * NEWS: Document this.
37959         * doc/glibc-functions/canonicalize_file_name.texi
37960         (canonicalize_file_name): Likewise.
37961         * doc/posix-functions/realpath.texi (realpath): Likewise.
37962         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37963
37964         test-canonicalize: consolidate into single C program
37965         * tests/test-canonicalize.sh: Delete; move setup into...
37966         * tests/test-canonicalize.c (main): ...the program, making it
37967         easier to run in debugger.  Add some tests.
37968         * modules/canonicalize-tests (Files): Remove unused file.
37969         (Depends-on): Add progname.
37970         (configure.ac, Makefile.am): Simplify.
37971
37972         test-canonicalize-lgpl: consolidate into single C program
37973         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37974         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37975         easier to run in debugger.  Add some tests.
37976         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37977         (configure.ac, Makefile.am): Simplify.
37978
37979         canonicalize: avoid resolvepath
37980         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37981         unnecessary checks.
37982         * lib/canonicalize.c (includes): Simplify.
37983         (canonicalize_file_name): Drop resolvepath implementation.
37984         * modules/canonicalize (Depends-on): Drop filenamecat.
37985
37986         canonicalize: don't lose errno
37987         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37988         over calls to free.
37989
37990         canonicalize: simplify errno handling
37991         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37992         assignment.
37993
37994         canonicalize, canonicalize-lgpl: update module dependencies
37995         * modules/canonicalize (Depends-on): Add extensions, lstat,
37996         pathmax, stdlib.
37997         (Files): Drop pathmax.h.
37998         (configure.ac): Adjust macro name.
37999         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38000         lstat, stdlib, sys_stat.
38001         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38002         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38003         extensions.
38004         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38005         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38006         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38007         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38008         declaration, if available.
38009         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38010         we can rely on the readlink module.
38011         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38012         (includes): Use <unistd.h> unconditionally.
38013
38014 2009-09-17  Eric Blake  <ebb9@byu.net>
38015
38016         maint: make Include sections of modules consistent
38017         * modules/alloca: Use only header name; no need to list #include.
38018         * modules/alloca-opt: Likewise.
38019         * modules/arpa_inet: Likewise.
38020         * modules/canon-host: Likewise.
38021         * modules/configmake: Likewise.
38022         * modules/dirent: Likewise.
38023         * modules/eealloc: Likewise.
38024         * modules/environ: Likewise.
38025         * modules/fchdir: Likewise.
38026         * modules/fcntl: Likewise.
38027         * modules/fcntl-h: Likewise.
38028         * modules/gethrxtime: Likewise.
38029         * modules/gettime: Likewise.
38030         * modules/ignore-value: Likewise.
38031         * modules/inet_ntop: Likewise.
38032         * modules/inet_pton: Likewise.
38033         * modules/inttypes: Likewise.
38034         * modules/isnand-nolibm: Likewise.
38035         * modules/isnanf-nolibm: Likewise.
38036         * modules/mbchar: Likewise.
38037         * modules/mbfile: Likewise.
38038         * modules/mbiter: Likewise.
38039         * modules/mbuiter: Likewise.
38040         * modules/netdb: Likewise.
38041         * modules/netinet_in: Likewise.
38042         * modules/nproc: Likewise.
38043         * modules/pagealign_alloc: Likewise.
38044         * modules/poll: Likewise.
38045         * modules/printf-frexp: Likewise.
38046         * modules/pthread: Likewise.
38047         * modules/putenv: Likewise.
38048         * modules/random_r: Likewise.
38049         * modules/relocatable-prog: Likewise.
38050         * modules/search: Likewise.
38051         * modules/select: Likewise.
38052         * modules/selinux-h: Likewise.
38053         * modules/settime: Likewise.
38054         * modules/signal: Likewise.
38055         * modules/size_max: Likewise.
38056         * modules/socklen: Likewise.
38057         * modules/ssize_t: Likewise.
38058         * modules/stdarg: Likewise.
38059         * modules/stdbool: Likewise.
38060         * modules/stddef: Likewise.
38061         * modules/stdint: Likewise.
38062         * modules/stdio: Likewise.
38063         * modules/stdlib: Likewise.
38064         * modules/string: Likewise.
38065         * modules/strings: Likewise.
38066         * modules/sys_file: Likewise.
38067         * modules/sys_ioctl: Likewise.
38068         * modules/sys_select: Likewise.
38069         * modules/sys_socket: Likewise.
38070         * modules/sys_stat: Likewise.
38071         * modules/sys_time: Likewise.
38072         * modules/sys_times: Likewise.
38073         * modules/sys_utsname: Likewise.
38074         * modules/sys_wait: Likewise.
38075         * modules/sysexits: Likewise.
38076         * modules/time: Likewise.
38077         * modules/times: Likewise.
38078         * modules/tmpfile: Likewise.
38079         * modules/trim: Likewise.
38080         * modules/unistd: Likewise.
38081         * modules/wchar: Likewise.
38082         * modules/wctype: Likewise.
38083
38084 2009-09-17  Bruno Haible  <bruno@clisp.org>
38085
38086         Make getdate.y compile on QNX and NetBSD 5 / i386.
38087         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38088         TIME_T_FITS_IN_LONG_INT.
38089         * lib/getdate.y (long_time_t): New type.
38090         (relative_time): Change type of 'seconds' field to long_time_t.
38091         (get_date): Update types of local variables. Check against overflow
38092         during conversion from long_time_t to time_t.
38093         Reported by Matt Kraai <kraai@ftbfs.org>
38094         and Hasso Tepper <hasso@netbsd.org>.
38095
38096 2009-09-17  Bruno Haible  <bruno@clisp.org>
38097
38098         * modules/COPYING: Update copyright years.
38099         * modules/README: Likeiwse.
38100         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38101         Reported by Ian Beckwith <ianb@erislabs.net>.
38102
38103 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38104
38105         * users.txt: Update references for gnuit package.
38106
38107 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38108
38109         * m4/getdelim.m4: Fix typo in copyright line.
38110
38111 2009-09-17  Bruno Haible  <bruno@clisp.org>
38112
38113         * lib/atoll.c: Use the standard header with GPL copyright.
38114         * lib/argz.in.h: Likewise.
38115         * lib/glob.c: Likewise.
38116         * lib/glob-libc.h: Likewise.
38117         * lib/random_r.c: Likewise.
38118         * lib/siglist.h: Likewise.
38119         * lib/strsignal.c: Likewise.
38120         Reported by Ian Beckwith <ianb@erislabs.net>.
38121
38122 2009-09-17  Eric Blake  <ebb9@byu.net>
38123
38124         rmdir: ensure correct dependency order
38125         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38126
38127 2009-09-17  Bruno Haible  <bruno@clisp.org>
38128
38129         Disable assertion that fails on NetBSD 5 / i386.
38130         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38131         Reported by Sam Steingold <sds@gnu.org>
38132         and Hasso Tepper <hasso@netbsd.org>.
38133
38134 2009-09-16  Eric Blake  <ebb9@byu.net>
38135
38136         unlinkdir: port to mingw
38137         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38138         on which no one can unlink a directory.
38139
38140         stdlib: sort witness names
38141         * modules/stdlib (Makefile.am): Sort replacements.
38142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38143         * lib/stdlib.in.h: Likewise.
38144
38145         parse-duration-tests: avoid link failure
38146         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38147         LIBINTL.
38148         Reported by Tom G. Christensen.
38149
38150         openat-tests: ensure unlinkat behaves like rmdir
38151         * tests/test-rmdir.c (main): Factor guts...
38152         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38153         * modules/rmdir-tests (Files): Ship new file.
38154         * modules/openat-tests: New test.
38155         * tests/test-unlinkat.c: Likewise.
38156
38157         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38158         * modules/rmdir-errno (Status, Notice): Now obsolete.
38159
38160         rmdir: work around cygwin 1.5.x and mingw bugs
38161         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38162         * lib/rmdir.c (rmdir): Work around it.
38163         * modules/rmdir (Status, Notice): No longer obsolete.
38164         (Files): Add dos.m4.
38165         (Depends-on): Add unistd.
38166         (configure.ac): Set witnesses.
38167         (License): Relax to LGPLv2+.
38168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38169         * modules/unistd (Makefile.am): Substitute witnesses.
38170         * lib/unistd.in.h (rmdir): Declare replacement.
38171         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38172         * modules/rmdir-tests: New tests.
38173         * tests/test-rmdir.c: Likewise.
38174
38175 2009-09-15  Eric Blake  <ebb9@byu.net>
38176
38177         fchdir: improve use of replacement functions
38178         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38179         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38180         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38181         REPLACE_CLOSEDIR.
38182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38183         * modules/sys_stat (Makefile.am): Substitute correct witness.
38184         * modules/dirent (Makefile.am): Likewise.
38185         * modules/unistd (Makefile.am): Likewise.
38186         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38187         * lib/unistd.in.h (dup): Likewise.
38188         * lib/sys_stat.in.h (fstat): Likewise.
38189
38190         maint: ignore gnulib-tool temp files
38191         * .gitignore: Ignore files created during gnulib-tool --test.
38192
38193 2009-09-13  Jim Meyering  <meyering@redhat.com>
38194
38195         posixtm: don't reject a time that specify "60" as the number of seconds
38196         * lib/posixtm.c (posixtime): The code to reject invalid dates
38197         would also reject a time specified with the .60 suffix.
38198         But POSIX allows that, in order to accommodate leap seconds.
38199         So don't reject it.
38200         (main): Adjust tests accordingly.
38201         * modules/posixtm (Depends-on): Add stpcpy.
38202
38203 2009-09-11  Jim Meyering  <meyering@redhat.com>
38204
38205         announce-gen: include [$release_type] in emitted Subject:
38206         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
38207         e.g., [stable] in the emitted Subject: line.
38208
38209 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38210
38211         Remove obsolete macros from several modules.
38212         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
38213         obsolete Autoconf macros with their modern counterparts.
38214         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
38215         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
38216         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
38217         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38218         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
38219         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38220         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38221         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38222         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
38223         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
38224         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
38225         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
38226         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
38227         * m4/sockets.m4 (gl_SOCKETS): Likewise.
38228         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
38229         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
38230         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
38231         * m4/time_r.m4 (gl_TIME_R): Likewise.
38232         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
38233         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
38234         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38235
38236         Fix copyright header in build-aux scripts.
38237         * build-aux/git-version-gen: Fix copyright header to match GPLv3
38238         recommendation.
38239         * build-aux/ncftpput-ftp: Likewise.
38240         * build-aux/update-copyright: Likewise.
38241
38242 2009-09-09  Eric Blake  <ebb9@byu.net>
38243
38244         test-link: allow Linux choice of errno
38245         * tests/test-link.c (main): Relax test for alternate error.
38246
38247         strndup: fix improper m4 caching
38248         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
38249         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
38250         (gl_PREREQ_STRNDUP): Delete.
38251         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
38252         * modules/string (Makefile.am): Substitute it.
38253         * lib/string.in.h (strndup): Modernize prototype.
38254
38255         getcwd: port to mingw
38256         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
38257         different from the POSIX assumptions made throughout the getcwd
38258         module; fortunately, the mingw getcwd does not need replacement.
38259         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
38260         * modules/getcwd-tests: New test.
38261         * tests/test-getcwd.c: Likewise.
38262
38263         link: fix platform bugs
38264         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
38265         * lib/link.c (link): Work around them.  Fix related mingw bug.
38266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
38267         * modules/unistd (Makefile.am): Substitute it.
38268         * lib/unistd.in.h (link): Declare replacement.
38269         * doc/posix-functions/link.texi (link): Document this.
38270         * modules/link (Depends-on): Add strdup-posix, sys_stat.
38271
38272         test-link: consolidate into single C program, test more cases
38273         * tests/test-link.sh: Delete.
38274         * tests/test-link.c: Test more error conditions.  Exposes bugs on
38275         at least Cygwin and Solaris.
38276         * modules/link-tests (Files): Remove unused file.
38277         (Depends-on): Add errno, sys_stat.
38278         (Makefile.am): Simplify.
38279
38280 2009-09-08  Bruno Haible  <bruno@clisp.org>
38281
38282         Work around towlower, towupper bug on mingw.
38283         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
38284         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
38285         * doc/posix-functions/towlower.texi: Mention the mingw bug.
38286         * doc/posix-functions/towupper.texi: Likewise.
38287         Reported by Eric Blake.
38288
38289 2009-09-08  Jim Meyering  <meyering@redhat.com>
38290
38291         build: don't try to run autoheader if we don't use it
38292         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
38293         is not used in configure.ac.
38294
38295 2009-09-08  Eric Blake  <ebb9@byu.net>
38296
38297         euidaccess: fix compilation error
38298         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
38299
38300         rawmemchr: relax license
38301         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
38302         okay.
38303         Reported by Jim Meyering.
38304
38305         mkfifoat: new module
38306         * modules/mkfifoat: New file.
38307         * lib/mkfifoat.c: Likewise.
38308         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38309         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38310         * modules/sys_stat (Makefile.am): Use them.
38311         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38312         * MODULES.html.sh (File system functions): Mention module.
38313         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38314         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38315         * modules/mkfifoat-tests: New test.
38316         * tests/test-mkfifoat.c: Likewise.
38317
38318         strchrnul: relax license
38319         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38320         okay.
38321         Reported by Jim Meyering.
38322
38323 2009-09-08  Eric Blake  <ebb9@byu.net>
38324
38325         fstatat: fix compilation on Solaris
38326         * lib/fstatat.c (includes): Add fcntl.h.
38327         Reported by Pádraig Brady.
38328
38329 2009-09-07  Eric Blake  <ebb9@byu.net>
38330
38331         rename: modernize replacement
38332         * modules/rename (Depends-on): Add stdio.
38333         (configure.ac): Declare witness.
38334         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38335         stdio take care of replacement.
38336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38337         * modules/stdio (Makefile.am): Substitute them.
38338         * lib/stdio.in.h (rename): Declare replacement.
38339         * lib/rename.c (includes): Allow cross-compilation to non-windows
38340         machines.
38341         * doc/posix-functions/rename.texi (rename): Improve
38342         documentation.
38343
38344         stdio: sort witness names
38345         * modules/stdio (Makefile.am): Sort replacements.
38346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38347         * lib/stdio.in.h: Likewise.
38348
38349         getcwd: minor cleanups
38350         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38351         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38352
38353         openat: provide more convenience names
38354         * modules/faccessat (configure.ac): Add C witness.
38355         * lib/unistd.in.h (readlinkat): Fix typo.
38356         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38357         convenience wrappers.
38358         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
38359         wrappers in syntax checks.
38360
38361 2009-09-06  Eric Blake  <ebb9@byu.net>
38362
38363         doc: fix comments in recent patches
38364         * lib/faccessat.c: Mention correct function.
38365         * lib/fchmodat.c: Likewise.
38366         * lib/fchownat.c: Likewise.
38367         * lib/symlinkat.c: Likewise.
38368         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
38369         constants.
38370
38371         faccessat, symlinkat: continue cleanup of previous patch
38372         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
38373         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38374         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
38375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
38376         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
38377         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38378         set.
38379
38380 2009-09-06  Bruno Haible  <bruno@clisp.org>
38381
38382         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38383         (fstatat): Declare if GNULIB_FSTATAT is set.
38384         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38385         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38386         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38387         * modules/fcntl-h (Files): Remove m4/openat.m4.
38388         * modules/sys_stat (Files): Remove m4/openat.m4.
38389         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38390         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38391         * modules/unistd (Files): Remove m4/openat.m4.
38392         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38393         GNULIB_OPENAT.
38394         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38395         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38396         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38397         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38398         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38399         gl_OPENAT_DEFAULTS.
38400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38401         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38402         Don't require gl_OPENAT_DEFAULTS.
38403         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38404         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38405         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38406         (gl_OPENAT_DEFAULTS): Remove macro.
38407
38408 2009-09-06  Bruno Haible  <bruno@clisp.org>
38409
38410         * modules/openat (configure.ac): Remove unneeded witness.
38411
38412 2009-09-06  Bruno Haible  <bruno@clisp.org>
38413
38414         Set errno to ENOSYS when a function is entirely unsupported.
38415         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
38416         EOPNOTSUPP.
38417         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38418         * modules/chown (Depends-on): Remove errno.
38419
38420 2009-09-06  Bruno Haible  <bruno@clisp.org>
38421
38422         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
38423
38424 2009-09-06  Bruno Haible  <bruno@clisp.org>
38425
38426         * lib/sys_stat.in.h: Fix preprocessor command indentation.
38427
38428 2009-09-06  Ben Pfaff  <blp@gnu.org>
38429             Bruno Haible  <bruno@clisp.org>
38430
38431         Work around a glibc bug in strtok_r.
38432         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
38433         Undefine if UNDEFINE_STRTOK_R is set.
38434         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
38435         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38436         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
38437         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
38438         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
38439         UNDEFINE_STRTOK_R.
38440         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
38441
38442 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
38443
38444         exclude: minor fix
38445         * lib/exclude.c: Include wctype.h
38446
38447 2009-09-06  Akim Demaille  <demaille@gostai.com>
38448
38449         bootstrap: improve error message
38450         * build-aux/bootstrap (find_tool): Upon failure, report the list
38451         of candidates.
38452         Honor the initial value of the envvar.
38453
38454 2009-09-05  Eric Blake  <ebb9@byu.net>
38455
38456         symlinkat: new module
38457         * modules/symlinkat: New file.
38458         * lib/symlinkat.c: Likewise.
38459         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
38460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38461         * modules/unistd (Makefile.am): Use them.
38462         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
38463         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
38464         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
38465         * MODULES.html.sh (File system functions): Mention module.
38466         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38467         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38468         * modules/symlinkat-tests: New test.
38469         * tests/test-symlinkat.c: Likewise.
38470
38471         test-openat-safer: add more checks
38472         * tests/test-openat-safer.c (main): Check more code paths.
38473
38474 2009-09-05  Jim Meyering  <meyering@redhat.com>
38475
38476         syntax-check: detect unnecessary inclusion of openat.h
38477         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
38478
38479 2009-09-05  Bruno Haible  <bruno@clisp.org>
38480
38481         Support towlower, towupper.
38482         * doc/posix-functions/towlower.texi: Mention module wctype.
38483         * doc/posix-functions/towupper.texi: Likewise.
38484         * lib/wctype.in.h (towlower, towupper): New functions.
38485         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38486         (ASSERT): New macro.
38487         (e): New variable.
38488         (main): Test also towlower, towupper. Test WEOF argument.
38489         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38490
38491 2009-09-05  Bruno Haible  <bruno@clisp.org>
38492
38493         Fix conversion behaviour when the input is invalid.
38494         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38495         mark occurring in first pass of indirect conversion.
38496         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38497         input.
38498         Found by clang's static analyzer.
38499
38500 2009-09-05  Bruno Haible  <bruno@clisp.org>
38501
38502         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38503         where direct conversion is possible.
38504
38505 2009-09-04  Eric Blake  <ebb9@byu.net>
38506
38507         openat: fail with ENOENT on empty name
38508         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38509         buffer.
38510
38511         link-follow: fix logic bug in prior patch
38512         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38513         reversed sense of yes and no in prior patch.  Avoid confusing
38514         compilation failure with desired semantics.
38515
38516         link-follow: accomodate mingw and cross-compilation
38517         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38518         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38519         cross-compilation results to -1, to make linkat easier to
38520         implement when cross-compiling.  Trivially support mingw.
38521         * modules/link-follow (configure.ac): Call new name.
38522         * NEWS: Mention this.
38523
38524 2009-09-03  Eric Blake  <ebb9@byu.net>
38525
38526         faccessat: compile replacement
38527         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38528         needed.
38529
38530         fts: fix compilation error
38531         * lib/fts.c (includes): Re-add "openat.h", for
38532         openat_needs_fchdir.
38533
38534         faccessat: new module
38535         * modules/faccessat: New file.
38536         * lib/faccessat.c: Likewise.
38537         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38539         * modules/unistd (Makefile.am): Use it.
38540         * lib/unistd.in.h (faccessat): Declare it.
38541         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38542         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38543         * MODULES.html.sh (File system functions): Mention it.
38544         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38545         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38546
38547         euidaccess: prefer POSIX over non-standard implementation
38548         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38549         * lib/euidaccess.c (euidaccess): Use it if available.
38550
38551         openat: make template easier to use
38552         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38553         AT_FUNC_F2 to be undefined.
38554         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38555         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38556         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38557         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38558         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38559         Likewise.
38560         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38561         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38562         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38563         Likewise.
38564
38565         openat: declare in POSIX headers
38566         * NEWS: Mention this.
38567         * modules/openat (configure.ac): Declare witnesses.
38568         (Depends-on): Add fcntl-h, sys_stat, unistd.
38569         (Include): Mention correct headers.
38570         * modules/fcntl-h (Depends-on): Add link-warning.
38571         (Files): Add openat.m4.
38572         (Makefile.am): Substitute witnesses.
38573         * modules/sys_stat (Files, Makefile.am): Likewise.
38574         * modules/unistd (Files, Makefile.am): Likewise.
38575         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38576         (gl_OPENAT_DEFAULTS): New macro.
38577         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38579         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38580         (SYS_STAT_H): Remove unused variable.
38581         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38582         * lib/fcntl--.h (includes): Remove unneeded header.
38583         * lib/openat-safer.c (includes): Likewise.
38584         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38585         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38586         appropriate headers.
38587         (__OPENAT_PREFIX): Delete.
38588         * lib/fcntl.in.h (openat): Provide declaration.
38589         (AT_FDCWD): Fix Solaris bug.
38590         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38591         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38592         * lib/fchmodat.c (includes):  Adjust to find declaration.
38593         * lib/fchownat.c (includes): Likewise.
38594         * lib/mkdirat.c (includes): Likewise.
38595         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38596         still visible.
38597
38598 2009-09-02  Eric Blake  <ebb9@byu.net>
38599
38600         errno: use consistently
38601         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38602         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38603         * lib/canonicalize.c (ELOOP): Likewise.
38604         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38605         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38606         * lib/lchown.c (EOPNOTSUPP): Likewise.
38607         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38608         * lib/savewd.c (ESTALE): Likewise.
38609         * lib/settime.c (ENOSYS): Likewise.
38610         * lib/utimens.c (ENOSYS): Likewise.
38611         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38612         * lib/chdir-safer.c (ELOOP): Likewise.
38613         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38614         * modules/c-stack (Depends-on): Add errno.
38615         * modules/canonicalize (Depends-on): Likewise.
38616         * modules/chdir-safer (Depends-on): Likewise.
38617         * modules/fdopendir (Depends-on): Likewise.
38618         * modules/inet_ntop (Depends-on): Likewise.
38619         * modules/inet_pton (Depends-on): Likewise.
38620         * modules/lchown (Depends-on): Likewise.
38621         * modules/openat (Depends-on): Likewise.
38622         * modules/savewd (Depends-on): Likewise.
38623         * modules/settime (Depends-on): Likewise.
38624         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38625
38626         fts: avoid leaking fds
38627         * modules/fts (Depends-on): Add cloexec.
38628         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38629         flag.
38630
38631         fts: make directory fds more robust
38632         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38633         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38634
38635         backupfile, chdir-long, fts, savedir: make safer
38636         * lib/backupfile.c (includes): Use "dirent--.h", since
38637         numbered_backup can write to stderr during readdir.
38638         * lib/savedir.c (includes): Likewise.
38639         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38640         emulation can write to stderr on failure.
38641         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38642         * lib/getcwd.c: Document why opendir_safer is unused.
38643         * lib/glob.c: Likewise.
38644         * lib/scandir.c: Likewise.
38645         * lib/openat-proc.c: Likewise, for open_safer.
38646         * modules/backupfile (Depends-on): Add dirent-safer.
38647         * modules/savedir (Depends-on): Likewise.
38648         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38649         * modules/chdir-long (Depends-on): Add openat-safer.
38650
38651         openat-safer: new module
38652         * modules/openat-safer: New file.
38653         * lib/openat-safer.c: Likewise.
38654         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38655         * lib/fcntl-safer.h (openat_safer): Declare.
38656         * lib/fcntl--.h (openat): Override.
38657         * MODULES.html.sh (File descriptor based I/O): Mention it.
38658         * lib/openat.h: Add double-inclusion guards.
38659         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38660         "fcntl--.h", so we can implement openat.
38661         * modules/openat-safer-tests: New test.
38662         * tests/test-openat-safer.c: New file.
38663
38664         dirent-safer: new module
38665         * modules/dirent-safer: New file.
38666         * lib/dirent--.h: Likewise.
38667         * lib/dirent-safer.h: Likewise.
38668         * lib/opendir-safer.c: Likewise.
38669         * m4/dirent-safer.m4: Likewise.
38670         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38671         * modules/dirent-safer-tests: New test.
38672         * tests/test-dirent-safer.c: New file.
38673         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38674
38675         fdopendir: optimize on mingw
38676         * lib/unistd.in.h (_gl_directory_name): New prototype.
38677         * lib/fchdir.c (_gl_directory_name): Implement it.
38678         (fchdir): Use it to simplify implementation.
38679         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38680         fchdir, when available, to avoid calling [f]chdir().
38681
38682         fdopendir: split into its own module
38683         * lib/openat.c (fdopendir): Move...
38684         * lib/fdopendir.c: ...into new file.
38685         * modules/fdopendir: New module.
38686         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38687         * modules/openat (Depends-on): Add fdopendir.
38688         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38689         fdopendir here.
38690         * modules/savedir (Depends-on): Only need fdopendir, not full
38691         openat.
38692         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38693         * lib/openat.h (fdopendir): Drop prototype.
38694         * lib/dirent.in.h (fdopendir): Provide prototype.
38695         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38696         * modules/dirent (Makefile.am): Substitute them.
38697         * MODULES.html.sh (File system functions): Mention it.
38698         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38699         * modules/fdopendir-tests: New file.
38700         * tests/test-fdopendir.c: Likewise.
38701
38702         fchdir: use more consistent macro convention
38703         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38704         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38705         REPLACE_FCHDIR, rather than relying on config.h macros.
38706         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38707         inside a single make-time REPLACE_FCHDIR block, rather than using
38708         the config.h FCHDIR_REPLACEMENT.
38709         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38710         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38711         Manage fstat replacement.
38712         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38713         REPLACE_FCHDIR.
38714         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38715         (Makefile.am): Substitute REPLACE_FCHDIR.
38716         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38717         FCHDIR_REPLACEMENT.
38718         * lib/dup-safer.c (dup_safer): Likewise.
38719         * lib/dup2.c (rpl_dup2): Likewise.
38720         * lib/dup3.c (rpl_dup3): Likewise.
38721         * lib/open.c (rpl_open): Likewise.
38722
38723         fchdir: simplify error handling, and support dup3
38724         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38725         stdbool, malloc-posix, realloc-posix.
38726         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38727         (ensure_dirs_slot): Return false on allocation failure.
38728         (rpl_dup2): Delete.
38729         (_gl_register_dup): New function.
38730         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38731         (_gl_register_fd): Close fd on allocation failure.
38732         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38733         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38734         prototype.
38735         (rpl_dup2_fchdir): Delete prototype.
38736         * lib/open.c (open): Update caller.
38737         * lib/dup2.c (dup2): Track fchdir metadata.
38738         * lib/dup3.c (dup3): Likewise.
38739         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38740         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38741
38742 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38743
38744         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38745         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38746         don't pass arguments to AC_OUTPUT.
38747
38748 2009-09-02  Bruno Haible  <bruno@clisp.org>
38749
38750         * modules/mkdtemp (License): Relicense under LGPLv2+.
38751         Reported by Paolo Bonzini.
38752
38753 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38754
38755         Replace uses of obsolete autoconf macros in Jim's modules.
38756         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38757         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38758         can evoke a warning from autoconf when run with -Wobsolete
38759         enabled.  They were declared obsolete for good reasons (see
38760         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38761         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38762         should not continue using the deprecated macros.
38763         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38764         obsolete Autoconf macros with modern counterparts.
38765         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38766         * m4/dos.m4 (gl_AC_DOS): Likewise.
38767         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38768         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38769         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38770         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38771         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38772         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38773         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38774         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38775         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38776         Likewise.
38777         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38778         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38779         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38780         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38781         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38782         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38783
38784 2009-09-01  Eric Blake  <ebb9@byu.net>
38785
38786         fchdir: fix off-by-one bug in previous patch
38787         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38788         (_gl_unregister_fd): Delete useless if.
38789
38790 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38791
38792         maint.mk: sort the list of syntax-check rules
38793         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38794         easier to get a sense of progress when the rules are run sequentially
38795         and take a long time.
38796
38797 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38798
38799         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38800         * modules/netinet_in: Likewise.
38801         * modules/sys_file: Likewise.
38802         * modules/sys_ioctl: Likewise.
38803         * modules/sys_select: Likewise.
38804         * modules/sys_socket: Likewise.
38805         * modules/sys_stat: Likewise.
38806         * modules/sys_time: Likewise.
38807         * modules/sys_times: Likewise.
38808         * modules/sys_utsname: Likewise.
38809         * modules/sys_wait: Likewise.
38810
38811 2009-09-01  Jim Meyering  <meyering@redhat.com>
38812
38813         fts: help ensure that return values are not ignored
38814         * lib/fts_.h (__GNUC_PREREQ): Define.
38815         (__attribute_warn_unused_result__): Define.
38816         (fts_children, fts_close, fts_open, fts_read): Declare with
38817         __attribute_warn_unused_result__.
38818
38819         fts: fts_close now fails also when closing a dir file descriptor fails
38820         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38821         and propagate to caller, along with errno.
38822
38823         announce-gen: correct formatting in --help output
38824         * build-aux/announce-gen (usage): Move the one-line description in
38825         --help output "up", to where it belongs, just after Usage:.
38826
38827 2009-08-31  Eric Blake  <ebb9@byu.net>
38828
38829         fchdir: port to mingw
38830         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38831         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38832         opened, then use a substitute.
38833         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38834         replacement.
38835         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38836         (_gl_register_fd): No need to check stat if open already filters
38837         all directories.
38838         (fchdir): Fix error condition to match POSIX.
38839         * modules/fchdir (Depends-on): Add sys_stat.
38840         * doc/posix-functions/open.texi (open): Document the limitation.
38841         * modules/fchdir-tests: New file.
38842         * tests/test-fchdir.c: Likewise.
38843
38844         canonicalize: allow cross-testing from cygwin to mingw
38845         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38846         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38847         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38848         Likewise.
38849         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38850         target does not support symlinks.
38851         * tests/test-canonicalize-lgpl.sh: Likewise.
38852
38853         chown: avoid compilation warning on mingw
38854         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38855         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38856         mingw.
38857         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38858         * modules/chown (Depends-on): Add errno.
38859
38860 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38861
38862         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38863         command.
38864
38865 2009-08-31  Jim Meyering  <meyering@redhat.com>
38866
38867         canonicalize: remove useless initialization
38868         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38869         initialization of local, "end".
38870
38871 2009-08-30  Bruno Haible  <bruno@clisp.org>
38872
38873         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38874         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38875         ENOSYS.
38876
38877 2009-08-30  Bruno Haible  <bruno@clisp.org>
38878
38879         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38880         /usr/xpg4/bin/tr when it exists.
38881         * tests/test-pipe-filter-gi1.sh: Likewise.
38882
38883 2009-08-30  Bruno Haible  <bruno@clisp.org>
38884
38885         Work around deficient /usr/bin/id program on Solaris.
38886         * tests/test-file-has-acl.sh (ID): New variable.
38887         * tests/test-set-mode-acl.sh (ID): Likewise.
38888         * tests/test-copy-acl.sh (ID): Likewise.
38889         * tests/test-copy-file.sh (ID): Likewise.
38890
38891 2009-08-30  Bruno Haible  <bruno@clisp.org>
38892
38893         New module 'xstriconveh'.
38894         * lib/xstriconveh.h: New file.
38895         * lib/xstriconveh.c: New file.
38896         * modules/xstriconveh: New file.
38897
38898 2009-08-30  Bruno Haible  <bruno@clisp.org>
38899
38900         Make it easier to use mem_cd_iconveh.
38901         * lib/striconveh.h (iconveh_t): New type.
38902         (iconveh_open, iconveh_close): New declarations.
38903         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38904         with a single 'const iconveh_t *' argument.
38905         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38906         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38907         with a single 'const iconveh_t *' argument.
38908         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38909         * tests/test-striconveh.c (main): Update.
38910         * NEWS: Mention the change.
38911
38912 2009-08-30  Bruno Haible  <bruno@clisp.org>
38913
38914         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38915         problem.
38916
38917 2009-08-30  Bruno Haible  <bruno@clisp.org>
38918
38919         Work around iconv_open problem on Solaris.
38920         * lib/iconv_open-solaris.gperf: New file.
38921         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38922         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38923         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38924         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38925         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38926         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38927
38928 2009-08-29  Jim Meyering  <meyering@redhat.com>
38929
38930         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38931         * top/maint.mk (cvs-check): Remove target; it was just an alias
38932         to the better-named vc-diff-check.
38933         (maintainer-distcheck): Remove rule.  It was used only from
38934         the (alpha/beta/major) target, and all of its commands but one
38935         were coreutils-specific.
38936         (vc-dist): Remove rule.
38937         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38938         Run vc-diff-check, not vc-dist.
38939         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38940
38941 2009-08-27  Bruno Haible  <bruno@clisp.org>
38942
38943         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38944         of 0.
38945
38946 2009-08-27  Bruno Haible  <bruno@clisp.org>
38947
38948         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38949         compilers.
38950         * doc/func.texi: Document the SunPRO C bug.
38951
38952 2009-08-27  Bruno Haible  <bruno@clisp.org>
38953
38954         Fix link error on Solaris.
38955         * tests/test-parse-duration.c (xstrdup): Remove function.
38956
38957 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38958
38959         ignore-value: handle pointer types, too
38960         * lib/ignore-value.h (__attribute__): Remove definition.
38961         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38962         of a more concise and more-often effective "(void) i" statement.
38963         (ignore_ptr): New function to suppress warnings from functions that
38964         return pointers, and to make it explicit that one function doesn't
38965         handle all cases.
38966
38967 2009-08-25  Bruno Haible  <bruno@clisp.org>
38968
38969         dup2: work around a Linux bug.
38970         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38971         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38972         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38973         Reported by Simon Josefsson.
38974
38975 2009-08-25  Jim Meyering  <meyering@redhat.com>
38976
38977         libguestfs uses gnulib
38978         * users.txt: Add libguestfs.
38979
38980 2009-08-24  Eric Blake  <ebb9@byu.net>
38981
38982         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38983         * lib/pipe2.c (includes): Add binary-io.h.
38984         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38985
38986 2009-08-24  Bruno Haible  <bruno@clisp.org>
38987
38988         Tolerate declared but missing accept4 syscall.
38989         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38990         available.
38991         * lib/sys_socket.in.h (accept4): If the function is already present,
38992         override it.
38993         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38994         * modules/accept4 (Makefile.am): Compile accept4.c always.
38995         Reported by Paolo Bonzini and Eric Blake.
38996
38997 2009-08-23  Bruno Haible  <bruno@clisp.org>
38998
38999         New module 'accept4'.
39000         * lib/sys_socket.in.h (accept4): New declaration.
39001         * lib/accept4.c: New file.
39002         * m4/accept4.m4: New file.
39003         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39004         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39005         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39006         HAVE_ACCEPT4.
39007         * modules/accept4: New file.
39008         * doc/glibc-functions/accept4.texi: Mention the new module.
39009
39010 2009-08-24  Jim Meyering  <meyering@redhat.com>
39011
39012         progname: also set global program_invocation_name, when possible
39013         Before this change, a libtool-enabled program that calls glibc's
39014         error function would report the program name as
39015         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39016         * modules/progname (configure.ac): Check for a declaration of
39017         program_invocation_name.
39018         * lib/progname.c:  Include <errno.h>.
39019         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39020         Set program_invocation_name.
39021
39022 2009-08-23  Bruno Haible  <bruno@clisp.org>
39023
39024         * lib/dup3.c: Include <string.h>.
39025
39026 2009-08-23  Bruno Haible  <bruno@clisp.org>
39027
39028         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39029         * lib/pipe2.c (pipe2): Likewise.
39030         Suggested by Eric Blake.
39031
39032 2009-08-23  Bruno Haible  <bruno@clisp.org>
39033
39034         Tolerate declared but missing dup3 syscall.
39035         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39036         * lib/unistd.in.h (dup3): If the function is already present,
39037         override it.
39038         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39039         * modules/dup3 (Makefile.am): Compile dup3.c always.
39040         Reported by Paolo Bonzini.
39041
39042 2009-08-23  Bruno Haible  <bruno@clisp.org>
39043
39044         Tolerate declared but missing pipe2 syscall.
39045         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39046         available.
39047         * lib/unistd.in.h (pipe2): If the function is already present,
39048         override it.
39049         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39050         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39051         Reported by Paolo Bonzini.
39052
39053 2009-08-23  Bruno Haible  <bruno@clisp.org>
39054
39055         * lib/pipe2.c (pipe2): Move #ifs inside function.
39056
39057 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39058
39059         quotearg: document limitations of quote_these_too
39060         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39061         those limitations are created.
39062         * lib/quotearg.h (set_char_quoting): Document that digits and
39063         letters that are special after backslash are not permitted.
39064         (quotearg_char): Cross-reference set_char_quoting documentation.
39065
39066 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39067
39068         quotearg: implement custom_quoting_style
39069         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39070         right_quote fields.
39071         (set_custom_quoting): New public function.
39072         (quotearg_buffer_restyled): Add left_quote and right_quote
39073         arguments, handle them very much like locale quoting, and update
39074         all uses.
39075         (quotearg_n_custom): New public function.
39076         (quotearg_n_custom_mem): New public function.
39077         (quotearg_custom): New public function.
39078         (quotearg_custom_mem): New public function.
39079         * lib/quotearg.h: Prototype and document new public functions.
39080         (enum quoting_style): For escape_quoting_style and
39081         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39082         ignored even though they're otherwise like c_quoting_style.
39083         Add custom_quoting_style member and document with comparison to
39084         clocale_quoting_style.
39085         * tests/test-quotearg.c (custom_quotes): New array.
39086         (custom_results): New array.
39087         (main): Extend to test custom quoting.
39088
39089 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39090
39091         quotearg: fix right quote escaping when it's in quote_these_too
39092         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39093         quote, be sure to prepend only one backslash.
39094         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39095         (main): Test it.
39096
39097 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39098
39099         quotearg-tests: test escaping of embedded locale quotes
39100         * tests/test-quotearg.c (struct result_strings): Add member for
39101         new input.
39102         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39103         (inputs): Add new input.
39104         (results_g): Add expected results.
39105         (flag_results): Likewise.
39106         (locale_results): Likewise.
39107         (compare_strings): Check those.
39108
39109 2009-08-23  Bruno Haible  <bruno@clisp.org>
39110
39111         Tests for module 'dup3'.
39112         * modules/dup3-tests: New file.
39113         * tests/test-dup3.c: New file.
39114
39115         New module 'dup3'.
39116         * lib/unistd.in.h (dup3): New declaration.
39117         * lib/dup3.c: New file.
39118         * m4/dup3.m4: New file.
39119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39120         HAVE_DUP3.
39121         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39122         * modules/dup3: New file.
39123         * doc/glibc-functions/dup3.texi: Mention the new module.
39124
39125 2009-08-23  Bruno Haible  <bruno@clisp.org>
39126
39127         Tweak the dup2 test.
39128         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39129         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39130         the test file is still empty. Fix argument order of lseek.
39131
39132 2009-08-23  Bruno Haible  <bruno@clisp.org>
39133
39134         Avoid test link errors when the modules getopt-gnu, gettext are used.
39135         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39137
39138 2009-08-23  Bruno Haible  <bruno@clisp.org>
39139
39140         Fix getdtablesize() on mingw.
39141         * lib/getdtablesize.c (getdtablesize): Implement differently.
39142         * lib/unistd.in.h (getdtablesize): Improve comment.
39143
39144 2009-08-23  Bruno Haible  <bruno@clisp.org>
39145
39146         New module 'mkostemp'.
39147         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39148         * lib/stdlib.in.h (mksotemp): New declaration.
39149         * lib/mkostemp.c: New file, from glibc with modifications.
39150         * lib/tempname.h (GT_FILE): Remove outdated comment.
39151         (gen_tempname): Add flags argument.
39152         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39153         (__GT_FILE): Map to 1.
39154         (small_open, large_open): Remove macros.
39155         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39156         * lib/mkstemp.c (mkstemp): Update.
39157         * lib/mkdtemp.c (mkdtemp): Likewise.
39158         * m4/mkostemp.m4: New file.
39159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39160         HAVE_MKOSTEMP.
39161         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39162         HAVE_MKOSTEMP.
39163         * modules/mkostemp: New file, based on modules/mkstemp.
39164         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39165         * NEWS: Mention the change.
39166
39167 2009-08-23  Bruno Haible  <bruno@clisp.org>
39168
39169         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39170         Reported by Eric Blake.
39171
39172 2009-08-23  Bruno Haible  <bruno@clisp.org>
39173
39174         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39175         Reported by Eric Blake.
39176
39177 2009-08-23  Bruno Haible  <bruno@clisp.org>
39178
39179         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39180         * modules/pipe2 (Depends-on): Likewise.
39181
39182 2009-08-23  Eric Blake  <ebb9@byu.net>
39183
39184         fcntl-h: add O_TTY_INIT support
39185         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39186         * tests/test-fcntl-h.c (o): Test it.
39187         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39188
39189         fcntl-h: rename from fcntl, in preparation for fcntl(2)
39190         * modules/fcntl: Move <fcntl.h> header replacement...
39191         * modules/fcntl-h: ...to new name, so as not to collide with
39192         like-named function.
39193         * tests/test-fcntl.c: Rename...
39194         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
39195         * modules/fcntl-tests: Rename...
39196         * modules/fcntl-h-tests: ...to this.  Update test file name.
39197         * modules/chdir-long (Depends-on): Update clients.
39198         * modules/chdir-safer (Depends-on): Likewise.
39199         * modules/fcntl-safer (Depends-on): Likewise.
39200         * modules/fts (Depends-on): Likewise.
39201         * modules/mkancesdirs (Depends-on): Likewise.
39202         * modules/mkdir-p (Depends-on): Likewise.
39203         * modules/open (Depends-on): Likewise.
39204         * modules/savewd (Depends-on): Likewise.
39205         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
39206         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39207
39208 2009-08-22  Bruno Haible  <bruno@clisp.org>
39209
39210         * modules/binary-io (License): Relicense under LGPL.
39211         * modules/pipe2 (License): Likewise.
39212
39213 2009-08-22  Bruno Haible  <bruno@clisp.org>
39214
39215         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
39216         return value.
39217         * lib/pipe-filter-gi.c (filter_init): Likewise.
39218         Reported by Eric Blake.
39219
39220 2009-08-22  Bruno Haible  <bruno@clisp.org>
39221
39222         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
39223         * modules/pipe (Depends-on): Add pipe2.
39224
39225 2009-08-22  Bruno Haible  <bruno@clisp.org>
39226
39227         Tests for module 'pipe2'.
39228         * modules/pipe2-tests: New file.
39229         * tests/test-pipe2.c: New file.
39230
39231         New module 'pipe2'.
39232         * lib/unistd.in.h (pipe2): New declaration.
39233         * lib/pipe2.c: New file.
39234         * m4/pipe2.m4: New file.
39235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
39236         HAVE_PIPE2.
39237         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
39238         * modules/pipe2: New file.
39239         * doc/glibc-functions/pipe2.texi: Mention the new module.
39240
39241 2009-08-22  Bruno Haible  <bruno@clisp.org>
39242
39243         Reference some new glibc functions.
39244         * doc/glibc-functions/accept4.texi: New file.
39245         * doc/glibc-functions/dup3.texi: New file.
39246         * doc/glibc-functions/mkostemp.texi: New file.
39247         * doc/glibc-functions/pipe2.texi: New file.
39248         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
39249         (Glibc sys/socket.h): Refer to accept4.
39250         (Glibc unistd.h): Refer to dup3, pipe2.
39251         Reported by Eric Blake.
39252
39253 2009-08-22  Jim Meyering  <meyering@redhat.com>
39254             Bruno Haible  <bruno@clisp.org>
39255
39256         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
39257         This makes it so packages using automake-1.11's silent-rules option
39258         can print e.g., a single "GEN    configmake.h" line, rather than
39259         the 30+ statements that perform the job.  If you want to see the
39260         actual commands, you can still run "make V=1".
39261         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
39262         so that make output is abbreviated when those variables are defined
39263         appropriately.
39264         * modules/argz: Likewise.
39265         * modules/arpa_inet: Likewise.
39266         * modules/byteswap: Likewise.
39267         * modules/configmake: Likewise.
39268         * modules/dirent: Likewise.
39269         * modules/errno: Likewise.
39270         * modules/fcntl: Likewise.
39271         * modules/float: Likewise.
39272         * modules/fnmatch: Likewise.
39273         * modules/getopt-posix: Likewise.
39274         * modules/glob: Likewise.
39275         * modules/iconv_open: Likewise.
39276         * modules/inttypes: Likewise.
39277         * modules/localcharset: Likewise.
39278         * modules/locale: Likewise.
39279         * modules/math: Likewise.
39280         * modules/netdb: Likewise.
39281         * modules/netinet_in: Likewise.
39282         * modules/poll: Likewise.
39283         * modules/posix_spawnp-tests: Likewise.
39284         * modules/sched: Likewise.
39285         * modules/search: Likewise.
39286         * modules/selinux-h: Likewise.
39287         * modules/signal: Likewise.
39288         * modules/spawn: Likewise.
39289         * modules/stdarg: Likewise.
39290         * modules/stdbool: Likewise.
39291         * modules/stddef: Likewise.
39292         * modules/stdint: Likewise.
39293         * modules/stdio: Likewise.
39294         * modules/stdlib: Likewise.
39295         * modules/string: Likewise.
39296         * modules/strings: Likewise.
39297         * modules/sys_file: Likewise.
39298         * modules/sys_ioctl: Likewise.
39299         * modules/sys_select: Likewise.
39300         * modules/sys_socket: Likewise.
39301         * modules/sys_stat: Likewise.
39302         * modules/sys_time: Likewise.
39303         * modules/sys_times: Likewise.
39304         * modules/sys_utsname: Likewise.
39305         * modules/sys_wait: Likewise.
39306         * modules/sysexits: Likewise.
39307         * modules/time: Likewise.
39308         * modules/unistd: Likewise.
39309         * modules/wchar: Likewise.
39310         * modules/wctype: Likewise.
39311
39312 2009-08-22  Jim Meyering  <meyering@redhat.com>
39313
39314         announce-gen: detect write failure
39315         * build-aux/announce-gen: Add Coda at end.
39316         Remove equivalent-but-more-verbose block at top.
39317
39318 2009-08-19  Akim Demaille  <demaille@gostai.com>
39319
39320         bootstrap: --help to stdout.
39321         * bootstrap (usage): Don't send --help to stderr.
39322         Use a here doc instead of a long string.
39323
39324 2009-08-21  Eric Blake  <ebb9@byu.net>
39325
39326         test-popen-safer: split from test-popen
39327         * tests/test-popen.c (main): Move...
39328         * tests/test-popen.h: ...into new file.
39329         * tests/test-popen-safer2.c: New file.
39330         * modules/popen-tests (Files): Add test-popen.h.
39331         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39332         Suggested by Bruno Haible.
39333
39334         test-fcntl-safer: split from test-open
39335         * tests/test-open.c (main): Move...
39336         * tests/test-open.h: ...into new file.
39337         * tests/test-fcntl-safer.c: New file.
39338         * modules/open-tests (Files): Add test-open.h.
39339         * modules/fcntl-safer-tests: New file.
39340         Suggested by Bruno Haible.
39341
39342         test-fopen-safer: split from test-fopen
39343         * tests/test-fopen.c (main): Move...
39344         * tests/test-fopen.h: ...into new file.
39345         * tests/test-fopen-safer.c: New file.
39346         * modules/fopen-tests (Files): Add test-fopen.h.
39347         * modules/fopen-safer-tests: New file.
39348         Suggested by Bruno Haible.
39349
39350 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39351
39352         popen-safer: test O_CLOEXEC at run-time.
39353         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39354
39355 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39356
39357         fcntl: move more flags to the header
39358         * lib/cloexec.c: Do not define FD_CLOEXEC here.
39359         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
39360         * lib/fcntl.in.h: Do both things here.
39361
39362 2009-08-21  Jim Meyering  <meyering@redhat.com>
39363
39364         consistently remove $@-t before redirecting to it
39365         * modules/argz: Remove $@-t and $@ before redirecting to the former.
39366         * modules/alloca-opt: Likewise.
39367         * modules/byteswap: Likewise.
39368         * modules/fnmatch: Likewise.
39369         * modules/getopt-posix: Likewise.
39370         * modules/glob: Likewise.
39371         * modules/poll: Likewise.
39372         * modules/posix_spawnp-tests: Likewise.
39373         * modules/sys_socket: Likewise.
39374         * modules/sysexits: Likewise.
39375
39376 2009-08-21  Eric Blake  <ebb9@byu.net>
39377
39378         popen: simplify access to original popen
39379         * lib/popen.c (rpl_popen): No need to worry about popen being a
39380         macro.
39381         Reported by Bruno Haible.
39382
39383 2009-08-20  Eric Blake  <ebb9@byu.net>
39384
39385         build: avoid some compiler warnings
39386         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39387         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39388         type.
39389         (new_exclude_segment, excluded_file_pattern_p)
39390         (excluded_file_name_p): Reduce scope.
39391         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39392         old-style declaration.
39393
39394 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39395
39396         * tests/test-exclude1.sh: Handle Windows EOL.
39397         * tests/test-exclude2.sh: Likewise.
39398         * tests/test-exclude3.sh: Likewise.
39399         * tests/test-exclude4.sh: Likewise.
39400         * tests/test-exclude5.sh: Likewise.
39401         * tests/test-exclude6.sh: Likewise.
39402         * tests/test-exclude7.sh: Likewise.
39403
39404 2009-08-19  Akim Demaille  <demaille@gostai.com>
39405
39406         bootstrap: find sha1sum when named gsha1sum.
39407         * bootstrap (find_tool): New.
39408         ($SHA1SUM): New.
39409         Use it.
39410
39411 2009-08-20  Jim Meyering  <meyering@redhat.com>
39412
39413         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
39414         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
39415         expression that converts "." in a file name to "\." in the resulting
39416         regexp.  Start with a dummy statement, so that prior shell variable
39417         definitions are expanded portably.  Reported by Simon Josefsson.
39418
39419 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
39420
39421         Fix polling for writeability of a screen buffer.
39422         * lib/poll.c: Distinguish input and screen buffers for the
39423         Win32 implementation.
39424         * lib/select.c: Likewise.
39425
39426 2009-08-19  Eric Blake  <ebb9@byu.net>
39427
39428         popen-safer: prevent popen from clobbering std descriptors
39429         * modules/popen-safer: New file.
39430         * lib/popen-safer.c: Likewise.
39431         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
39432         * lib/stdio--.h (popen): Provide override.
39433         * lib/stdio-safer.h (popen_safer): Provide declaration.
39434         * tests/test-popen.c (includes): Partially test this.
39435         * modules/popen-safer-tests: New file, for more tests.
39436         * tests/test-popen-safer.c: Likewise.
39437         * MODULES.html.sh (file stream based Input/Output): Mention it.
39438
39439         tests: test some of the *-safer modules
39440         * modules/fopen-safer (Depends-on): Add fopen.
39441         * modules/fcntl-safer (Depends-on): Add fcntl.
39442         * modules/stdlib-safer (Depends-on): Add stdlib.
39443         (configure.ac): Set indicator.
39444         * modules/unistd-safer (configure.ac): Likewise.
39445         * modules/tmpfile-safer (configure.ac): Likewise.
39446         (Depends-on): Add tmpfile.
39447         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
39448         active.
39449         * tests/test-fopen.c (includes): Test safer versions when they are
39450         in use.
39451         * tests/test-open.c (includes): Likewise.
39452
39453         popen: fix cygwin 1.5 bug when stdin closed
39454         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
39455         * modules/popen: New file.
39456         * modules/popen-tests: Likewise.
39457         * tests/test-popen.c: Likewise.
39458         * m4/popen.m4: Likewise.
39459         * lib/popen.c: Likewise.
39460         * lib/stdio.in.h (popen): New declaration.
39461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
39462         * modules/stdio (Makefile.am): Likewise.
39463         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
39464
39465 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
39466
39467         maint.mk: give full control over update-copyright exclusions
39468         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
39469         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
39470         (update-copyright): Don't force inclusion of top-level
39471         ChangeLog.  Don't force exclusion of all COPYING files, but make
39472         them the default exclusion instead.
39473
39474 2009-08-16  Bruno Haible  <bruno@clisp.org>
39475
39476         Fix test failures on Solaris 10.
39477         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
39478         tests when Solaris iconv() is used.
39479         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39480         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39481         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39482         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39483         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39484
39485 2009-08-16  Bruno Haible  <bruno@clisp.org>
39486
39487         Fix test failures on Solaris 10.
39488         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39489         'tr' program and pass it as first argument.
39490         * tests/test-pipe-filter-gi1.sh: Likewise.
39491         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39492         program as first argument.
39493         * tests/test-pipe-filter-gi1.c (main): Likewise.
39494
39495 2009-08-16  Eric Blake  <ebb9@byu.net>
39496
39497         fpurge: fix previous commits
39498         * modules/fpurge (Makefile.am): Make replacement conditional,
39499         partially reverting 2007-04-29 change; missed in previous
39500         attempt.
39501         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39502         is missing.
39503
39504 2009-08-16  Bruno Haible  <bruno@clisp.org>
39505
39506         Clarify fpurge's effect on the file position.
39507         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39508         * tests/test-fpurge.c (main): Make a second pass for checking the file
39509         position.
39510
39511 2009-08-16  Bruno Haible  <bruno@clisp.org>
39512
39513         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39514         declaration of fpurge is missing.
39515         * tests/test-fpurge.c (main): Check that the file has not more contents
39516         than expected. Close the file before removing it.
39517
39518 2009-08-15  Eric Blake  <ebb9@byu.net>
39519
39520         fpurge: don't wrap working cygwin implementation
39521         * lib/fpurge.c (fpurge): Fix comment typo.
39522         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39523         1.7 to avoid replacement.
39524         * tests/test-fpurge.c (main): Enhance test.
39525
39526 2009-08-15  Eric Blake  <ebb9@byu.net>
39527         and Jim Meyering  <meyering@redhat.com>
39528
39529         test-update-copyright: skip if perl is insufficient
39530         * tests/test-update-copyright.sh: Failure to run maintainer tool
39531         should not cause testsuite failure on cygwin 1.5.
39532
39533 2009-08-14  Eric Blake  <ebb9@byu.net>
39534
39535         doc: mention more functions added in cygwin 1.7.0
39536         * doc/posix-headers/limits.texi (limits.h): Update for recent
39537         cygwin additions.
39538         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39539         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39540         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39541         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39542         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39543
39544 2009-08-14  Eric Blake  <ebb9@byu.net>
39545
39546         maint.mk: simplify update-copyright rule
39547         * top/maint.mk (update-copyright-local): Delete, and document how
39548         to do it in cfg.mk instead.
39549         (update-copyright-exclude-regexp): Delete, and document how to do
39550         it in .x-update-copyright instead.
39551         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39552         exclude ChangeLog.
39553
39554 2009-08-14  Bruno Haible  <bruno@clisp.org>
39555
39556         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39557
39558 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39559
39560         maint.mk: support update-copyright-env
39561         * top/maint.mk (update-copyright-env): Define place-holder.
39562         (update-copyright): Expand $(update-copyright-env) before
39563         invoking update-copyright.
39564
39565 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39566
39567         update-copyright: implement forced reformatting
39568         * build-aux/update-copyright: Implement and document
39569         UPDATE_COPYRIGHT_FORCE.
39570         * tests/test-update-copyright.sh: Test it.
39571
39572 2009-08-14  Eric Blake  <ebb9@byu.net>
39573         and Bruno Haible  <bruno@clisp.org>
39574
39575         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39576         * tests/test-locale.c: Revert previous patch related to NULL.
39577         * tests/test-stdio.c: Likewise.
39578         * tests/test-stdlib.c: Likewise.
39579         * tests/test-string.c: Likewise.
39580         * tests/test-unistd.c: Likewise.
39581         * modules/time-tests (Depends-on): Add verify.
39582         * modules/wchar-tests (Depends-on): Likewise.
39583         * tests/test-time.c: Test for NULL compliance.
39584         * tests/test-wchar.c: Likewise.
39585         * modules/locale (Depends-on): Add stddef.
39586         * modules/stdio (Depends-on): Likewise.
39587         * modules/stdlib (Depends-on): Likewise.
39588         * modules/string (Depends-on): Likewise.
39589         * modules/time (Depends-on): Likewise.
39590         * modules/unistd (Depends-on): Likewise.
39591         * modules/wchar (Depends-on): Likewise.
39592         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39593         * lib/stdlib.in.h (includes): Likewise.
39594         * lib/string.in.h (includes): Likewise.
39595         * lib/time.in.h (includes): Likewise.
39596         * lib/unistd.in.h (includes): Likewise.
39597         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39598         replaced.
39599         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39600         * m4/stddef_h.m4: New file.
39601         * modules/stddef: Likewise.
39602         * lib/stddef.in.h: Likewise.
39603         * modules/stddef-tests: Likewise.
39604         * tests/test-stddef.c: Likewise.
39605         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39606         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39607         * doc/posix-headers/locale.texi (locale.h): Likewise.
39608         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39609         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39610         * doc/posix-headers/string.texi (string.h): Likewise.
39611         * doc/posix-headers/time.texi (time.h): Likewise.
39612         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39613         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39614
39615 2009-08-14  Eric Blake  <ebb9@byu.net>
39616
39617         doc: improve git diff of texinfo files
39618         * .gitattributes: Add rule for *.texi files, with hint on how to
39619         use it.
39620         Copied from m4, and based on a report by Bruno Haible.
39621
39622 2009-08-14  Bruno Haible  <bruno@clisp.org>
39623
39624         Disable multithread support by default on Cygwin 1.5.x for real.
39625         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39626
39627 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39628
39629         update-copyright: much ado about intervals
39630         * build-aux/update-copyright: Implement and document
39631         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39632         of copyright year intervals.
39633         Also, document UPDATE_COPYRIGHT_YEAR.
39634         * tests/test-update-copyright.sh: Test it.
39635
39636         update-copyright: convert 2-digit to 4-digit years
39637         * build-aux/update-copyright: Implement and document.
39638         * tests/test-update-copyright.sh: Update.
39639
39640 2009-08-14  Jim Meyering  <meyering@redhat.com>
39641
39642         test-exclude: avoid coreutils "make check" failure
39643         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39644         just as in test-argmatch.c.
39645
39646 2009-08-13  Eric Blake  <ebb9@byu.net>
39647
39648         test-dup2: fix bad assumption
39649         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39650         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39651
39652         test-version-etc: fix CRLF portability issue
39653         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39654         recognize \r.
39655         * tests/test-argp-version-etc-1.sh: Likewise.
39656
39657         getopt: update client modules
39658         * modules/argp (Depends-on): Use getopt-gnu.
39659         * modules/git-merge-changelog (Depends-on): Likewise.
39660         * modules/long-options (Depends-on): Likewise.
39661         * modules/xstrtol (Depends-on): Likewise.
39662
39663 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39664
39665         * tests/test-version-etc.sh: Don't fail on different
39666         project/version.  Don't fail on CRLF differences.  Rewrite to use
39667         multiple -e instead of multiple sed forks, suggested by Eric Blake
39668         <ebb9@byu.net>.
39669         * tests/test-argp-version-etc-1.sh: Likewise.
39670
39671 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39672
39673         * tests/test-version-etc.sh: Don't fail on different
39674         project/version.
39675
39676 2009-08-12  Bruno Haible  <bruno@clisp.org>
39677
39678         Tests for modules 'getopt-posix', 'getopt-gnu'.
39679         * modules/getopt-posix-tests: New file.
39680         * tests/test-getopt.c: New file.
39681         * tests/test-getopt.h: New file.
39682         * tests/test-getopt_long.h: New file.
39683
39684         New modules 'getopt-posix', 'getopt-gnu'.
39685         * modules/getopt-gnu: New file, renamed from modules/getopt.
39686         * modules/getopt-posix: New file.
39687         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39688         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39689         (gl_GETOPT): Remove macro.
39690         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39691         Disable the test against BSD systems that declare optreset. Test
39692         against mingw bug. Test against lack of support of optional arguments
39693         on many platforms.
39694         * doc/glibc-headers/getopt.texi: Update module name and list of
39695         relevant platforms.
39696         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39697         'getopt-gnu' and more portability problems.
39698         * NEWS: Mention the changes.
39699
39700 2009-08-12  Bruno Haible  <bruno@clisp.org>
39701
39702         Ensure that optarg etc. get declared by <unistd.h>.
39703         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39704         AC_USE_SYSTEM_EXTENSIONS.
39705         * modules/getopt (Depends-on): Add 'extensions'.
39706
39707 2009-08-12  Bruno Haible  <bruno@clisp.org>
39708
39709         Avoid test link errors.
39710         * modules/pipe-filter-ii-tests (Makefile.am): Define
39711         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39712         * modules/pipe-filter-gi-tests (Makefile.am): Define
39713         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39714         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39715
39716 2009-08-12  Bruno Haible  <bruno@clisp.org>
39717
39718         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39719         gl_GETOPT_SUBSTITUTE before.
39720         (gl_GETOPT): Use it.
39721         * m4/argp.m4 (gl_ARGP): Update.
39722         Reported by Sergey Poznyakoff.
39723
39724         * m4/getopt.m4: Reorder macros.
39725         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39726         (gl_GETOPT_SUBSTITUTE): Remove macro.
39727
39728 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39729
39730         Minor improvement in gitlog-to-changelog
39731
39732         * build-aux/gitlog-to-changelog: New option `--format' makes
39733         output format string configurable.
39734
39735 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39736
39737         Optimize exclude: use hash tables for non-wildcard patterns.
39738
39739         * lib/exclude.c: Include hash.h and mbuiter.h
39740         (struct exclude_pattern, exclude_segment): New data types.
39741         (struct exclude): Rewrite.
39742         (fnmatch_pattern_has_wildcards): New function.
39743         (new_exclude_segment, free_exclude_segment): New functions.
39744         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39745         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39746         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39747         * modules/exclude: Depend on hash and mbuiter.
39748
39749         * modules/exclude-tests: New file.
39750         * tests/test-exclude.c: New file.
39751         * tests/test-exclude1.sh: New file.
39752         * tests/test-exclude2.sh: New file.
39753         * tests/test-exclude3.sh: New file.
39754         * tests/test-exclude4.sh: New file.
39755         * tests/test-exclude5.sh: New file.
39756         * tests/test-exclude6.sh: New file.
39757         * tests/test-exclude7.sh: New file.
39758
39759 2009-08-12  Bruno Haible  <bruno@clisp.org>
39760
39761         Ensure that getopt() gets declared by <unistd.h>.
39762         * lib/unistd.in.h: Conditionally include getopt.h.
39763         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39764         Set GNULIB_UNISTD_H_GETOPT.
39765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39766         GNULIB_UNISTD_H_GETOPT.
39767         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39768
39769 2009-08-12  Bruno Haible  <bruno@clisp.org>
39770
39771         Clarify logic.
39772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39773         gl_replace_getopt instead of GETOPT_H.
39774
39775 2009-08-12  Bruno Haible  <bruno@clisp.org>
39776
39777         * m4/getopt.m4: Add comments.
39778
39779 2009-08-12  Bruno Haible  <bruno@clisp.org>
39780
39781         Disable multithread support by default on Cygwin 1.5.x.
39782         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39783         set gl_use_threads=no if not specified otherwise.
39784
39785 2009-08-11  Bruno Haible  <bruno@clisp.org>
39786
39787         Avoid compilation error on NetBSD 5.0.
39788         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39789         * tests/test-stdio.c: Likewise.
39790         * tests/test-stdlib.c: Likewise.
39791         * tests/test-string.c: Likewise.
39792         * tests/test-unistd.c: Likewise.
39793         Reported by Greg Troxel <gdt@ir.bbn.com>
39794         at <https://savannah.gnu.org/support/?106973>.
39795
39796 2009-08-11  Bruno Haible  <bruno@clisp.org>
39797
39798         * modules/dup2-tests (Depends-on): Remove close.
39799
39800         Undo 2009-07-19 commit.
39801         * modules/acl-tests (Depends-on): Remove close.
39802         * modules/binary-io-tests (Depends-on): Likewise.
39803         * modules/closein-tests (Depends-on): Likewise.
39804         * modules/flock-tests (Depends-on): Likewise.
39805         * modules/fsync-tests (Depends-on): Likewise.
39806         * modules/lseek-tests (Depends-on): Likewise.
39807         * modules/pipe-tests (Depends-on): Likewise.
39808         * modules/posix_spawn-tests (Depends-on): Likewise.
39809         * modules/posix_spawnp-tests (Depends-on): Likewise.
39810         * modules/stat-time-tests (Depends-on): Likewise.
39811         * modules/yesno-tests (Depends-on): Likewise.
39812
39813 2009-08-10  Bruno Haible  <bruno@clisp.org>
39814
39815         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39816
39817 2009-08-10  Bruno Haible  <bruno@clisp.org>
39818
39819         Fix a gcc warning.
39820         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39821
39822 2009-08-10  Bruno Haible  <bruno@clisp.org>
39823
39824         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39825         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39826         not only the first time.
39827         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39828         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39829         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39830         is 1, not only the the first time.
39831
39832 2009-08-10  Bruno Haible  <bruno@clisp.org>
39833
39834         Make it possible to use module 'gethostname' without module 'close'.
39835         * lib/unistd.in.h (close): Evoke a link error only if
39836         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39838         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39839         * modules/unistd (Makefile.am): Substitute
39840         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39841         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39842         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39843         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39844         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39845         * modules/sys_ioctl (Makefile.am): Substitute
39846         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39847         * modules/socket (configure.ac): On native Windows, set
39848         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39849         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39850         Reported by Sam Steingold <sds@gnu.org>.
39851
39852 2009-08-10  Bruno Haible  <bruno@clisp.org>
39853
39854         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39855         * modules/ioctl (configure.ac): Likewise.
39856
39857 2009-08-10  Bruno Haible  <bruno@clisp.org>
39858
39859         Avoid collision between gnulib wrapper and libintl wrapper.
39860         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39861         already defined in intl/printf.c.
39862         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39863         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39864
39865 2009-08-09  Bruno Haible  <bruno@clisp.org>
39866
39867         Make <sys/select.h> really self-contained, also on Solaris 10.
39868         * lib/sys_select.in.h: Include <string.h>.
39869         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39870         Solaris 10 problem.
39871         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39872         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39873         Reported by Jim Meyering.
39874
39875 2009-08-09  Bruno Haible  <bruno@clisp.org>
39876
39877         Avoid warnings from 'aclocal' that are due to a use of macro name
39878         AM_XGETTEXT_OPTION that is not defined in automake.
39879         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39880         automake.
39881         * modules/error (configure.ac): Likewise.
39882         * modules/propername (configure.ac): Likewise.
39883         * modules/vasprintf (configure.ac): Likewise.
39884         * modules/verror (configure.ac): Likewise.
39885         * modules/xprintf (configure.ac): Likewise.
39886         * modules/xvasprintf (configure.ac): Likewise.
39887
39888 2009-08-08  Bruno Haible  <bruno@clisp.org>
39889
39890         Avoid compilation error in C++ mode.
39891         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39892         Reported by Sam Steingold <sds@gnu.org>.
39893
39894 2009-08-08  Bruno Haible  <bruno@clisp.org>
39895
39896         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39897         for the various Unix platforms.
39898         * doc/posix-headers/limits.texi: Update platforms list regarding
39899         HOST_NAME_MAX.
39900         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39901
39902 2009-08-07  Jim Meyering  <meyering@redhat.com>
39903
39904         selinux-at: fix typo in a comment
39905         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39906         Spotted by Paolo Bonzini.
39907
39908         selinux-at: remove redundant m4 code, add documentation
39909         * modules/selinux-at (configure.ac): Remove redundant code.
39910         LIB_SELINUX is already set via the dependent module, selinux-h.
39911         (Include): Add quotes around selinux-at.h.
39912         * lib/selinux-at.h: Add documentation.
39913         Reported by Bruno Haible in
39914         http://marc.info/?l=gnulib-bug&m=124958988300749
39915
39916 2009-08-07  Bruno Haible  <bruno@clisp.org>
39917
39918         Avoid link error on MacOS X 10.3 and 10.4.
39919         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39920         on non-ELF systems.
39921         * lib/argp-pv.c (argp_program_version): Likewise.
39922         Reported by Simon Josefsson.
39923
39924 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39925
39926         * tests/test-version-etc.sh: Use $EXEEXT.
39927
39928 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39929
39930         update-copyright: update documentation to point to maint.mk
39931         * build-aux/update-copyright: Here.
39932
39933 2009-08-06  Jim Meyering  <meyering@redhat.com>
39934
39935         maint.mk: support update-copyright-local
39936         * top/maint.mk (update-copyright-local): Define place-holder.
39937         (update-copyright): Depend on $(update-copyright-local).
39938
39939 2009-08-06  Jim Meyering  <meyering@redhat.com>
39940
39941         selinux-at: new module
39942         Initially written for coreutils, this module will soon be
39943         used by findutils, too.
39944         * MODULES.html.sh [Misc]: Add selinux-at.
39945         * lib/selinux-at.h: New file, from coreutils.
39946         * lib/selinux-at.c: Likewise.
39947         * modules/selinux-at: Likewise.
39948         (License): Change from LGPL to GPL, since it depends
39949         on the GPL'd openat module.
39950
39951         doc: update README
39952         * README: Remove references to cogito.
39953         Remove cvs-repo-updating instructions from 2007.
39954         Don't imply that CVS is better if you have limited disk space.
39955
39956 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39957
39958         update-copyright: support C-style comments
39959         * build-aux/update-copyright: Implement and document.
39960         * tests/test-update-copyright.sh: Test.
39961
39962 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39963
39964         update-copyright: support omitted "(C)"
39965         * build-aux/update-copyright: Implement and document.  Also,
39966         allow variable whitespace before "(C)".
39967         * tests/test-update-copyright.sh: Test.
39968
39969 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39970
39971         update-copyright: don't trip on non-FSF copyright statements
39972         * build-aux/update-copyright: Fix so that the first correctly
39973         formatted FSF copyright statement is recognized no matter what
39974         appears before it.  Update documentation.
39975         * tests/test-update-copyright.sh: Test that.
39976
39977 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39978
39979         update-copyright: clean up code a little
39980         * build-aux/update-copyright: Append "_re" to the name of any
39981         variable holding a regular expression.
39982         Replace "old" and "new" with "stmt" in variable names.
39983         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39984         handled correctly.
39985         Format code more consistently.
39986
39987 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39988
39989         update-copyright-tests: improve portability
39990         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39991         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39992
39993 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39994
39995         update-copyright: support @copyright{} and &copy;
39996         * build-aux/update-copyright: Implement and document.
39997         * tests/test-update-copyright.sh: Test.
39998
39999 2009-08-04  Jim Meyering  <meyering@redhat.com>
40000
40001         update-copyright-tests: correctly test EOL=\r\n handling
40002         * tests/test-update-copyright.sh: Put \r at the end of some lines
40003         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40004
40005         maint.mk: make update-copyright exclusion list more configurable
40006         * top/maint.mk (update-copyright): Default to excluding COPYING,
40007         but allow an override, in case someone does want to update that file.
40008
40009         maint.mk: don't update copyright date in COPYING
40010         * top/maint.mk (update-copyright): Exclude COPYING.
40011
40012         maint.mk: add a copyright-updating rule
40013         * top/maint.mk (update-copyright): New rule.
40014         Derived from coreutils/Makefile.am.
40015
40016         update-copyright: rename some variables
40017         * build-aux/update-copyright: Rename a few variables for clarity.
40018         Tweak syntax.  List Joel E. Denny as coauthor.
40019
40020 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40021
40022         update-copyright: fix bug for 2-digit last year and add tests
40023         * build-aux/update-copyright: Fix bug.
40024         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40025         specified.
40026         * modules/update-copyright-tests: New
40027         * tests/test-update-copyright.sh: New.
40028
40029 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40030
40031         update-copyright: handle leading tabs in line prefix
40032         * build-aux/update-copyright: Count leading tabs as 8 spaces
40033         when computing margin.  This helps with the formatting of
40034         ChangeLogs, for example.
40035         Fix documentation a little.
40036
40037 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40038
40039         update-copyright: support EOL=\r\n
40040         * build-aux/update-copyright: Implement that.
40041
40042 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40043
40044         update-copyright: automatically format copyright statements
40045         * build-aux/update-copyright: Implement that.
40046         Also, be a little more predictable and safer by always failing
40047         when the full copyright format is not perfectly recognized as an
40048         unbroken whole.  Discussed at
40049         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40050         Rewrite documentation.
40051
40052 2009-08-03  Bruno Haible  <bruno@clisp.org>
40053
40054         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40055
40056 2009-08-02  Bruno Haible  <bruno@clisp.org>
40057
40058         Tests for module 'uname'.
40059         * modules/uname-tests: New file.
40060         * tests/test-uname.c: New file.
40061
40062         New module 'uname'.
40063         * lib/uname.c: New file.
40064         * m4/uname.m4: New file.
40065         * modules/uname: New file.
40066         * doc/posix-functions/uname.texi: Mention the new module.
40067
40068 2009-08-02  Bruno Haible  <bruno@clisp.org>
40069
40070         Tests for module 'sys_utsname'.
40071         * modules/sys_utsname-tests: New file.
40072         * tests/test-sys_utsname.c: New file.
40073
40074         New module 'sys_utsname'.
40075         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40076         * m4/sys_utsname_h.m4: New file.
40077         * modules/sys_utsname: New file.
40078         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40079
40080 2009-08-02  Bruno Haible  <bruno@clisp.org>
40081
40082         Implicitly initialize the sockets library.
40083         * lib/gethostname.c: Include sockets.h.
40084         (rpl_gethostname): Invoke gl_sockets_startup.
40085         * lib/socket.c: Include sockets.h.
40086         (rpl_socket): Invoke gl_sockets_startup.
40087         * modules/gethostname (Depends-on): Add sockets.
40088         * modules/socket (Depends-on): Likewise.
40089         * tests/test-poll.c: Don't include sockets.h.
40090         (main): Don't invoke gl_sockets_startup.
40091         * tests/test-select.c: Don't include sockets.h.
40092         (main): Don't invoke gl_sockets_startup.
40093
40094 2009-08-02  Bruno Haible  <bruno@clisp.org>
40095
40096         Allow multiple calls to gl_sockets_startup.
40097         * lib/sockets.c (initialized_sockets_version): New variable.
40098         (gl_sockets_startup): Do nothing if already called for this or a higher
40099         version.
40100         (gl_sockets_cleanup): Reset initialized_sockets_version.
40101
40102 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40103
40104         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40105         different project/version.
40106
40107 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40108             Bruno Haible  <bruno@clisp.org>
40109
40110         Tests for module 'pipe-filter-gi'.
40111         * modules/pipe-filter-gi-tests: New file.
40112         * tests/test-pipe-filter-gi1.sh: New file.
40113         * tests/test-pipe-filter-gi1.c: New file.
40114         * tests/test-pipe-filter-gi2.sh: New file.
40115         * tests/test-pipe-filter-gi2-main.c: New file.
40116         * tests/test-pipe-filter-gi2-child.c: New file.
40117
40118         New module 'pipe-filter-gi'.
40119         * lib/pipe-filter-gi.c: New file.
40120         * modules/pipe-filter-gi: New file.
40121
40122 2009-08-02  Bruno Haible  <bruno@clisp.org>
40123             Paolo Bonzini  <bonzini@gnu.org>
40124
40125         Tests for module 'pipe-filter-ii'.
40126         * modules/pipe-filter-ii-tests: New file.
40127         * tests/test-pipe-filter-ii1.sh: New file.
40128         * tests/test-pipe-filter-ii1.c: New file.
40129         * tests/test-pipe-filter-ii2.sh: New file.
40130         * tests/test-pipe-filter-ii2-main.c: New file.
40131         * tests/test-pipe-filter-ii2-child.c: New file.
40132
40133         New module 'pipe-filter-ii'.
40134         * lib/pipe-filter.h: New file.
40135         * lib/pipe-filter-ii.c: New file.
40136         * lib/pipe-filter-aux.h: New file.
40137         * modules/pipe-filter-ii: New file.
40138
40139 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40140
40141         * lib/gc-libgcrypt.c: Change copyright to FSF.
40142         * lib/gc-gnulib.c: Likewise.
40143
40144 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40145
40146         * lib/gethostname.c: Include limits.h.
40147
40148 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40149             Bruno Haible  <bruno@clisp.org>
40150
40151         Ensure HOST_NAME_MAX as part of the gethostname module.
40152         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40153         define also HOST_NAME_MAX.
40154         * tests/test-gethostname.c: Include <limits.h>.
40155         (main): Check also HOST_NAME_MAX.
40156         * doc/posix-headers/limits.texi: Document the mingw problem.
40157
40158 2009-08-02  Bruno Haible  <bruno@clisp.org>
40159
40160         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40161         Add comments.
40162
40163 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40164
40165         * lib/gethostname.c: Add Windows wrapper.
40166         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40167         * modules/gethostname: Depend on sys_socket & errno, for also
40168         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40169         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40170
40171 2009-07-31  Jim Meyering  <meyering@redhat.com>
40172
40173         getloadavg: fix symbol name in comment
40174         * lib/getloadavg.c: Correct a typo I introduced when adding
40175         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40176         Matt Kraai spotted the problem.
40177
40178 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40179
40180         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40181         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40182         code also if ! defined N_NAME_POINTER.
40183         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40184         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40185         but the n_name member is a 12-byte array.
40186
40187 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40188
40189         update-copyright: generalize comment handling
40190         * build-aux/update-copyright: Handle copyright statements
40191         within more comment styles.
40192         Document usage.
40193         Report any file with an external copyright holder or parse failure.
40194
40195 2009-07-29  Jim Meyering  <meyering@redhat.com>
40196
40197         mktime: correct setting of REPLACE_MKTIME
40198         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
40199
40200         update-copyright: new module
40201         * modules/update-copyright: New file.
40202         * build-aux/update-copyright: New file.
40203         * MODULES.html.sh (maint+release support): Add update-copyright.
40204
40205 2009-07-27  Bruno Haible  <bruno@clisp.org>
40206
40207         Fix compilation error when <ctime> is used and mktime is replaced.
40208         * lib/time.in.h (mktime): New declaration.
40209         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
40210         REPLACE_MKTIME instead of defining mktime in config.h.
40211         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
40212         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
40213         Reported by Ross McFarland <rwmcfa1@neces.com>.
40214
40215 2009-07-27  Bruno Haible  <bruno@clisp.org>
40216
40217         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
40218         Reported by Matt Kraai <mkraai@beckman.com>.
40219
40220 2009-07-25  Jim Meyering  <meyering@redhat.com>
40221
40222         maint.mk: avoid warnings about missing files
40223         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
40224         diagnostic when .prev-version does not exist.
40225         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
40226         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
40227         nonexistent cfg.mk.
40228         Suggestions from Simon Josefsson.
40229
40230 2009-07-25  Bruno Haible  <bruno@clisp.org>
40231
40232         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
40233         defined as macros. Needed on QNX 6.4.1.
40234         Reported by Matt Kraai <mkraai@beckman.com>.
40235
40236 2009-07-23  Jim Meyering  <meyering@redhat.com>
40237
40238         maint.mk: invoke "make dist" with a working value of XZ_OPT
40239         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
40240
40241 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
40242
40243         Make fseeko.c compile on QNX.
40244         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
40245
40246 2009-07-22  Peter Simons  <simons@cryp.to>
40247
40248         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
40249         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
40250         * lib/md4.h: Likewise.
40251         * lib/md5.h: Likewise.
40252         * lib/sha1.h: Likewise.
40253         * lib/sha256.h: Likewise.
40254         * lib/sha512.h: Likewise.
40255
40256         tests-sha1: don't assign literal string to 'char *' variable
40257         * tests/test-sha1.c (main): Declare locals with "const" to match
40258         attributes of the right hand side.
40259
40260 2009-07-21  Eric Blake  <ebb9@byu.net>
40261
40262         dup2: fix more mingw problems
40263         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
40264         fd to itself.
40265         * doc/posix-functions/dup2.texi (dup2): Document the bug.
40266         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
40267         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
40268         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
40269         care of mingw bugs.
40270
40271 2009-07-21  Jim Meyering  <meyering@redhat.com>
40272
40273         vc-list-files: avoid failure when /bin/sh is dash
40274         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
40275         On some Debian based systems, /bin/sh is a symlink to dash, and running
40276         this command would omit the "/" following each 'tests' prefix:
40277           dash -x build-aux/vc-list-files -C . tests
40278         That is because bash and dash work differently:
40279           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
40280           bash ok
40281           dash odd
40282
40283 2009-07-21  Eric Blake  <ebb9@byu.net>
40284
40285         dup2-tests: test previous patch
40286         * modules/dup2-tests: New file.
40287         * tests/test-dup2.c: Likewise.
40288         * tests/test-open.c (main): Avoid unspecified behavior.
40289         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
40290         test.
40291
40292         dup2: work around mingw and cygwin 1.5 bug
40293         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
40294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40295         * modules/unistd (Makefile.am): Substitute it.
40296         * lib/unistd.in.h (dup2): Declare the replacement.
40297         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
40298         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
40299         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
40300         * modules/execute (Depends-on): Add dup2.
40301         * modules/fseterr (Depends-on): Likewise.
40302         * modules/pipe (Depends-on): Likewise.
40303         * modules/posix_spawn-internal (Depends-on): Likewise.
40304
40305 2009-07-21  Bruno Haible  <bruno@clisp.org>
40306
40307         * modules/.gitattributes: New file.
40308
40309 2009-07-20  Bruno Haible  <bruno@clisp.org>
40310
40311         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40312         (main): Use it.
40313
40314 2009-07-20  Eric Blake  <ebb9@byu.net>
40315
40316         test-pipe: make a bit more robust.
40317         * tests/test-pipe.c (myerr): Allow error messages regardless of
40318         what we do to stderr.
40319         (test_pipe): Rearrange to avoid deadlock.
40320         (child_main): Try a larger read, to ensure we avoided deadlock.
40321         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40322         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40323         if misused.
40324
40325 2009-07-19  Jim Meyering  <meyering@redhat.com>
40326
40327         fts: avoid false-positive cycle-detection
40328         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40329         for each new command line argument.
40330
40331 2009-07-19  Bruno Haible  <bruno@clisp.org>
40332
40333         Fix build error on mingw with the modules sys_select and unistd.
40334         * modules/acl-tests (Depends-on): Add close.
40335         * modules/binary-io-tests (Depends-on): Likewise.
40336         * modules/closein-tests (Depends-on): Likewise.
40337         * modules/flock-tests (Depends-on): Likewise.
40338         * modules/fsync-tests (Depends-on): Likewise.
40339         * modules/lseek-tests (Depends-on): Likewise.
40340         * modules/pipe-tests (Depends-on): Likewise.
40341         * modules/posix_spawn-tests (Depends-on): Likewise.
40342         * modules/posix_spawnp-tests (Depends-on): Likewise.
40343         * modules/stat-time-tests (Depends-on): Likewise.
40344         * modules/yesno-tests (Depends-on): Likewise.
40345
40346 2009-07-19  Bruno Haible  <bruno@clisp.org>
40347
40348         Unify conditionals.
40349         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40350         macros, not at the compiler macros.
40351         * lib/pipe.c: Likewise.
40352         * lib/execute.c: Likewise.
40353         * lib/spawni.c: Likewise.
40354
40355 2009-07-19  Bruno Haible  <bruno@clisp.org>
40356
40357         Fix handling of closed stdin/stdout/stderr on mingw.
40358         * lib/w32spawn.h: Include unistd.h.
40359         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
40360         file descriptor with O_NOINHERIT flag.
40361         (fd_safer_noinherit): New function, based on fd-safer.c.
40362         (dup_safer_noinherit): New function, based on dup-safer.c.
40363         (undup_safer_noinherit): New function.
40364         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
40365         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
40366         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
40367         instead of fd_safer.
40368         * tests/test-pipe.c: Include <windows.h>.
40369         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
40370         result.
40371
40372         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
40373         from main.
40374         (test_pipe): Pass an extra argument for disambiguation.
40375         (main): Invoke parent_main or child_main.
40376
40377         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40378         consistently.
40379
40380 2009-07-18  Eric Blake  <ebb9@byu.net>
40381
40382         test-pipe: fix mingw build
40383         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40384
40385 2009-07-18  Bruno Haible  <bruno@clisp.org>
40386
40387         * modules/pipe-tests (Makefile.am): Fix typo.
40388
40389 2009-07-18  Eric Blake  <ebb9@byu.net>
40390
40391         error: fix mingw build
40392         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40393         Reported by Bruno Haible.
40394
40395         error: avoid undefined use of stdout
40396         * lib/error.c (error, error_at_line): Check that fd 1 is open
40397         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40398         is handling faults and the close_stdout module wants to report the
40399         detection of closed stdout as an error.
40400
40401 2009-07-17  Eric Blake  <ebb9@byu.net>
40402
40403         pipe: be robust in face of closed fds
40404         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40405         should cause child to misbehave.
40406         * modules/pipe-tests: New module.
40407         * tests/test-pipe.c: New file.
40408         * tests/test-pipe.sh: New file.
40409         Reported by Akim Demaille.
40410
40411 2009-07-14  Bruno Haible  <bruno@clisp.org>
40412
40413         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
40414         Reported by anonymous kc.
40415
40416 2009-07-07  Jim Meyering  <meyering@redhat.com>
40417
40418         maint.mk: don't look for translatable strings in *.m4 or *.mk
40419         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
40420         when searching for translatable strings.
40421
40422 2009-07-05  Jim Meyering  <meyering@redhat.com>
40423
40424         remove superfluous parentheses in STREQ definition
40425         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
40426         * lib/getugroups.c (STREQ): Likewise.
40427         * lib/fnmatch.c (STREQ): Likewise.
40428         Spotted by Bruno Haible.
40429
40430 2009-07-04  Jim Meyering  <meyering@redhat.com>
40431
40432         argv-iter: new module
40433         * MODULES.html.sh: Add argv-iter.
40434         * lib/argv-iter.c, lib/argv-iter.h: New files.
40435         * modules/argv-iter: New file.
40436         * modules/argv-iter-tests: New file.
40437         * tests/test-argv-iter.c: Test it.
40438
40439 2009-07-04  Bruno Haible  <bruno@clisp.org>
40440
40441         Fix assertion.
40442         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
40443         contains more exact copies of a given entry than file2, leave the extra
40444         copies unpaired rather than aborting.
40445         Reported by Eric Blake.
40446
40447 2009-07-02  Bruno Haible  <bruno@clisp.org>
40448
40449         Speedup git-merge-changelog for git cherry-pick.
40450         * lib/git-merge-changelog.c (struct entries_mapping): New type.
40451         (entries_mapping_get): New function, extracted from compute_mapping.
40452         (entries_mapping_reverse_get): New function.
40453         (compute_mapping): Add a 'full' argument. Return the result in a
40454         'struct entries_mapping'.
40455         (main): Update. Access the mappings through entries_mapping_get.
40456         Reported by Eric Blake.
40457
40458 2009-07-02  Bruno Haible  <bruno@clisp.org>
40459
40460         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
40461         best_i.
40462
40463 2009-07-02  Bruno Haible  <bruno@clisp.org>
40464
40465         Speed up approximate search for matching ChangeLog entries.
40466         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
40467         argument. Call fstrcmp_bounded instead of fstrcmp.
40468         (compute_mapping, try_split_merged_entry, main): Update callers.
40469
40470 2009-07-02  Bruno Haible  <bruno@clisp.org>
40471
40472         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
40473
40474 2009-06-30  Bruno Haible  <bruno@clisp.org>
40475
40476         Reduce the number of uc_is_cased calls.
40477         * lib/unicase.h (casing_suffix_context_t): Add
40478         'first_char_except_ignorable' field.
40479         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
40480         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
40481         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40482         Update initializer.
40483         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40484         case-ignorable characters.
40485         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40486         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40487         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40488         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40489         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40490
40491 2009-06-30  Bruno Haible  <bruno@clisp.org>
40492
40493         Tests for module 'unicase/ignorable'.
40494         * modules/unicase/ignorable-tests: New file.
40495         * tests/unicase/test-ignorable.c: New file, generated by
40496         gen-uni-tables.
40497
40498         Tests for module 'unicase/cased'.
40499         * modules/unicase/cased-tests: New file.
40500         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40501         * tests/unicase/test-predicate-part1.h: New file, derived from
40502         tests/unictype/test-predicate-part1.h.
40503         * tests/unicase/test-predicate-part2.h: New file, same as
40504         tests/unictype/test-predicate-part2.h.
40505
40506         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40507         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40508         (output_casing_properties): New function.
40509         (main): Call it.
40510         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40511         * lib/unicase/cased.c: Include unictype/bitmap.h.
40512         (uc_is_cased): Define through a bitmap lookup.
40513         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40514         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40515         (uc_is_case_ignorable): Define through a bitmap lookup.
40516         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40517         lib/unictype/bitmap.h.
40518         (Depends-on): Add inline. Clean up.
40519         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40520         lib/unictype/bitmap.h.
40521         (Depends-on): Add inline. Clean up.
40522         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40523         recognition.
40524         * tests/unicase/test-u16-tolower.c (main): Likewise.
40525         * tests/unicase/test-u32-tolower.c (main): Likewise.
40526
40527 2009-06-30  Bruno Haible  <bruno@clisp.org>
40528
40529         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40530         * lib/unicase/u16-casemap.c: Likewise.
40531         * lib/unicase/u32-casemap.c: Likewise.
40532
40533 2009-06-29  Bruno Haible  <bruno@clisp.org>
40534
40535         Define u32_casefold as a wrapper around u32_ct_casefold.
40536         * lib/unicase/u32-casefold.c: Update.
40537         * modules/unicase/u32-casefold (Depends-on): Add
40538         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40539         unicase/empty-suffix-context. Clean up.
40540
40541         Define u16_casefold as a wrapper around u16_ct_casefold.
40542         * lib/unicase/u16-casefold.c: Update.
40543         * modules/unicase/u16-casefold (Depends-on): Add
40544         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40545         unicase/empty-suffix-context. Clean up.
40546
40547         Define u8_casefold as a wrapper around u8_ct_casefold.
40548         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40549         * lib/unicase/u8-casefold.c: Update.
40550         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40551         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40552
40553         Define u32_totitle as a wrapper around u32_ct_totitle.
40554         * lib/unicase/u32-totitle.c: Update.
40555         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40556         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40557
40558         Define u16_totitle as a wrapper around u16_ct_totitle.
40559         * lib/unicase/u16-totitle.c: Update.
40560         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40561         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40562
40563         Define u8_totitle as a wrapper around u8_ct_totitle.
40564         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40565         functions.
40566         (FUNC): Delegate to U_CT_TOTITLE.
40567         * lib/unicase/u8-totitle.c: Update.
40568         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40569         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40570
40571         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40572         invocation.
40573         * modules/unicase/u32-tolower (Depends-on): Add
40574         unicase/empty-prefix-context, unicase/empty-suffix-context.
40575
40576         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40577         invocation.
40578         * modules/unicase/u16-tolower (Depends-on): Add
40579         unicase/empty-prefix-context, unicase/empty-suffix-context.
40580
40581         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40582         * modules/unicase/u8-tolower (Depends-on): Add
40583         unicase/empty-prefix-context, unicase/empty-suffix-context.
40584
40585         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40586         invocation.
40587         * modules/unicase/u32-toupper (Depends-on): Add
40588         unicase/empty-prefix-context, unicase/empty-suffix-context.
40589
40590         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40591         invocation.
40592         * modules/unicase/u16-toupper (Depends-on): Add
40593         unicase/empty-prefix-context, unicase/empty-suffix-context.
40594
40595         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40596         * modules/unicase/u8-toupper (Depends-on): Add
40597         unicase/empty-prefix-context, unicase/empty-suffix-context.
40598
40599         New module 'unicase/u32-ct-casefold'.
40600         * lib/unicase/u32-ct-casefold.c: New file.
40601         * modules/unicase/u32-ct-casefold: New file.
40602
40603         New module 'unicase/u16-ct-casefold'.
40604         * lib/unicase/u16-ct-casefold.c: New file.
40605         * modules/unicase/u16-ct-casefold: New file.
40606
40607         New module 'unicase/u8-ct-casefold'.
40608         * lib/unicase/u8-ct-casefold.c: New file.
40609         * lib/unicase/u-ct-casefold.h: New file, derived from
40610         lib/unicase/u-casefold.h.
40611         * modules/unicase/u8-ct-casefold: New file.
40612
40613         New module 'unicase/u32-ct-totitle'.
40614         * lib/unicase/u32-ct-totitle.c: New file.
40615         * modules/unicase/u32-ct-totitle: New file.
40616
40617         New module 'unicase/u16-ct-totitle'.
40618         * lib/unicase/u16-ct-totitle.c: New file.
40619         * modules/unicase/u16-ct-totitle: New file.
40620
40621         New module 'unicase/u8-ct-totitle'.
40622         * lib/unicase/u8-ct-totitle.c: New file.
40623         * lib/unicase/u-ct-totitle.h: New file, derived from
40624         lib/unicase/u-totitle.h.
40625         * modules/unicase/u8-ct-totitle: New file.
40626
40627         New module 'unicase/u32-ct-tolower'.
40628         * lib/unicase/u32-ct-tolower.c: New file.
40629         * modules/unicase/u32-ct-tolower: New file.
40630
40631         New module 'unicase/u16-ct-tolower'.
40632         * lib/unicase/u16-ct-tolower.c: New file.
40633         * modules/unicase/u16-ct-tolower: New file.
40634
40635         New module 'unicase/u8-ct-tolower'.
40636         * lib/unicase/u8-ct-tolower.c: New file.
40637         * modules/unicase/u8-ct-tolower: New file.
40638
40639         New module 'unicase/u32-ct-toupper'.
40640         * lib/unicase/u32-ct-toupper.c: New file.
40641         * modules/unicase/u32-ct-toupper: New file.
40642
40643         New module 'unicase/u16-ct-toupper'.
40644         * lib/unicase/u16-ct-toupper.c: New file.
40645         * modules/unicase/u16-ct-toupper: New file.
40646
40647         New module 'unicase/u8-ct-toupper'.
40648         * lib/unicase/u8-ct-toupper.c: New file.
40649         * modules/unicase/u8-ct-toupper: New file.
40650
40651         Add context arguments to u*_casemap functions.
40652         * lib/unicase/unicasemap.h: Include unicase.h.
40653         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40654         suffix_context arguments.
40655         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40656         functions.
40657         (FUNC): Add prefix_context and suffix_context arguments. Use
40658         uc_is_cased and uc_is_case_ignorable.
40659         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40660         * lib/unicase/u16-casemap.c: Likewise.
40661         * lib/unicase/u32-casemap.c: Likewise.
40662         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40663         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40664         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40665         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40666         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40667         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40668
40669         New module 'unicase/u32-suffix-context'.
40670         * lib/unicase/u32-suffix-context.c: New file.
40671         * modules/unicase/u32-suffix-context: New file.
40672
40673         New module 'unicase/u16-suffix-context'.
40674         * lib/unicase/u16-suffix-context.c: New file.
40675         * modules/unicase/u16-suffix-context: New file.
40676
40677         New module 'unicase/u8-suffix-context'.
40678         * lib/unicase/u8-suffix-context.c: New file.
40679         * lib/unicase/u-suffix-context.h: New file.
40680         * modules/unicase/u8-suffix-context: New file.
40681
40682         New module 'unicase/empty-suffix-context'.
40683         * lib/unicase/empty-suffix-context.c: New file.
40684         * modules/unicase/empty-suffix-context: New file.
40685
40686         New module 'unicase/u32-prefix-context'.
40687         * lib/unicase/u32-prefix-context.c: New file.
40688         * modules/unicase/u32-prefix-context: New file.
40689
40690         New module 'unicase/u16-prefix-context'.
40691         * lib/unicase/u16-prefix-context.c: New file.
40692         * modules/unicase/u16-prefix-context: New file.
40693
40694         New module 'unicase/u8-prefix-context'.
40695         * lib/unicase/u8-prefix-context.c: New file.
40696         * lib/unicase/u-prefix-context.h: New file.
40697         * lib/unicase/context.h: New file.
40698         * modules/unicase/u8-prefix-context: New file.
40699
40700         New module 'unicase/empty-prefix-context'.
40701         * lib/unicase/empty-prefix-context.c: New file.
40702         * modules/unicase/empty-prefix-context: New file.
40703
40704         New module 'unicase/ignorable'.
40705         * lib/unicase/ignorable.c: New file.
40706         * modules/unicase/ignorable: New file.
40707
40708         New module 'unicase/cased'.
40709         * lib/unicase/caseprop.h: New file.
40710         * lib/unicase/cased.c: New file.
40711         * modules/unicase/cased: New file.
40712
40713         New functions for case mapping of substrings.
40714         * lib/unicase.h (casing_prefix_context_t): New type.
40715         (unicase_empty_prefix_context): New variable.
40716         (u8_casing_prefix_context, u16_casing_prefix_context,
40717         u32_casing_prefix_context, u8_casing_prefixes_context,
40718         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40719         declarations.
40720         (casing_suffix_context_t): New type.
40721         (unicase_empty_suffix_context): New variable.
40722         (u8_casing_suffix_context, u16_casing_suffix_context,
40723         u32_casing_suffix_context, u8_casing_suffixes_context,
40724         u16_casing_suffixes_context, u32_casing_suffixes_context,
40725         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40726         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40727         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40728         declarations.
40729
40730 2009-06-28  Jim Meyering  <meyering@redhat.com>
40731
40732         boostrap: indent only with spaces
40733         * build-aux/bootstrap: Indent only with spaces, never TABs.
40734
40735         bootstrap: split long lines
40736         * build-aux/bootstrap: Keep line length < 80.
40737
40738         bootstrap: sync from coreutils
40739         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40740         just as autoreconf does.  Verify a list of prerequisite
40741         package-name,version-number pairs if defined in bootstrap.conf.
40742         Refer to README-prereq, if prerequisites are not satisfied.
40743
40744 2009-06-27  Eric Blake  <ebb9@byu.net>
40745
40746         tests: add test for bogus NULL definition
40747         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40748         * tests/test-stdlib.c: Likewise.
40749         * tests/test-string.c: Likewise.
40750         * tests/test-locale.c: Likewise.
40751         * tests/test-unistd.c: Likewise.
40752         * modules/stdio-tests (Depends-on): Add verify.
40753         * modules/stdlib-tests (Depends-on): Likewise.
40754         * modules/string-tests (Depends-on): Likewise.
40755         * modules/locale-tests (Depends-on): Likewise.
40756         * modules/unistd-tests (Depends-on): Likewise.
40757
40758 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40759
40760         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40761         self-explaining comment.
40762         * m4/selinux-selinux-h: Update serial.
40763         (gl_LIBSELINUX): New macro, adding a warning for missing development
40764         packages to code extracted from...
40765         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40766         Add warning for missing development packages here, too.
40767
40768 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40769
40770         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40771
40772 2009-06-25  Eric Blake  <ebb9@byu.net>
40773
40774         version-etc: fix regression
40775         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40776         gcc.
40777         (version_etc): Use it, to catch bugs with trailing NULL.
40778         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40779         (version_etc_va): Fix logic bug.
40780         * modules/version-etc-tests: Add test.
40781         * tests/test-version-etc.c: New file.
40782         * tests/test-version-etc.sh: Likewise.
40783
40784 2009-06-25  Sam Steingold  <sds@gnu.org>
40785
40786         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40787         mbtowc declaration.
40788
40789 2009-06-25  Eric Blake  <ebb9@byu.net>
40790
40791         fpurge: migrate into <stdio.h>
40792         * lib/fpurge.h: Delete...
40793         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40794         * lib/fpurge.c (fpurge): Change declaring header.
40795         * modules/fpurge (Files): Drop deleted file.
40796         (Depends-on): Add stdio.
40797         (configure.ac): Set witness.
40798         * modules/stdio (Makefile.am): Support fpurge macros.
40799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40800         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40801         * lib/fflush.c: Update client.
40802         * tests/test-fpurge.c: Likewise.
40803         * NEWS: Mention the change.
40804
40805 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40806
40807         * lib/argp-version-etc.c (program_authors): Add const
40808         qualifier.
40809         * lib/version-etc.c: Fix typos in the comments.
40810         * modules/argp-version-etc: Depends on version-etc.
40811
40812 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40813
40814         argp-version-etc: new module.
40815
40816         * lib/argp-version-etc.c: New file.
40817         * lib/argp-version-etc.h: New file.
40818         * modules/argp-version-etc: New file.
40819         * modules/argp-version-etc-tests: New file.
40820         * tests/test-argp-version-etc.c: New test.
40821         * tests/test-argp-version-etc-1.sh: New test.
40822
40823 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40824
40825         Provide additional interfaces and documentation for version-etc
40826         module.
40827
40828         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40829         interfaces.
40830         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40831         prototypes.
40832
40833 2009-06-24  Bruno Haible  <bruno@clisp.org>
40834
40835         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40836         HAVE_LIB${NAME} macro.
40837         Reported by Sam Steingold <sds@gnu.org>.
40838
40839 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40840
40841         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40842         needed.
40843
40844 2009-06-21  Bruno Haible  <bruno@clisp.org>
40845
40846         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40847         work.
40848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40849         together with LIB${NAME}, LTLIB${NAME}.
40850         Reported by Sam Steingold <sds@gnu.org>.
40851
40852 2009-06-20  Jim Meyering  <meyering@redhat.com>
40853
40854         tests: make sc_require_test_exit_idiom more generic
40855         * top/maint.mk (Exit_witness_file): New overridable variable.
40856         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40857         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40858
40859 2009-06-19  Jim Meyering  <meyering@redhat.com>
40860
40861         hash: reverse order of src/dst parameters in an internal interface
40862         * lib/hash.c (transfer_entries): Reverse order of parameters to
40863         put DST before SRC.  Adjust callers.
40864
40865         tests: test-hash: avoid wholesale duplication
40866         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40867         Instead, use a loop and add a single conditional.
40868
40869         tests: test-hash: allow seed selection via a command line argument
40870         * tests/test-hash.c (get_seed): New function.
40871         (main): Use it.
40872
40873 2009-06-19  Eric Blake  <ebb9@byu.net>
40874
40875         hash: avoid memory leak on allocation failure
40876         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40877         failure.  Factor repeated algorithm...
40878         (transfer_entries): ...into new helper routine.
40879         (hash_delete): React to hash_rehash return value.
40880
40881         hash: reduce memory pressure in hash_rehash no-op case
40882         * lib/hash.c (next_prime): Avoid overflow.
40883         (hash_initialize): Factor bucket size computation...
40884         (compute_bucket_size): ...into new helper function.
40885         (hash_rehash): Use new function and open coding to reduce memory
40886         pressure, and avoid a memory leak in USE_OBSTACK code.
40887         Reported by Jim Meyering.
40888
40889 2009-06-18  Eric Blake  <ebb9@byu.net>
40890
40891         hash: make rotation more obvious
40892         * modules/hash (Depends-on): Add bitrotate and stdint.
40893         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40894         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40895         (SIZE_MAX): Rely on headers for definition.
40896         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40897         (raw_hasher): Use rotr_sz.
40898         Suggested by Jim Meyering.
40899
40900         hash: fix memory leak in last patch
40901         * lib/hash.c (hash_rehash): Avoid memory leak.
40902
40903         hash: avoid no-op rehashing
40904         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40905
40906         hash: provide default callback functions
40907         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40908         (hash_initialize): Use them as defaults.
40909         * tests/test-hash.c (main): Test this.
40910
40911         hash: minor optimization
40912         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40913         when possible.
40914         (hash_initialize): Document this promise.
40915         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40916         * tests/test-hash.c (hash_compare_strings): Test this.
40917
40918 2009-06-18  Bruno Haible  <bruno@clisp.org>
40919
40920         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40921         going to be replaced anyway.
40922
40923 2009-06-18  Bruno Haible  <bruno@clisp.org>
40924
40925         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40926         in one place.
40927         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40928         be replaced anyway.
40929
40930 2009-06-18  Eric Blake  <ebb9@byu.net>
40931
40932         hash: check for resize before insertion
40933         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40934         threshold before insertion, so that a pathological hash_rehash
40935         that fills every bucket can still trigger another rehash.
40936
40937 2009-06-18  Jim Meyering  <meyering@redhat.com>
40938
40939         hash-tests: add a loop around the small tests
40940         * tests/test-hash.c (main): Repeat small tests with selected
40941         small initial table sizes.
40942
40943 2009-06-17  Eric Blake  <ebb9@byu.net>
40944
40945         hash: minor cleanups
40946         * lib/hash.h (hash_entry): Make opaque, by moving...
40947         * lib/hash.c (hash_entry): ...here.
40948         (hash_insert): Clarify restrictions on what can be inserted.
40949         (hash_get_next): Clarify when it is safe to remove an element
40950         during traversal.
40951         (check_tuning): Skip verification when tuning is known safe.
40952         (hash_initialize): Clarify restrictions on tuning.
40953
40954 2009-06-17  Jim Meyering  <jim@meyering.net>
40955         and Eric Blake  <ebb9@byu.net>
40956
40957         hash-tests: new module
40958         * modules/hash-tests: New file.
40959         * tests/test-hash.c: New file.
40960
40961 2009-06-17  Eric Blake  <ebb9@byu.net>
40962
40963         strstr-simple: document new module
40964         * MODULES.html.sh: Document new module.
40965
40966         strstr, strcasestr: replace on platforms with broken memchr
40967         * modules/strstr: Split into...
40968         * modules/strstr-simple: ...new module that does not care about
40969         performance, but does care about glibc bug.
40970         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40971         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40972         if platform memchr is broken, per Debian bug 521737.
40973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40974         memchr.
40975         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40976         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40977         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40978         * modules/mountlist (Depends-on): Add strstr-simple.
40979         * modules/gen-uni-tables (Depends-on): Likewise.
40980         * modules/argz (Depends-on): Add strstr.
40981
40982 2009-06-17  Bruno Haible  <bruno@clisp.org>
40983
40984         * modules/posix_spawn-internal (Depends-on): Add errno.
40985
40986 2009-06-17  Bruno Haible  <bruno@clisp.org>
40987
40988         Define missing ESTALE on Interix 3.5.
40989         * lib/errno.in.h (ESTALE): Assign a value if missing.
40990         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40991         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40992         missing.
40993         * doc/posix-headers/errno.texi: Mention the Interix bug.
40994         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40995
40996 2009-06-15  Eric Blake  <ebb9@byu.net>
40997
40998         memchr, memchr2: add valgrind exception
40999         * lib/memchr.valgrind: New file.
41000         * lib/memchr2.valgrind: New file.
41001         * modules/memchr (Files): Distribute valgrind file.
41002         * modules/memchr2 (Files): Likewise.
41003
41004         docs: memchr is no longer obsolete
41005         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41006         * lib/string.in.h (memchr): Simplify logic.
41007
41008 2009-06-14  Jim Meyering  <meyering@redhat.com>
41009
41010         link-follow: fix the "checking..." message to not mention trailing slash
41011         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41012         never considered trailing slashes.
41013
41014 2009-06-14  Bruno Haible  <bruno@clisp.org>
41015
41016         * m4/memchr.m4: Mention also the bug on IA-64.
41017         * doc/posix-functions/memchr.texi: Likewise.
41018
41019 2009-06-12  Eric Blake  <ebb9@byu.net>
41020
41021         memchr: detect broken x86_64 and alpha implementations
41022         * modules/memchr-tests (Depends-on): Move mmap detection...
41023         * modules/memchr (Depends-on): ...here.
41024         (configure.ac): Set indicator.
41025         * lib/string.in.h (memchr): Declare replacement.
41026         * modules/string (Makefile.am): Trigger replacement.
41027         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41028         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41029         bugs.
41030         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41031         * modules/getpagesize (License): Relax license.
41032
41033 2009-06-11  Bruno Haible  <bruno@clisp.org>
41034
41035         * lib/idpriv.h: Add more references.
41036
41037 2009-06-08  Bruno Haible  <bruno@clisp.org>
41038
41039         Tests for module 'idpriv-droptemp'.
41040         * modules/idpriv-droptemp-tests: New file.
41041         * tests/test-idpriv-droptemp.sh: New file.
41042         * tests/test-idpriv-droptemp.su.sh: New file.
41043         * tests/test-idpriv-droptemp.c: New file.
41044
41045         New module 'idpriv-droptemp'.
41046         * lib/idpriv-droptemp.c: New file.
41047         * modules/idpriv-droptemp: New file.
41048
41049 2009-06-08  Bruno Haible  <bruno@clisp.org>
41050
41051         Tests for module 'idpriv-drop'.
41052         * modules/idpriv-drop-tests: New file.
41053         * tests/test-idpriv-drop.sh: New file.
41054         * tests/test-idpriv-drop.su.sh: New file.
41055         * tests/test-idpriv-drop.c: New file.
41056
41057         New module 'idpriv-drop'.
41058         * lib/idpriv.h: New file.
41059         * lib-idpriv-drop.c: New file.
41060         * m4/idpriv.m4: New file.
41061         * modules/idpriv-drop: New file.
41062
41063 2009-06-08  Bruno Haible  <bruno@clisp.org>
41064
41065         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41066         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41067         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41068         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41069         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41070         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41071         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41072
41073 2009-06-08  Eric Blake  <ebb9@byu.net>
41074
41075         test-strstr: use memory fence, when possible
41076         * tests/test-strstr.c (main): Use memory fence, in order to be
41077         more likely to trigger Debian bug 521737.
41078         * modules/strstr-tests (Files): Pull in additional files.
41079
41080         memchr: no longer obsolete, for wider field testing
41081         * modules/memchr (Status, Notice): Delete, this module is no
41082         longer obsolete.
41083         * modules/vasnprintf (Depends-on): Add memchr.
41084
41085 2009-06-07  Jim Meyering  <meyering@redhat.com>
41086
41087         hash: declare some functions with the warn_unused_result attribute
41088         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41089
41090 2009-06-07  Bruno Haible  <bruno@clisp.org>
41091
41092         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41093         Reported by Eric Blake.
41094
41095 2009-06-06  Eric Blake  <ebb9@byu.net>
41096
41097         test-alignof: fix typo with long double
41098         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41099         compiler error.
41100
41101 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41102
41103         Escape non-texinfo { and }s.
41104         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41105         markup error.
41106
41107 2009-06-04  Jim Meyering  <meyering@redhat.com>
41108
41109         gitlog-to-changelog: don't infloop on an empty commit log
41110         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41111         Reported by Boris Petersen <transacid@centerim.org>.
41112
41113 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41114
41115         version-etc: extend for packagers
41116         Add three new configure options, intended for packagers:
41117           --with-packager="packager name"
41118           --with-packager-version="packager-specific version"
41119           --with-packager-bug-reports="packager bug reporting"
41120         An example with coreutils:
41121           $ ./configure \
41122             --with-packager=Gentoo \
41123             --with-packager-bug-report=http://bugs.gentoo.org/ \
41124             --with-packager-version="patchset 1.6"
41125           $ ./src/ls --version | head -n2
41126           ls (GNU coreutils) 7.1-dirty
41127           Packaged by Gentoo (patchset 1.6)
41128         Note that the bug reporting info via --help doesn't show up because
41129         coreutils uses its own custom emit_bug_reporting_address() implementation
41130         in src/system.h.  If it didn't, it'd look like:
41131           $ ./src/ls --help | tail -n4
41132           Report bugs to <bug-coreutils@gnu.org>.
41133           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41134           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41135           General help using GNU software: <http://www.gnu.org/gethelp/>.
41136         * lib/version-etc.c: Print new information, if provided.
41137         * m4/version-etc.m4: New file.
41138         * modules/version-etc (Files): Add m4/version-etc.m4.
41139         (configure.ac): Add gl_VERSION_ETC.
41140
41141 2009-05-31  Bruno Haible  <bruno@clisp.org>
41142
41143         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41144         and 'int64_t'.
41145         * modules/alignof-tests (Dependencies): Add stdint.
41146         Reported by Eric Blake.
41147
41148 2009-05-31  Bruno Haible  <bruno@clisp.org>
41149
41150         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41151         restriction due to compiler bugs.
41152         Reported by Eric Blake.
41153
41154 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41155             Bruno Haible  <bruno@clisp.org>
41156
41157         Fix test-alignof failure.
41158         * lib/alignof.h (alignof_slot): New macro.
41159         (alignof_type): New macro, with the same semantics as the previous
41160         'alignof'.
41161         (alignof): Alias to alignof_slot.
41162         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41163         check that the results are usable as constant expressions.
41164
41165 2009-05-31  Bruno Haible  <bruno@clisp.org>
41166
41167         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41168         * tests/test-memchr.c (main): Check that memchr does not read past the
41169         first occurrence of the byte.
41170         * tests/test-strstr.c (main): Update comment.
41171         Suggested by Eric Blake.
41172
41173 2009-05-30  Bruno Haible  <bruno@clisp.org>
41174
41175         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41176         detail how to use dumpbin.
41177         Reported by David Byron <dbyron@dbyron.com>.
41178
41179 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41180
41181         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41182
41183 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41184
41185         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41186
41187 2009-05-28  Bruno Haible  <bruno@clisp.org>
41188
41189         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
41190         build-aux/ files.
41191
41192 2009-05-28  Simon Josefsson  <simon@josefsson.org>
41193
41194         * gnulib-tool (func_import): Transform license on build-aux/ files too.
41195
41196 2009-05-27  Simon Josefsson  <simon@josefsson.org>
41197
41198         * gnulib-tool (sed_transform_main_lib_file)
41199         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
41200         regexps.
41201
41202 2009-05-26  Simon Josefsson  <simon@josefsson.org>
41203
41204         * tests/test-strstr.c: Add another self-test.
41205         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
41206         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
41207
41208 2009-05-23  Bruno Haible  <bruno@clisp.org>
41209
41210         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
41211         change.
41212
41213 2009-05-21  Bruno Haible  <bruno@clisp.org>
41214
41215         Simplify use of mode_t varargs.
41216         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
41217         uses 'mode_t' or 'int'.
41218         * lib/openat.c (openat): Likewise.
41219         * lib/open-safer.c (open_safer): Likewise.
41220         * m4/mode_t.m4: New file.
41221         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
41222         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
41223         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
41224         * modules/open (Files): Add m4/mode_t.m4.
41225         * modules/openat (Files): Likewise.
41226         * modules/fcntl-safer (Files): Likewise.
41227         Suggested by Eric Blake.
41228
41229 2009-05-21  Pádraig Brady  <P@draigbrady.com>
41230
41231         * doc/glibc-functions/fallocate.texi: New file.
41232         * doc/gnulib.texi: Include it.
41233
41234 2009-05-21  Eric Blake  <ebb9@byu.net>
41235             Bruno Haible  <bruno@clisp.org>
41236
41237         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
41238         invocations.
41239         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41240
41241 2009-05-21  Eric Blake  <ebb9@byu.net>
41242             Bruno Haible  <bruno@clisp.org>
41243
41244         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
41245         include_next. Fix of 2008-11-20 commit.
41246         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
41247         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
41248         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
41249         NEXT_MATH_H.
41250         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
41251         instead of NEXT_MATH_H.
41252
41253 2009-05-21  Bruno Haible  <bruno@clisp.org>
41254
41255         Avoid redefinition warnings for SIZE_MAX.
41256         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
41257         Reported by Simon Josefsson.
41258
41259 2009-05-21  Bruno Haible  <bruno@clisp.org>
41260
41261         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
41262         AC_CACHE_VAL.
41263
41264 2009-05-20  Bruno Haible  <bruno@clisp.org>
41265
41266         Make zeroptr.h work on mingw.
41267         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
41268         mprotect.
41269         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
41270         * modules/memchr2-tests (configure.ac): Likewise.
41271         * modules/memcmp-tests (configure.ac): Likewise.
41272         * modules/memmem-tests (configure.ac): Likewise.
41273         * modules/memrchr-tests (configure.ac): Likewise.
41274         Reported by Simon Josefsson.
41275
41276 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41277
41278         * tests/test-glob.c: Include string.h for strcmp prototype.
41279
41280 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41281
41282         * modules/getdelim (Depends-on): Add explicit stdint, although it
41283         was implicitly already pulled in via realloc-posix.
41284         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
41285
41286 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41287
41288         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
41289         G. Christensen" <tgc@jupiterrise.com>.
41290         * m4/sys_socket_h.m4: Check for sa_family_t.
41291         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
41292         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
41293         * tests/test-sys_socket.c: Check that sa_family_t works.
41294
41295 2009-05-18  Eric Blake  <ebb9@byu.net>
41296
41297         maint.mk: allow gnulib_dir in VPATH build
41298         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
41299
41300 2009-05-15  Jim Meyering  <meyering@redhat.com>
41301
41302         maint.mk: Give gnulib_dir a default definition.
41303         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
41304         Thus, most packages no longer need to specify this variable in cfg.mk
41305
41306 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
41307
41308         rename.m4: fix typos that would make non-mingw cross-configure fail
41309         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41310
41311 2009-05-13  Eric Blake  <ebb9@byu.net>
41312
41313         mmap-anon: avoid out-of-order autoconf expansion
41314         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41315         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41316         * modules/memchr-tests (Depends-on): Add extensions.
41317         * modules/memchr2-tests (Depends-on): Add extensions.
41318         * modules/memcmp-tests (Depends-on): Add extensions.
41319         * modules/memmem-tests (Depends-on): Add extensions.
41320         * modules/memrchr-tests (Depends-on): Add extensions.
41321
41322 2009-05-13  Bruno Haible  <bruno@clisp.org>
41323
41324         Make some tests ISO C 99 compliant.
41325         * tests/zerosize-ptr.h: New file.
41326         * tests/test-memchr.c: Include zerosize-ptr.h.
41327         (main): Use a zero-size object pointer instead of NULL.
41328         * tests/test-memchr2.c: Include zerosize-ptr.h.
41329         (main): Use a zero-size object pointer instead of NULL.
41330         * tests/test-memcmp.c: Include zerosize-ptr.h.
41331         (main): Use a zero-size object pointer instead of NULL.
41332         * tests/test-memmem.c: Include zerosize-ptr.h.
41333         (main): Use a zero-size object pointer instead of NULL.
41334         * tests/test-memrchr.c: Include zerosize-ptr.h.
41335         (main): Use a zero-size object pointer instead of NULL.
41336         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
41337         m4/mmap-anon.m4.
41338         (Depends-on): Add getpagesize.
41339         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41340         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
41341         m4/mmap-anon.m4.
41342         (Depends-on): Add getpagesize.
41343         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41344         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
41345         m4/mmap-anon.m4.
41346         (Depends-on): Add getpagesize.
41347         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41348         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
41349         m4/mmap-anon.m4.
41350         (Depends-on): Add getpagesize.
41351         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41352         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41353         m4/mmap-anon.m4.
41354         (Depends-on): Add getpagesize.
41355         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41356
41357 2009-05-12  Bruno Haible  <bruno@clisp.org>
41358
41359         Tests for module 'alignof'.
41360         * modules/alignof-tests: New file.
41361         * tests/test-alignof.c: New file.
41362
41363 2009-05-12  Bruno Haible  <bruno@clisp.org>
41364
41365         Fix alignof macro.
41366         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
41367         vendor compilers that are always correct.
41368
41369 2009-05-12  Bruno Haible  <bruno@clisp.org>
41370
41371         Make the MAP_ANONYMOUS detection work on HP-UX 11.
41372         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
41373         not whether its fully works.
41374
41375 2009-05-12  Bruno Haible  <bruno@clisp.org>
41376
41377         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41378
41379 2009-05-12  Jim Meyering  <meyering@redhat.com>
41380
41381         * top/maint.mk: Adjust backslash alignment.
41382
41383 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41384
41385         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41386
41387 2009-05-11  Eric Blake  <ebb9@byu.net>
41388
41389         argp: avoid undefined behavior
41390         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41391         macros.
41392
41393 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41394
41395         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41396         user.name to prevent git commit from complaining.
41397
41398 2009-05-10  Bruno Haible  <bruno@clisp.org>
41399
41400         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41401         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41402         it rewrites every file name only once.
41403         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41404
41405 2009-05-08  Bruno Haible  <bruno@clisp.org>
41406
41407         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41408         instead of 'max'.
41409
41410 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41411
41412         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
41413         sockaddr_storage test.
41414
41415 2009-05-07  Simon Josefsson  <simon@josefsson.org>
41416
41417         * modules/sys_socket (Makefile.am): Substitute
41418         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
41419         * m4/sys_socket_h.m4: Check for sockaddr_storage.
41420         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
41421         * tests/test-sys_socket.c: Check sockaddr_storage.
41422
41423 2009-05-08  Bruno Haible  <bruno@clisp.org>
41424
41425         New module 'alignof'.
41426         * lib/alignof.h: New file.
41427         * modules/alignof: New file.
41428
41429 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41430             Bruno Haible  <bruno@clisp.org>
41431
41432         Fix test-file-has-acl on FreeBSD.
41433         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
41434         mask is implicitly added.
41435         * tests/test-file-has-acl.c: Include <signal.h>.
41436         (main): Terminate the test after 5 seconds.
41437         * modules/acl-tests (configure.ac): Check for alarm function.
41438
41439 2009-05-04  Bruno Haible  <bruno@clisp.org>
41440
41441         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
41442         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
41443         * modules/errno (configure.ac): Drop AC_REQUIRE.
41444         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
41445         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
41446
41447 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41448
41449         * modules/glob-tests: New module.
41450         * tests/test-glob.c: Add.
41451
41452 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41453
41454         * modules/fnmatch-tests: New module.
41455         * tests/test-fnmatch.c: Add.
41456
41457 2009-05-04  Eric Blake  <ebb9@byu.net>
41458
41459         maint: make the new no-submodule-changes rule VPATH-safe
41460         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
41461
41462 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41463             Bruno Haible  <bruno@clisp.org>
41464
41465         acl: Fix infinite loop on FreeBSD.
41466         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
41467         of return value from acl_get_entry.
41468         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
41469         Likewise.
41470
41471 2009-05-03  Bruno Haible  <bruno@clisp.org>
41472
41473         * lib/acl-internal.h (acl_entries): Clarify return value.
41474         * lib/acl_entries.c (acl_entries): Likewise.
41475
41476 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41477
41478         Bug fix in acl module.
41479         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
41480
41481 2009-05-03  Bruno Haible  <bruno@clisp.org>
41482
41483         Create gperf-generated file in the source dir, not in the build dir.
41484         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41485         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41486         * modules/unicase/locale-language (unicase/locale-languages.h):
41487         Likewise.
41488         * modules/unicase/special-casing (unicase/special-casing-table.h):
41489         Likewise.
41490         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41491         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41492         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41493         Reported by Ralf Wildenhues.
41494
41495 2009-05-03  Bruno Haible  <bruno@clisp.org>
41496
41497         * modules/fnmatch (Description, configure.ac): Taken from
41498         fnmatch-posix.
41499         * modules/fnmatch-posix: Turn into a symbolic reference to the
41500         'fnmatch' module, and deprecate.
41501         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41502
41503 2009-05-03  Bruno Haible  <bruno@clisp.org>
41504
41505         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41506         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41507         Reported by Ralf Wildenhues.
41508
41509 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41510
41511         * m4/fnmatch.m4: Fix fnmatch re-define.
41512
41513 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41514
41515         priv-set: new module and tests; adapt write-any-file
41516         * lib/priv-set.c: New file.
41517         * lib/priv-set.h: New file.
41518         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41519         * lib/write-any-file.c: Simplify by using priv-set module.
41520         * m4/priv-set.m4: New file.
41521         * modules/priv-set: New file.
41522         * modules/unlinkdir: Add dependency on priv-set module.
41523         * modules/write-any-file: Likewise.
41524
41525         Tests for module 'priv-set'.
41526         * modules/priv-set-tests: New file.
41527         * tests/test-priv-set.c: New file.
41528
41529 2009-05-03  Jim Meyering  <meyering@redhat.com>
41530             Bruno Haible  <bruno@clisp.org>
41531
41532         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41533         use the converted UTF-8 variant of the name instead.
41534
41535 2009-05-03  Jim Meyering  <meyering@redhat.com>
41536
41537         tests: tighten some getdate tests
41538         * tests/test-getdate.c (main): Tighten tests: require equality,
41539         not just greater than.  Set TZ envvar to UTC0.
41540
41541 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41542
41543         getdate: correctly interpret "next monday" when run on a Monday
41544         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41545         that e.g., "next tues" (when run on a tuesday) results in a date
41546         that is one week in the future, and not today's date.
41547         I.e., add a week when the wday is the same as the current one.
41548         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41549         and earlier by Martin Bernreuther and Jan Minář.
41550         * tests/test-getdate.c (main): Check that "next DAY" is always in
41551         the future and that "last DAY" is always in the past.
41552
41553 2009-05-02  Jim Meyering  <meyering@redhat.com>
41554
41555         build: ensure that a release build fails when a submodule is unclean
41556         * top/maint.mk (no-submodule-changes): New rule.
41557         (alpha beta major): Depend on it.
41558
41559 2009-05-02  Bruno Haible  <bruno@clisp.org>
41560
41561         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41562         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41563         shell variable gl_fnmatch_required to detect which variant is
41564         requested.
41565         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41566         gl_FUNC_FNMATCH_POSIX.
41567         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41568         exclude fnmatch-posix.
41569
41570 2009-05-02  Bruno Haible  <bruno@clisp.org>
41571
41572         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41573         * modules/mbsrtowcs (License): Change to LGPLv2+.
41574         * modules/strnlen1 (License): Likewise.
41575         Reported by Simon Josefsson.
41576
41577 2009-05-02  Bruno Haible  <bruno@clisp.org>
41578
41579         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41580         "cross".
41581         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41582         gnulib-tool was called with option --source-base=lib.
41583
41584 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41585
41586         Use automake *-local hooks without commands, for extensibility.
41587         * modules/localcharset (Makefile.am): Rename install-exec-local
41588         rule to install-exec-localcharset, and make it a prerequisite of
41589         install-exec-local.  Likewise, rename the uninstall-local rule to
41590         uninstall-localcharset, and make it a prerequisite of the former.
41591
41592 2009-05-01  Bruno Haible  <bruno@clisp.org>
41593
41594         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41595         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41596         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41597         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41598         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41599         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41600         m4/locale-zh.m4, m4/codeset.m4.
41601
41602         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41603         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41604         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41605         m4/locale-zh.m4.
41606
41607         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41608         REPLACE_WCRTOMB if mbstate_t must be replaced.
41609         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41610         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41611
41612 2009-05-01  Bruno Haible  <bruno@clisp.org>
41613
41614         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41615         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41616         dngettext, dcngettext, textdomain, bindtextdomain,
41617         bind_textdomain_codeset): Undefine before redefining.
41618
41619 2009-04-30  Bruno Haible  <bruno@clisp.org>
41620
41621         Fix bug introduced on 2009-04-25.
41622         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41623         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41624         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41625         is defined.
41626         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41627         is defined.
41628         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41629         is defined.
41630         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41631
41632 2009-04-28  Bruno Haible  <bruno@clisp.org>
41633
41634         Comment tweaks.
41635         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41636         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41637         * lib/unicase.h (u*_casexfrm): Likewise.
41638         Reported by Paolo Bonzini.
41639
41640 2009-04-28  Bruno Haible  <bruno@clisp.org>
41641
41642         Fix a compilation error.
41643         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41644         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41645         Reported by Jim Meyering.
41646
41647 2009-04-27  Bruno Haible  <bruno@clisp.org>
41648
41649         New module 'libunistring'.
41650         * modules/libunistring: New file.
41651         * m4/libunistring.m4: New file.
41652         * MODULES.html.sh (Unicode string functions): Add it.
41653
41654 2009-04-27  Eric Blake  <ebb9@byu.net>
41655
41656         maint.mk: allow package-specific header to provide <config.h>
41657         * top/maint.mk (sc_require_config_h): New variable.
41658         (sc_require_config_h, sc_require_config_h_first): Use it.
41659
41660 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41661
41662         * top/maint.mk (sc_avoid_if_before_free): Except
41663         useless-if-before-free script.
41664
41665 2009-04-27  Eric Blake  <ebb9@byu.net>
41666
41667         maintainer-makefile: depend on all required helper scripts
41668         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41669         useless-if-before-free.
41670         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41671         version, rather than assuming gnulib checkout is available.
41672         Reported by Simen Josefsson.
41673
41674 2009-04-26  Bruno Haible  <bruno@clisp.org>
41675
41676         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41677         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41678         "../" or "..".
41679
41680 2009-04-26  Bruno Haible  <bruno@clisp.org>
41681
41682         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41683         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41684         AC_LIB_HAVE_LINKFLAGS.
41685
41686 2009-04-26  Bruno Haible  <bruno@clisp.org>
41687
41688         Simplify calling convention of u*_conv_from_encoding.
41689         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41690         u32_conv_from_encoding): Expect a resultbuf argument and return the
41691         result directly as a pointer.
41692         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41693         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41694         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41695         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41696         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41697         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41698         Update.
41699         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41700         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41701         * lib/vasnprintf.c (VASNPRINTF): Update.
41702         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41703         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41704         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41705         * NEWS: Mention the change.
41706
41707 2009-04-26  Bruno Haible  <bruno@clisp.org>
41708
41709         Simplify calling convention of u*_conv_to_encoding.
41710         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41711         u32_conv_to_encoding): Expect a resultbuf argument and return the
41712         result directly as a pointer.
41713         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41714         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41715         freeing scaled_offsets if mem_iconveha failed.
41716         * lib/unicase/u-casexfrm.h (FUNC): Update.
41717         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41718         * lib/vasnprintf.c (VASNPRINTF): Update.
41719         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41720         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41721         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41722         * NEWS: Mention the change.
41723
41724 2009-04-26  Bruno Haible  <bruno@clisp.org>
41725
41726         Avoid test failures on AIX and OSF/1.
41727         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41728         malloc(0).
41729         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41730         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41731         Likewise.
41732         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41733         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41734         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41735         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41736         * doc/posix-functions/malloc.texi: Document the portability problem
41737         related to malloc(0).
41738
41739 2009-04-26  Bruno Haible  <bruno@clisp.org>
41740
41741         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41742         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41743         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41744
41745 2009-04-25  Bruno Haible  <bruno@clisp.org>
41746
41747         Avoid link error when creating a namespace clean library.
41748         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41749         as macro with arguments if already defined as an alias.
41750         * lib/signbitf.c (gl_signbitf): Don't undefine.
41751         * lib/signbitd.c (gl_signbitd): Don't undefine.
41752         * lib/signbitl.c (gl_signbitl): Don't undefine.
41753
41754 2009-04-25  Jim Meyering  <meyering@redhat.com>
41755
41756         vc-list-files: fix another quoting bug
41757         * build-aux/vc-list-files: Avoid sed backslash expansion
41758         of pathological directory names.
41759
41760 2009-04-25  Eric Blake  <ebb9@byu.net>
41761
41762         vc-list-files: fix shell quoting error
41763         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41764         timestamp.
41765
41766 2009-04-25  Jim Meyering  <meyering@redhat.com>
41767
41768         vc-list-files: restore lost functionality with subdir argument
41769         * build-aux/vc-list-files: When given a non-"." sub-directory
41770         argument, substitute the $dir/ prefix back onto each resulting name.
41771         Otherwise, coreutils' root_tests check would fail.
41772
41773 2009-04-24  Eric Blake  <ebb9@byu.net>
41774
41775         vc-list-files: ignore git symlinks
41776         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41777         than ls-files, to ignore git symlinks.
41778
41779         maint.mk: import improvements from m4
41780         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41781         (move_if_change): Delete unused macro.
41782         (news-date-check, vc-diff-check): Support VPATH builds.
41783         (announcement): Likewise.  Split --bootstrap-tools list...
41784         (boostrap-tools): ...into separate list, which can be overridden
41785         in cfg.mk.
41786         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41787         requiring dependency on useless-if-before-free module.
41788         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41789         Support VPATH builds.
41790
41791 2009-04-24  Jim Meyering  <meyering@redhat.com>
41792
41793         maint.mk: remove coreutils-specific rules and variables
41794         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41795         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41796         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41797
41798         maint.mk: remove obsolete rule
41799         * top/maint.mk (rel-check): Remove rule.
41800         (WGET, WGETFLAGS): Remove now-unused variables.
41801
41802 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41803
41804         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41805         consistency.
41806
41807         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41808         '$(PATH_SEPARATOR)' instead of ':'.
41809
41810 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41811
41812         * lib/getopt1.c (main): Use 'const' for static array.
41813
41814 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41815
41816         * top/maint.mk: Sync with coreutils.
41817         * NEWS: Explain incompatibilities.
41818
41819 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41820             Bruno Haible  <bruno@clisp.org>
41821
41822         Fix cross-compilation results.
41823         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41824         statement, as third argument of AC_TRY_RUN.
41825         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41826         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41827         Likewise.
41828         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41829         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41830         Likewise.
41831         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41832         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41833         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41834
41835 2009-04-20  Bruno Haible  <bruno@clisp.org>
41836
41837         Avoid test failure on mingw.
41838         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41839
41840 2009-04-20  Bruno Haible  <bruno@clisp.org>
41841
41842         Avoid compilation error on mingw.
41843         * modules/localename-tests (Depends-on): Add locale.
41844
41845 2009-04-19  Bruno Haible  <bruno@clisp.org>
41846
41847         Support for building a shared library on Windows platforms.
41848         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41849         (main): Test the presence of UNINORM_NFC here.
41850         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41851         (main): Test the presence of UNINORM_NFD here.
41852         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41853         (main): Test the presence of UNINORM_NFKC here.
41854         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41855         (main): Test the presence of UNINORM_NFKD here.
41856
41857 2009-04-19  Bruno Haible  <bruno@clisp.org>
41858
41859         Avoid a compiler warning.
41860         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41861         Change type of variable 'sequence'.
41862
41863 2009-04-19  Bruno Haible  <bruno@clisp.org>
41864
41865         * modules/configmake (Makefile.am): When the contents of configmake.h
41866         does not change, arrange to preserve its modification time.
41867
41868 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41869
41870         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41871         gettext domain.
41872
41873 2009-04-16  Jim Meyering  <meyering@redhat.com>
41874
41875         useless-if-before-free: improve conversion code
41876         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41877         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41878
41879 2009-04-14  Bruno Haible  <bruno@clisp.org>
41880
41881         * modules/fcntl (Depends-on): Add extensions.
41882         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41883
41884 2009-04-12  Ben Pfaff  <blp@gnu.org>
41885
41886         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41887         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41888
41889 2009-03-20  Ben Pfaff  <blp@gnu.org>
41890
41891         Make rename replace existing destinations on Windows.
41892         * m4/rename.m4: Add test for Mingw.
41893         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41894         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41895         * doc/posix-functions/rename.texi: Document.
41896
41897 2009-04-10  Bruno Haible  <bruno@clisp.org>
41898
41899         New include file "iconveh.h".
41900         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41901         * lib/striconveh.h: Include it.
41902         (enum iconv_ilseq_handler): Remove definition.
41903         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41904         striconveh.h.
41905         * lib/striconveha.c: Include striconveh.h.
41906         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41907         * modules/striconveh (Files): Add lib/iconveh.h.
41908         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41909         lib/striconveh.h.
41910
41911 2009-04-10  Bruno Haible  <bruno@clisp.org>
41912
41913         * lib/uniconv.h: Update comment.
41914
41915 2009-04-10  Bruno Haible  <bruno@clisp.org>
41916
41917         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41918         always.
41919         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41920         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41921         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41922         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41923         "unistring-notinline.h", so that the function gets defined always.
41924         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41925         * lib/unistr/u8-uctomb.c: Likewise.
41926         * lib/unistr/u16-mbtouc.c: Likewise.
41927         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41928         * lib/unistr/u16-uctomb.c: Likewise.
41929         * lib/unistr/u32-mbtouc.c: Likewise.
41930         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41931         * lib/unistr/u32-uctomb.c: Likewise.
41932
41933 2009-04-10  Bruno Haible  <bruno@clisp.org>
41934
41935         Mark 'utime' obsolete.
41936         * modules/utime (Status, Notice): New sections.
41937         Suggested by Jim Meyering.
41938
41939         Fix cross-compile guess for utime test.
41940         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41941         autoconf.
41942         * doc/posix-functions/utime.texi: Give more precisions.
41943         Reported by Jan <ipif@ymail.com>.
41944
41945 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41946
41947         filevercmp: correct today's change
41948         * lib/filevercmp.c: Also handle coreutils' test inputs.
41949         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41950
41951         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41952         for reporting it.
41953         * lib/filevercmp.c: Special handle for "", "." and "..".
41954         * tests/test-filevercmp.c: Enlarge the set suite.
41955
41956 2009-04-07  Jim Meyering  <meyering@redhat.com>
41957
41958         useless-if-before-free: show how to remove braced useless free, too
41959         * build-aux/useless-if-before-free: still only in a comment, though.
41960
41961 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41962
41963         maint.mk: import changes to syntax-check macros from coreutils
41964         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41965         Use them in the relevant macros.
41966
41967 2009-04-06  Bruno Haible  <bruno@clisp.org>
41968
41969         Fix unportable use of bit-fields.
41970         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41971         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41972         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41973
41974 2009-04-06  Bruno Haible  <bruno@clisp.org>
41975
41976         Avoid test failures on AIX and OSF/1.
41977         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41978         that malloc(0) = NULL.
41979         * tests/unicase/test-u8-tolower.c (check): Likewise.
41980         * tests/unicase/test-u8-totitle.c (check): Likewise.
41981         * tests/unicase/test-u8-toupper.c (check): Likewise.
41982         * tests/unicase/test-u16-casefold.c (check): Likewise.
41983         * tests/unicase/test-u16-tolower.c (check): Likewise.
41984         * tests/unicase/test-u16-totitle.c (check): Likewise.
41985         * tests/unicase/test-u16-toupper.c (check): Likewise.
41986         * tests/unicase/test-u32-casefold.c (check): Likewise.
41987         * tests/unicase/test-u32-tolower.c (check): Likewise.
41988         * tests/unicase/test-u32-totitle.c (check): Likewise.
41989         * tests/unicase/test-u32-toupper.c (check): Likewise.
41990         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41991         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41992         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41993         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41994         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41995         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41996         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41997         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41998         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41999         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42000         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42001         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42002
42003 2009-04-05  Bruno Haible  <bruno@clisp.org>
42004
42005         Work around an autoconf limitation.
42006         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42007         comment line if it would be longer than 3 KB.
42008
42009 2009-04-05  Bruno Haible  <bruno@clisp.org>
42010
42011         Avoid test failure with libiconv-1.13.
42012         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42013         of the expected test results.
42014
42015 2009-04-05  Bruno Haible  <bruno@clisp.org>
42016
42017         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42018         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42019         that it should be installed.
42020
42021 2009-04-05  Bruno Haible  <bruno@clisp.org>
42022
42023         * gnulib-tool: New option --copy-file.
42024         (func_usage): Document it.
42025         (func_dest_tmpfilename): Moved out of func_import.
42026         (func_add_file, func_update_file): New functions, extracted from
42027         func_import.
42028         (func_import): Update.
42029
42030 2009-04-05  Karl Berry  <karl@gnu.org>
42031
42032         * README: prominently mention gnulib-tool.
42033         Rearrange sections so getting the code is near the top.
42034
42035 2009-04-05  Bruno Haible  <bruno@clisp.org>
42036
42037         * lib/unicase.h: Mention u*_cmp2.
42038         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42039         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42040         * lib/unicase/ulc-casecmp.c: Likewise.
42041         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42042         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42043         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42044         unistr/u8-cmp.
42045         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42046         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42047         unistr/u16-cmp.
42048         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42049         unistr/u32-cmp.
42050
42051         * lib/uninorm.h: Mention u*_cmp2.
42052         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42053         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42054         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42055         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42056         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42057         unistr/u8-cmp.
42058         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42059         unistr/u16-cmp.
42060         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42061         unistr/u32-cmp.
42062
42063         New module 'unistr/u32-cmp2'.
42064         * lib/unistr/u32-cmp2.c: New file.
42065         * modules/unistr/u32-cmp2: New file.
42066
42067         New module 'unistr/u16-cmp2'.
42068         * lib/unistr/u16-cmp2.c: New file.
42069         * modules/unistr/u16-cmp2: New file.
42070
42071         New module 'unistr/u8-cmp2'.
42072         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42073         * lib/unistr/u8-cmp2.c: New file.
42074         * lib/unistr/u-cmp2.h: New file.
42075         * modules/unistr/u8-cmp2: New file.
42076
42077 2009-04-05  Bruno Haible  <bruno@clisp.org>
42078
42079         * lib/unictype.h (uc_property_is_valid): New macro.
42080         * tests/unictype/test-pr_byname.c (main): Use it.
42081
42082         * lib/unistr.h: Doc fixes.
42083         * lib/uniconv.h: Doc fixes.
42084         * lib/unictype.h: Doc fixes.
42085
42086 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42087
42088         Port coreutils 7.2 to Solaris 8.
42089
42090         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42091         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42092         for Solaris 8.  This is a bit of a hack, as it means it's the
42093         caller's responsibility to add -lnsl if needed, but most likely it
42094         won't be needed since only getaddrinfo uses this and getaddrinfo
42095         isn't needed on Solaris 8.
42096
42097         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42098         problem to Solaris 8 encountered with coreutils 7.2, which
42099         resulted in a message "fnmatch.c:292: warning: passing argument 4
42100         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42101         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42102
42103 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42104
42105         * m4/ld-version-script.m4: Add FIXME comment.
42106
42107 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42108
42109         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42110         SOVERSION variable.
42111
42112 2009-04-02  Bruno Haible  <bruno@clisp.org>
42113
42114         * Makefile (info, html, dvi, pdf): Combine the rules.
42115         Suggested by Jim Meyering.
42116
42117 2009-04-01  Bruno Haible  <bruno@clisp.org>
42118
42119         * Makefile (info, html, dvi, pdf): New targets.
42120         Reported by Reuben Thomas <rrt@sc3d.org>.
42121
42122 2009-04-01  Bruno Haible  <bruno@clisp.org>
42123
42124         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42125         can be put into PATH.
42126         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42127
42128 2009-04-01  Bruno Haible  <bruno@clisp.org>
42129
42130         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42131
42132 2009-04-01  Bruno Haible  <bruno@clisp.org>
42133
42134         Rename module 'visibility'.
42135         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42136         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42137         * doc/gnulib.texi: Update.
42138         * MODULES.html.sh (Misc): Update.
42139         * NEWS: Mention the change.
42140
42141 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42142
42143         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42144         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42145         Eric Blake <ebb9@byu.net> for review.
42146         * MODULES.html.sh: Add lib-msvc-compat.
42147         * doc/gnulib.texi: Link to new section.
42148         * m4/ld-output-def.m4: New file.
42149         * doc/ld-output-def.texi: New file.
42150
42151 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42152
42153         Rename ld-version-script to lib-symbol-versions.  Suggested by
42154         Bruno Haible <bruno@clisp.org>.
42155         * modules/ld-version-script: Renamed to lib-symbol-versions.
42156         * doc/ld-version-script.texi: Fix module name.
42157         * MODULES.html.sh: Add lib-symbol-versions.
42158
42159 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42160
42161         * modules/u64-tests: New file.
42162         * tests/test-u64.c: New file.
42163
42164 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42165
42166         * MODULES.html.sh: Mention u64.
42167         * modules/u64: New module.
42168         * modules/crypto/sha512: Depend on u64 module instead of providing
42169         u64.h.
42170
42171 2009-03-27  Eric Blake  <ebb9@byu.net>
42172
42173         test-strerror: make debugging EAI_SYSTEM easier
42174         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42175         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42176         failure was EAI_SYSTEM.
42177
42178 2009-03-25  Bruno Haible  <bruno@clisp.org>
42179
42180         Fix a problem with --enable-relocatable on Solaris 7.
42181         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42182         since 2008-02-24.
42183
42184 2009-03-25  Eric Blake  <ebb9@byu.net>
42185
42186         test-sockets: avoid gcc warning
42187         * tests/test-sockets.c (main): Silence compiler warning.
42188
42189 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42190
42191         New modules nproc, pthread, contributed by Glen Lenker.
42192
42193         * MODULES.html.sh: Add pthread, nproc.
42194         * lib/nproc.c: New file.
42195         * lib/nproc.h: New file.
42196         * lib/pthread.in.h: New file.
42197         * m4/pthread.m4: New file.
42198         * modules/nproc: New file.
42199         * modules/pthread: New file.
42200
42201 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42202
42203         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
42204         New variable.
42205
42206 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
42207
42208         filevercmp: handle simple~ and numbered.~3~ backup suffixes
42209         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
42210         * tests/test-filevercmp.c: Add tests for backup suffixes.
42211
42212 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42213
42214         * modules/stdlib (Depends-on): Add stdint, needed when defining
42215         struct random_data on, for example, HP-UX 10.20.  Reported by
42216         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42217
42218 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42219
42220         * lib/readline.c (readline): Call fflush on stdout after printing
42221         prompt.
42222
42223 2009-03-20  Bruno Haible  <bruno@clisp.org>
42224
42225         Remove dependency from 'close' module to -lws2_32 on native Windows.
42226         * lib/close-hook.h: New file.
42227         * lib/close-hook.c: New file.
42228         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
42229         w32sock.h.
42230         (_gl_close_fd_maybe_socket): Remove function.
42231         (rpl_close): Invoke execute_all_close_hooks instead of
42232         _gl_close_fd_maybe_socket.
42233         * lib/sockets.c: Include close-hook.h, w32sock.h.
42234         (close_fd_maybe_socket): New function, essentially from lib/close.c.
42235         (close_sockets_hook): New variable.
42236         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
42237         (gl_sockets_cleanup): Unregister it.
42238         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
42239         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
42240         * modules/close-hook: New file.
42241         * modules/close (Files): Remove lib/w32sock.h.
42242         (Depends-on): Add close-hook.
42243         (Link): Remove section.
42244         * modules/sockets (Files): Add lib/w32sock.h.
42245         (Depends-on): Add close-hook.
42246         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
42247         invocation.
42248         * NEWS: Mention that LIB_CLOSE is gone.
42249
42250 2009-03-23  Eric Blake  <ebb9@byu.net>
42251
42252         signal-tests: test previous patch
42253         * tests/test-signal.c: New file.
42254         * modules/signal-tests: Likewise.
42255
42256         signal.h: always support 'volatile sig_atomic_t'
42257         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
42258         (gl_SIGNAL_H_DEFAULTS): Add a default.
42259         * modules/signal (Makefile.am): Substitute if needed.
42260         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
42261         users can blindly add volatile.
42262         * doc/posix-headers/signal.texi (signal.h): Document it.
42263         Reported by Matthew Woehlke.
42264
42265 2009-03-23  Jim Meyering  <meyering@redhat.com>
42266
42267         pathmax: PATH_MAX: use pathconf only when available
42268         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
42269         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
42270         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
42271         This avoids a link failure in a PSP cross-compilation environment
42272         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
42273
42274         * lib/vasnprintf.c (divide): Fix typo in comment.
42275
42276 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42277
42278         * gnulib-tool (func_filter_filelist): Fix comment.
42279
42280 2009-03-20  Bruno Haible  <bruno@clisp.org>
42281
42282         Make sockets.h self-contained.
42283         * lib/sockets.c: Include sockets.h first.
42284         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
42285
42286 2009-03-19  Eric Blake  <ebb9@byu.net>
42287
42288         doc: mention more functions added in cygwin 1.7.0
42289         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
42290         addition.
42291         * doc/posix-functions/log2f.texi: Likewise.
42292
42293 2009-03-19  Jim Meyering  <meyering@redhat.com>
42294
42295         fsusage: avoid syntax error due to statement-before-declaration
42296         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
42297         after all declarations.  Reported by Matthew Woehlke in
42298         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
42299
42300 2009-03-18  Eric Blake  <ebb9@byu.net>
42301
42302         build-aux/compile: sync from automake
42303         * build-aux/compile: New file, from automake.
42304         * config/srclist.txt: Mention build-aux/compile.
42305
42306 2009-03-17  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/git-merge-changelog.c: Fix typo in comment.
42309         Reported by Reuben Thomas <rrt@sc3d.org>.
42310
42311 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42312
42313         * m4/regex.m4: update and improve help for
42314         --without-included-regex.
42315
42316 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42317
42318         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42319         failure on missing include files.
42320
42321 2009-03-17  Eric Blake  <ebb9@byu.net>
42322
42323         doc: mention more functions added in cygwin 1.7.0
42324         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42325         addition.
42326         * doc/posix-functions/fwscanf.texi: Likewise.
42327         * doc/posix-functions/swprintf.texi: Likewise.
42328         * doc/posix-functions/swscanf.texi: Likewise.
42329         * doc/posix-functions/vfwprintf.texi: Likewise.
42330         * doc/posix-functions/vfwscanf.texi: Likewise.
42331         * doc/posix-functions/vswprintf.texi: Likewise.
42332         * doc/posix-functions/vswscanf.texi: Likewise.
42333         * doc/posix-functions/vwprintf.texi: Likewise.
42334         * doc/posix-functions/vwscanf.texi: Likewise.
42335         * doc/posix-functions/wcscasecmp.texi: Likewise.
42336         * doc/posix-functions/wcsdup.texi: Likewise.
42337         * doc/posix-functions/wcsftime.texi: Likewise.
42338         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42339         * doc/posix-functions/wprintf.texi: Likewise.
42340         * doc/posix-functions/wscanf.texi: Likewise.
42341         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42342
42343 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42344
42345         maint.mk: really add $(AM_MAKEFLAGS)
42346         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42347         was inadvertently omitted in the last commit.
42348         Spotted by Bruno Haible.
42349
42350         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42351         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42352         $(AM_MAKEFLAGS)' rather than plain `make'.
42353
42354         gnulib-tool: execute $MAKE not make
42355         * gnulib-tool: Default $MAKE to 'make'.
42356         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42357         than make.  Initialize $MAKE in the do-autobuild script.
42358
42359         gnulib-tool: use $MAKE not make in generated files
42360         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
42361         make, in generated files.  Initialize $MAKE in the do-autobuild
42362         script.
42363
42364         * top/GNUmakefile (_have-git-version-gen): Fix typo.
42365
42366         GNUmakefile: disable parallelism only for multiple, recursive targets
42367         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
42368         additions in the Makefile.
42369         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
42370         by Automake.
42371         (.NOTPARALLEL): Only disable parallel builds if multiple targets
42372         are listed on the command line and at least one of them is
42373         listed in $(ALL_RECURSIVE_TARGETS).
42374
42375 2009-03-14  Bruno Haible  <bruno@clisp.org>
42376
42377         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42378         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42379         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42380         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42381         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42382         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42383         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42384         unistr/u8-uctomb.
42385         * modules/unistr/u8-strchr (Depends-on): Likewise.
42386         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42387         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42388         unistr/u16-uctomb.
42389         * modules/unistr/u16-strchr (Depends-on): Likewise.
42390         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42391
42392 2009-03-12  Bruno Haible  <bruno@clisp.org>
42393
42394         Work around select() bug on Interix 3.5.
42395         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42396         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42397         * m4/select.m4: New file.
42398         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42399         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42400         * modules/select (Files): Add m4/select.m4.
42401         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42402         * modules/nanosleep (Depends-on): Add select.
42403         * modules/poll (Depends-on): Likewise.
42404         * doc/posix-functions/select.texi: Mention the Interix bug.
42405         Reported by Markus Duft <mduft@gentoo.org>.
42406
42407         * lib/select.c: Renamed from lib/winsock-select.c.
42408         * modules/select (Files): Add lib/select.c, remove
42409         lib/winsock-select.c.
42410         (configure.ac): Update.
42411
42412 2009-03-12  Jim Meyering  <meyering@redhat.com>
42413
42414         avoid gcc warnings about unused macro definitions
42415         * lib/readtokens.c (STREQ): Remove unused definition.
42416         * lib/xmalloc.c (SIZE_MAX): Likewise.
42417         * lib/openat-die.c (N_): Likewise.
42418         * lib/mountlist.c (SIZE_MAX): Remove definition.
42419         Instead, include <stdint.h>.
42420         * lib/readutmp.c: Likewise.
42421         * modules/readutmp (Depends-on): Add stdint.
42422         * modules/mountlist (Depends-on): Add stdint.
42423         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
42424
42425 2009-03-10  Bruno Haible  <bruno@clisp.org>
42426
42427         Tests for module 'mbmemcasecoll'.
42428         * modules/mbmemcasecoll-tests: New file.
42429         * tests/test-mbmemcasecoll1.sh: New file.
42430         * tests/test-mbmemcasecoll2.sh: New file.
42431         * tests/test-mbmemcasecoll3.sh: New file.
42432         * tests/test-mbmemcasecoll.c: New file.
42433
42434         New module 'mbmemcasecoll'.
42435         * lib/mbmemcasecoll.h: New file.
42436         * lib/mbmemcasecoll.c: New file.
42437         * modules/mbmemcasecoll: New file.
42438
42439         * tests/test-mbmemcasecmp.h: New file, extracted from
42440         tests/test-mbmemcasecmp.c.
42441         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
42442         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
42443         (main): Update.
42444         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
42445
42446 2009-03-09  Bruno Haible  <bruno@clisp.org>
42447
42448         Tests for module 'mbmemcasecmp'.
42449         * modules/mbmemcasecmp-tests: New file.
42450         * tests/test-mbmemcasecmp1.sh: New file.
42451         * tests/test-mbmemcasecmp2.sh: New file.
42452         * tests/test-mbmemcasecmp3.sh: New file.
42453         * tests/test-mbmemcasecmp.c: New file.
42454
42455         New module 'mbmemcasecmp'.
42456         * lib/mbmemcasecmp.h: New file.
42457         * lib/mbmemcasecmp.c: New file.
42458         * modules/mbmemcasecmp: New file.
42459
42460 2009-03-09  Bruno Haible  <bruno@clisp.org>
42461
42462         Tests for module 'unicase/ulc-casecoll'.
42463         * modules/unicase/ulc-casecoll-tests: New file.
42464         * tests/unicase/test-ulc-casecoll1.sh: New file.
42465         * tests/unicase/test-ulc-casecoll2.sh: New file.
42466         * tests/unicase/test-ulc-casecoll.c: New file.
42467
42468         New module 'unicase/ulc-casecoll'.
42469         * lib/unicase.h (ulc_casecoll): New declaration.
42470         * lib/unicase/ulc-casecoll.c: New file.
42471         * modules/unicase/ulc-casecoll: New file.
42472
42473         New module 'unicase/ulc-casexfrm'.
42474         * lib/unicase.h (ulc_casexfrm): New declaration.
42475         * lib/unicase/ulc-casexfrm.c: New file.
42476         * modules/unicase/ulc-casexfrm: New file.
42477
42478 2009-03-09  Bruno Haible  <bruno@clisp.org>
42479
42480         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
42481         invocations.
42482
42483         * m4/mbscasecmp.m4: Remove file.
42484         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42485         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42486
42487         * m4/mbscasestr.m4: Remove file.
42488         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42489         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42490
42491         * m4/mbschr.m4: Remove file.
42492         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42493         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42494
42495         * m4/mbscspn.m4: Remove file.
42496         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42497         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42498
42499         * m4/mbslen.m4: Remove file.
42500         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42501         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42502
42503         * m4/mbsncasecmp.m4: Remove file.
42504         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42505         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42506
42507         * m4/mbsnlen.m4: Remove file.
42508         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42509         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42510
42511         * m4/mbspbrk.m4: Remove file.
42512         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42513         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42514
42515         * m4/mbspcasecmp.m4: Remove file.
42516         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42517         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42518
42519         * m4/mbsrchr.m4: Remove file.
42520         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42521         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42522
42523         * m4/mbssep.m4: Remove file.
42524         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42525         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42526
42527         * m4/mbsspn.m4: Remove file.
42528         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42529         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42530
42531         * m4/mbsstr.m4: Remove file.
42532         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42533         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42534
42535         * m4/mbstok_r.m4: Remove file.
42536         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42537         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42538
42539         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42540
42541         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42542         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42543
42544         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42545
42546 2009-03-08  Bruno Haible  <bruno@clisp.org>
42547
42548         Tests for module 'unicase/ulc-casecmp'.
42549         * modules/unicase/ulc-casecmp-tests: New file.
42550         * tests/unicase/test-ulc-casecmp1.sh: New file.
42551         * tests/unicase/test-ulc-casecmp2.sh: New file.
42552         * tests/unicase/test-ulc-casecmp.c: New file.
42553
42554         New module 'unicase/ulc-casecmp'.
42555         * lib/unicase.h (ulc_casecmp): New declaration.
42556         * lib/unicase/ulc-casecmp.c: New file.
42557         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42558         'const SRC_UNIT *'.
42559         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42560         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42561         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42562         * modules/unicase/ulc-casecmp: New file.
42563
42564         Tests for module 'unicase/u32-is-cased'.
42565         * modules/unicase/u32-is-cased-tests: New file.
42566         * tests/unicase/test-u32-is-cased.c: New file.
42567
42568         Tests for module 'unicase/u16-is-cased'.
42569         * modules/unicase/u16-is-cased-tests: New file.
42570         * tests/unicase/test-u16-is-cased.c: New file.
42571
42572         Tests for module 'unicase/u8-is-cased'.
42573         * modules/unicase/u8-is-cased-tests: New file.
42574         * tests/unicase/test-u8-is-cased.c: New file.
42575         * tests/unicase/test-is-cased.h: New file.
42576
42577         New module 'unicase/u32-is-cased'.
42578         * lib/unicase/u32-is-cased.c: New file.
42579         * modules/unicase/u32-is-cased: New file.
42580
42581         New module 'unicase/u16-is-cased'.
42582         * lib/unicase/u16-is-cased.c: New file.
42583         * modules/unicase/u16-is-cased: New file.
42584
42585         New module 'unicase/u8-is-cased'.
42586         * lib/unicase/u8-is-cased.c: New file.
42587         * lib/unicase/u-is-cased.h: New file.
42588         * modules/unicase/u8-is-cased: New file.
42589
42590         Tests for module 'unicase/u32-is-casefolded'.
42591         * modules/unicase/u32-is-casefolded-tests: New file.
42592         * tests/unicase/test-u32-is-casefolded.c: New file.
42593
42594         Tests for module 'unicase/u16-is-casefolded'.
42595         * modules/unicase/u16-is-casefolded-tests: New file.
42596         * tests/unicase/test-u16-is-casefolded.c: New file.
42597
42598         Tests for module 'unicase/u8-is-casefolded'.
42599         * modules/unicase/u8-is-casefolded-tests: New file.
42600         * tests/unicase/test-u8-is-casefolded.c: New file.
42601         * tests/unicase/test-is-casefolded.h: New file.
42602
42603         New module 'unicase/u32-is-casefolded'.
42604         * lib/unicase/u32-is-casefolded.c: New file.
42605         * modules/unicase/u32-is-casefolded: New file.
42606
42607         New module 'unicase/u16-is-casefolded'.
42608         * lib/unicase/u16-is-casefolded.c: New file.
42609         * modules/unicase/u16-is-casefolded: New file.
42610
42611         New module 'unicase/u8-is-casefolded'.
42612         * lib/unicase/u8-is-casefolded.c: New file.
42613         * modules/unicase/u8-is-casefolded: New file.
42614
42615         Tests for module 'unicase/u32-is-titlecase'.
42616         * modules/unicase/u32-is-titlecase-tests: New file.
42617         * tests/unicase/test-u32-is-titlecase.c: New file.
42618
42619         Tests for module 'unicase/u16-is-titlecase'.
42620         * modules/unicase/u16-is-titlecase-tests: New file.
42621         * tests/unicase/test-u16-is-titlecase.c: New file.
42622
42623         Tests for module 'unicase/u8-is-titlecase'.
42624         * modules/unicase/u8-is-titlecase-tests: New file.
42625         * tests/unicase/test-u8-is-titlecase.c: New file.
42626         * tests/unicase/test-is-titlecase.h: New file.
42627
42628         New module 'unicase/u32-is-titlecase'.
42629         * lib/unicase/u32-is-titlecase.c: New file.
42630         * modules/unicase/u32-is-titlecase: New file.
42631
42632         New module 'unicase/u16-is-titlecase'.
42633         * lib/unicase/u16-is-titlecase.c: New file.
42634         * modules/unicase/u16-is-titlecase: New file.
42635
42636         New module 'unicase/u8-is-titlecase'.
42637         * lib/unicase/u8-is-titlecase.c: New file.
42638         * modules/unicase/u8-is-titlecase: New file.
42639
42640         Tests for module 'unicase/u32-is-lowercase'.
42641         * modules/unicase/u32-is-lowercase-tests: New file.
42642         * tests/unicase/test-u32-is-lowercase.c: New file.
42643
42644         Tests for module 'unicase/u16-is-lowercase'.
42645         * modules/unicase/u16-is-lowercase-tests: New file.
42646         * tests/unicase/test-u16-is-lowercase.c: New file.
42647
42648         Tests for module 'unicase/u8-is-lowercase'.
42649         * modules/unicase/u8-is-lowercase-tests: New file.
42650         * tests/unicase/test-u8-is-lowercase.c: New file.
42651         * tests/unicase/test-is-lowercase.h: New file.
42652
42653         New module 'unicase/u32-is-lowercase'.
42654         * lib/unicase/u32-is-lowercase.c: New file.
42655         * modules/unicase/u32-is-lowercase: New file.
42656
42657         New module 'unicase/u16-is-lowercase'.
42658         * lib/unicase/u16-is-lowercase.c: New file.
42659         * modules/unicase/u16-is-lowercase: New file.
42660
42661         New module 'unicase/u8-is-lowercase'.
42662         * lib/unicase/u8-is-lowercase.c: New file.
42663         * modules/unicase/u8-is-lowercase: New file.
42664
42665         Tests for module 'unicase/u32-is-uppercase'.
42666         * modules/unicase/u32-is-uppercase-tests: New file.
42667         * tests/unicase/test-u32-is-uppercase.c: New file.
42668
42669         Tests for module 'unicase/u16-is-uppercase'.
42670         * modules/unicase/u16-is-uppercase-tests: New file.
42671         * tests/unicase/test-u16-is-uppercase.c: New file.
42672
42673         Tests for module 'unicase/u8-is-uppercase'.
42674         * modules/unicase/u8-is-uppercase-tests: New file.
42675         * tests/unicase/test-u8-is-uppercase.c: New file.
42676         * tests/unicase/test-is-uppercase.h: New file.
42677
42678         New module 'unicase/u32-is-uppercase'.
42679         * lib/unicase/u32-is-uppercase.c: New file.
42680         * modules/unicase/u32-is-uppercase: New file.
42681
42682         New module 'unicase/u16-is-uppercase'.
42683         * lib/unicase/u16-is-uppercase.c: New file.
42684         * modules/unicase/u16-is-uppercase: New file.
42685
42686         New module 'unicase/u8-is-uppercase'.
42687         * lib/unicase/u8-is-uppercase.c: New file.
42688         * modules/unicase/u8-is-uppercase: New file.
42689
42690         New module 'unicase/u32-is-invariant'.
42691         * lib/unicase/u32-is-invariant.c: New file.
42692         * modules/unicase/u32-is-invariant: New file.
42693
42694         New module 'unicase/u16-is-invariant'.
42695         * lib/unicase/u16-is-invariant.c: New file.
42696         * modules/unicase/u16-is-invariant: New file.
42697
42698         New module 'unicase/u8-is-invariant'.
42699         * lib/unicase/u8-is-invariant.c: New file.
42700         * lib/unicase/invariant.h: New file.
42701         * lib/unicase/u-is-invariant.h: New file.
42702         * modules/unicase/u8-is-invariant: New file.
42703
42704         Tests for module 'unicase/u32-casecoll'.
42705         * modules/unicase/u32-casecoll-tests: New file.
42706         * tests/unicase/test-u32-casecoll.c: New file.
42707
42708         Tests for module 'unicase/u16-casecoll'.
42709         * modules/unicase/u16-casecoll-tests: New file.
42710         * tests/unicase/test-u16-casecoll.c: New file.
42711
42712         Tests for module 'unicase/u8-casecoll'.
42713         * modules/unicase/u8-casecoll-tests: New file.
42714         * tests/unicase/test-u8-casecoll.c: New file.
42715
42716         New module 'unicase/u32-casecoll'.
42717         * lib/unicase/u32-casecoll.c: New file.
42718         * modules/unicase/u32-casecoll: New file.
42719
42720         New module 'unicase/u16-casecoll'.
42721         * lib/unicase/u16-casecoll.c: New file.
42722         * modules/unicase/u16-casecoll: New file.
42723
42724         New module 'unicase/u8-casecoll'.
42725         * lib/unicase/u8-casecoll.c: New file.
42726         * lib/unicase/u-casecoll.h: New file.
42727         * modules/unicase/u8-casecoll: New file.
42728
42729         New module 'unicase/u32-casexfrm'.
42730         * lib/unicase/u32-casexfrm.c: New file.
42731         * modules/unicase/u32-casexfrm: New file.
42732
42733         New module 'unicase/u16-casexfrm'.
42734         * lib/unicase/u16-casexfrm.c: New file.
42735         * modules/unicase/u16-casexfrm: New file.
42736
42737         New module 'unicase/u8-casexfrm'.
42738         * lib/unicase/u8-casexfrm.c: New file.
42739         * lib/unicase/u-casexfrm.h: New file.
42740         * modules/unicase/u8-casexfrm: New file.
42741
42742         Tests for module 'unicase/u32-casecmp'.
42743         * modules/unicase/u32-casecmp-tests: New file.
42744         * tests/unicase/test-u32-casecmp.c: New file.
42745
42746         Tests for module 'unicase/u16-casecmp'.
42747         * modules/unicase/u16-casecmp-tests: New file.
42748         * tests/unicase/test-u16-casecmp.c: New file.
42749
42750         Tests for module 'unicase/u8-casecmp'.
42751         * modules/unicase/u8-casecmp-tests: New file.
42752         * tests/unicase/test-u8-casecmp.c: New file.
42753         * tests/unicase/test-casecmp.h: New file.
42754
42755         New module 'unicase/u32-casecmp'.
42756         * lib/unicase/u32-casecmp.c: New file.
42757         * modules/unicase/u32-casecmp: New file.
42758
42759         New module 'unicase/u16-casecmp'.
42760         * lib/unicase/u16-casecmp.c: New file.
42761         * modules/unicase/u16-casecmp: New file.
42762
42763         New module 'unicase/u8-casecmp'.
42764         * lib/unicase/u8-casecmp.c: New file.
42765         * lib/unicase/u-casecmp.h: New file.
42766         * modules/unicase/u8-casecmp: New file.
42767
42768         Tests for module 'unicase/u32-casefold'.
42769         * modules/unicase/u32-casefold-tests: New file.
42770         * tests/unicase/test-u32-casefold.c: New file.
42771
42772         Tests for module 'unicase/u16-casefold'.
42773         * modules/unicase/u16-casefold-tests: New file.
42774         * tests/unicase/test-u16-casefold.c: New file.
42775
42776         Tests for module 'unicase/u8-casefold'.
42777         * modules/unicase/u8-casefold-tests: New file.
42778         * tests/unicase/test-u8-casefold.c: New file.
42779
42780         New module 'unicase/u32-casefold'.
42781         * lib/unicase/u32-casefold.c: New file.
42782         * modules/unicase/u32-casefold: New file.
42783
42784         New module 'unicase/u16-casefold'.
42785         * lib/unicase/u16-casefold.c: New file.
42786         * modules/unicase/u16-casefold: New file.
42787
42788         New module 'unicase/u8-casefold'.
42789         * lib/unicase/u8-casefold.c: New file.
42790         * lib/unicase/u-casefold.h: New file.
42791         * modules/unicase/u8-casefold: New file.
42792
42793         New module 'unicase/tocasefold'.
42794         * lib/unicase/casefold.h: New file.
42795         * lib/unicase/tocasefold.c: New file.
42796         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42797         * modules/unicase/tocasefold: New file.
42798
42799         Tests for module 'unicase/u32-totitle'.
42800         * modules/unicase/u32-totitle-tests: New file.
42801         * tests/unicase/test-u32-totitle.c: New file.
42802
42803         Tests for module 'unicase/u16-totitle'.
42804         * modules/unicase/u16-totitle-tests: New file.
42805         * tests/unicase/test-u16-totitle.c: New file.
42806
42807         Tests for module 'unicase/u8-totitle'.
42808         * modules/unicase/u8-totitle-tests: New file.
42809         * tests/unicase/test-u8-totitle.c: New file.
42810
42811         New module 'unicase/u32-totitle'.
42812         * lib/unicase/u32-totitle.c: New file.
42813         * modules/unicase/u32-totitle: New file.
42814
42815         New module 'unicase/u16-totitle'.
42816         * lib/unicase/u16-totitle.c: New file.
42817         * modules/unicase/u16-totitle: New file.
42818
42819         New module 'unicase/u8-totitle'.
42820         * lib/unicase/u8-totitle.c: New file.
42821         * lib/unicase/u-totitle.h: New file.
42822         * modules/unicase/u8-totitle: New file.
42823
42824         Tests for module 'unicase/u32-tolower'.
42825         * modules/unicase/u32-tolower-tests: New file.
42826         * tests/unicase/test-u32-tolower.c: New file.
42827
42828         Tests for module 'unicase/u16-tolower'.
42829         * modules/unicase/u16-tolower-tests: New file.
42830         * tests/unicase/test-u16-tolower.c: New file.
42831
42832         Tests for module 'unicase/u8-tolower'.
42833         * modules/unicase/u8-tolower-tests: New file.
42834         * tests/unicase/test-u8-tolower.c: New file.
42835
42836         New module 'unicase/u32-tolower'.
42837         * lib/unicase/u32-tolower.c: New file.
42838         * modules/unicase/u32-tolower: New file.
42839
42840         New module 'unicase/u16-tolower'.
42841         * lib/unicase/u16-tolower.c: New file.
42842         * modules/unicase/u16-tolower: New file.
42843
42844         New module 'unicase/u8-tolower'.
42845         * lib/unicase/u8-tolower.c: New file.
42846         * modules/unicase/u8-tolower: New file.
42847
42848         Tests for module 'unicase/u32-toupper'.
42849         * modules/unicase/u32-toupper-tests: New file.
42850         * tests/unicase/test-u32-toupper.c: New file.
42851
42852         Tests for module 'unicase/u16-toupper'.
42853         * modules/unicase/u16-toupper-tests: New file.
42854         * tests/unicase/test-u16-toupper.c: New file.
42855
42856         Tests for module 'unicase/u8-toupper'.
42857         * modules/unicase/u8-toupper-tests: New file.
42858         * tests/unicase/test-u8-toupper.c: New file.
42859
42860         New module 'unicase/u32-toupper'.
42861         * lib/unicase/u32-toupper.c: New file.
42862         * modules/unicase/u32-toupper: New file.
42863
42864         New module 'unicase/u16-toupper'.
42865         * lib/unicase/u16-toupper.c: New file.
42866         * modules/unicase/u16-toupper: New file.
42867
42868         New module 'unicase/u8-toupper'.
42869         * lib/unicase/u8-toupper.c: New file.
42870         * modules/unicase/u8-toupper: New file.
42871
42872         New module 'unicase/u32-casemap'.
42873         * lib/unicase/u32-casemap.c: New file.
42874         * modules/unicase/u32-casemap: New file.
42875
42876         New module 'unicase/u16-casemap'.
42877         * lib/unicase/u16-casemap.c: New file.
42878         * modules/unicase/u16-casemap: New file.
42879
42880         New module 'unicase/u8-casemap'.
42881         * lib/unicase/unicasemap.h: New file.
42882         * lib/unicase/u8-casemap.c: New file.
42883         * lib/unicase/u-casemap.h: New file.
42884         * modules/unicase/u8-casemap: New file.
42885
42886         New module 'unicase/special-casing'.
42887         * lib/unicase/special-casing.h: New file.
42888         * lib/unicase/special-casing.c: New file.
42889         * lib/unicase/special-casing-table.gperf: New file, generated by
42890         gen-uni-tables.c.
42891         * modules/unicase/special-casing: New file.
42892
42893         Tests for module 'unicase/locale-language'.
42894         * modules/unicase/locale-language-tests: New file.
42895         * tests/unicase/test-locale-language.sh: New file.
42896         * tests/unicase/test-locale-language.c: New file.
42897
42898         New module 'unicase/locale-language'.
42899         * lib/unicase/locale-language.c: New file.
42900         * lib/unicase/locale-languages.gperf: New file.
42901         * modules/unicase/locale-language: New file.
42902
42903         Generate more tables for case conversion and case folding.
42904         * lib/gen-uni-tables.c (SCC_*): New enum items.
42905         (struct special_casing_rule): New type.
42906         (casing_rules, num_casing_rules, allocated_casing_rules): New
42907         variables.
42908         (add_casing_rule, fill_casing_rules): New functions.
42909         (struct casefold_rule): New type.
42910         (casefolding_rules, num_casefolding_rules,
42911         allocated_casefolding_rules): New variables.
42912         (fill_casefolding_rules): New function.
42913         (unicode_casefold): New variable.
42914         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42915         sort_casing_rules, output_casing_rules): New functions.
42916         (main): Accept to more arguments: SpecialCasing.txt and
42917         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42918         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42919         Output mapping for casefolding.
42920
42921         * lib/unicase.h: Include stdbool.h, uninorm.h.
42922         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42923         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42924         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42925         arguments.
42926         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42927         resultp arguments.
42928         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42929         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42930         resultp arguments.
42931         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42932         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42933         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42934         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42935         declarations.
42936         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42937
42938 2009-03-08  Bruno Haible  <bruno@clisp.org>
42939
42940         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42941         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42942         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42943         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42944
42945 2009-03-07  Bruno Haible  <bruno@clisp.org>
42946
42947         Adjust u*_normcmp, u*_normcoll API.
42948         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42949         u16_normcoll, u32_normcoll): Change failure conventions.
42950         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42951         errno and return -1.
42952         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42953
42954 2009-03-07  Bruno Haible  <bruno@clisp.org>
42955
42956         Tests for module 'uninorm/u32-normcoll'.
42957         * modules/uninorm/u32-normcoll-tests: New file.
42958         * tests/uninorm/test-u32-normcoll.c: New file.
42959
42960         Tests for module 'uninorm/u16-normcoll'.
42961         * modules/uninorm/u16-normcoll-tests: New file.
42962         * tests/uninorm/test-u16-normcoll.c: New file.
42963
42964         Tests for module 'uninorm/u8-normcoll'.
42965         * modules/uninorm/u8-normcoll-tests: New file.
42966         * tests/uninorm/test-u8-normcoll.c: New file.
42967
42968 2009-03-07  Bruno Haible  <bruno@clisp.org>
42969
42970         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42971         tests/uninorm/test-u32-normcmp.c.
42972         * tests/uninorm/test-u32-normcmp.c: Include it.
42973         (test_nonascii): New function, extracted from main. Add some more
42974         tests.
42975         (main): Invoke test_ascii and test_nonascii.
42976         * modules/uninorm/u32-normcmp-tests (Files): Add
42977         tests/uninorm/test-u32-normcmp.h.
42978         (Depends-on): Remove uninorm/u32-normcmp.
42979
42980         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42981         tests/uninorm/test-u16-normcmp.c.
42982         * tests/uninorm/test-u16-normcmp.c: Include it.
42983         (test_nonascii): New function, extracted from main. Add some more
42984         tests.
42985         (main): Invoke test_ascii and test_nonascii.
42986         * modules/uninorm/u16-normcmp-tests (Files): Add
42987         tests/uninorm/test-u16-normcmp.h.
42988         (Depends-on): Remove uninorm/u16-normcmp.
42989
42990         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42991         tests/uninorm/test-u8-normcmp.c.
42992         * tests/uninorm/test-u8-normcmp.c: Include it.
42993         (test_nonascii): New function, extracted from main. Add some more
42994         tests.
42995         (main): Invoke test_ascii and test_nonascii.
42996         * modules/uninorm/u8-normcmp-tests (Files): Add
42997         tests/uninorm/test-u8-normcmp.h.
42998         (Depends-on): Remove uninorm/u8-normcmp.
42999
43000 2009-03-07  Bruno Haible  <bruno@clisp.org>
43001
43002         New module 'uninorm/u32-normcoll'.
43003         * lib/uninorm/u32-normcoll.c: New file.
43004         * modules/uninorm/u32-normcoll: New file.
43005
43006         New module 'uninorm/u16-normcoll'.
43007         * lib/uninorm/u16-normcoll.c: New file.
43008         * modules/uninorm/u16-normcoll: New file.
43009
43010         New module 'uninorm/u8-normcoll'.
43011         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43012         declarations.
43013         * lib/uninorm/u8-normcoll.c: New file.
43014         * lib/uninorm/u-normcoll.h: New file.
43015         * modules/uninorm/u8-normcoll: New file.
43016
43017         New module 'uninorm/u32-normxfrm'.
43018         * lib/uninorm/u32-normxfrm.c: New file.
43019         * modules/uninorm/u32-normxfrm: New file.
43020
43021         New module 'uninorm/u16-normxfrm'.
43022         * lib/uninorm/u16-normxfrm.c: New file.
43023         * modules/uninorm/u16-normxfrm: New file.
43024
43025         New module 'uninorm/u8-normxfrm'.
43026         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43027         declarations.
43028         * lib/uninorm/u8-normxfrm.c: New file.
43029         * lib/uninorm/u-normxfrm.h: New file.
43030         * modules/uninorm/u8-normxfrm: New file.
43031
43032 2009-03-07  Bruno Haible  <bruno@clisp.org>
43033
43034         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43035         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43036         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43037
43038 2009-03-07  Bruno Haible  <bruno@clisp.org>
43039
43040         New module 'memxfrm'.
43041         * lib/memxfrm.h: New file.
43042         * lib/memxfrm.c: New file.
43043         * modules/memxfrm: New file.
43044
43045 2009-03-07  Bruno Haible  <bruno@clisp.org>
43046
43047         New module 'memcmp2'.
43048         * lib/memcmp2.h: New file.
43049         * lib/memcmp2.c: New file.
43050         * modules/memcmp2: New file.
43051
43052 2009-03-07  Bruno Haible  <bruno@clisp.org>
43053
43054         Tests for module 'uninorm/decomposing-form'.
43055         * modules/uninorm/decomposing-form-tests: New file.
43056         * tests/uninorm/test-decomposing-form.c: New file.
43057
43058         New module 'uninorm/decomposing-form'.
43059         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43060         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43061         Add 'decomposing_variant' field.
43062         * lib/uninorm/decomposing-form.c: New file.
43063         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43064         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43065         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43066         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43067         * modules/uninorm/decomposing-form: New file.
43068         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43069         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43070
43071 2009-03-07  Bruno Haible  <bruno@clisp.org>
43072
43073         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43074         strings.
43075
43076 2009-03-06  Bruno Haible  <bruno@clisp.org>
43077
43078         Tests for module 'uninorm/u32-normcmp'.
43079         * tests/uninorm/test-u32-normcmp.c: New file.
43080         * modules/uninorm/u32-normcmp-tests: New file.
43081
43082         Tests for module 'uninorm/u16-normcmp'.
43083         * tests/uninorm/test-u16-normcmp.c: New file.
43084         * modules/uninorm/u16-normcmp-tests: New file.
43085
43086         Tests for module 'uninorm/u8-normcmp'.
43087         * tests/uninorm/test-u8-normcmp.c: New file.
43088         * modules/uninorm/u8-normcmp-tests: New file.
43089
43090         New module 'uninorm/u32-normcmp'.
43091         * lib/uninorm/u32-normcmp.c: New file.
43092         * modules/uninorm/u32-normcmp: New file.
43093
43094         New module 'uninorm/u16-normcmp'.
43095         * lib/uninorm/u16-normcmp.c: New file.
43096         * modules/uninorm/u16-normcmp: New file.
43097
43098         New module 'uninorm/u8-normcmp'.
43099         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43100         declarations.
43101         * lib/uninorm/u8-normcmp.c: New file.
43102         * lib/uninorm/u-normcmp.h: New file.
43103         * modules/uninorm/u8-normcmp: New file.
43104
43105 2009-03-06  Bruno Haible  <bruno@clisp.org>
43106
43107         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43108         Reported by Eric Blake.
43109
43110 2009-03-06  Eric Blake  <ebb9@byu.net>
43111             Bruno Haible  <bruno@clisp.org>
43112
43113         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43114         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43115         condition.
43116         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43117         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43118         condition.
43119         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43120
43121 2009-03-06  Eric Blake  <ebb9@byu.net>
43122
43123         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43124         to avoid compiler warnings.
43125         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43126
43127 2009-03-05  Bruno Haible  <bruno@clisp.org>
43128
43129         * tests/test-ftell.c (main): Disable test beyond end of file on
43130         FreeMiNT.
43131         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43132
43133 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43134
43135         * lib/filevercmp.c: Move hidden files up in ordering.
43136         * tests/test-filevercmp.c: Add tests for hidden files.
43137
43138 2009-03-04  Bruno Haible  <bruno@clisp.org>
43139
43140         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43141         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43142         AM_CFLAGS.
43143         Reported by Simon Josefsson.
43144
43145 2009-03-03  Bruno Haible  <bruno@clisp.org>
43146
43147         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43148         Reported by Simon Josefsson.
43149
43150         * doc/ld-version-script.texi: Update node reference.
43151
43152 2009-03-03  Bruno Haible  <bruno@clisp.org>
43153
43154         * modules/visibility (License): Change to 'unlimited'.
43155         Suggested by Simon Josefsson.
43156
43157 2009-03-03  Jim Meyering  <meyering@redhat.com>
43158
43159         unlinkdir: cannot_unlink_dir may modify process state
43160         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43161         it's neither thread-safe nor appropriate for use in a library.
43162
43163 2009-03-03  Eric Blake  <ebb9@byu.net>
43164
43165         test-closein: silence test under Darwin
43166         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43167         care if it dies from EPIPE or EBADF.
43168
43169 2009-03-03  Bruno Haible  <bruno@clisp.org>
43170
43171         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43172         earlier.
43173         * doc/visibility.texi: Fix @node and @section.
43174
43175 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43176
43177         * doc/gnulib.texi: Link to sections for ld version script and
43178         visibility.
43179         * doc/visibility.texi: Add @node and @section.
43180         * modules/ld-version-script: New module.
43181         * m4/ld-version-script.m4: New file.
43182         * doc/ld-version-script.texi: New file.
43183
43184 2009-03-02  David Lutterkort  <lutter@redhat.com>
43185
43186         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43188
43189 2009-03-02  Bruno Haible  <bruno@clisp.org>
43190
43191         * doc/visibility.texi: Mention libtool's -export-symbols option.
43192
43193 2009-03-02  Jim Meyering  <meyering@redhat.com>
43194
43195         announce-gen: new option: --no-print-checksums
43196         * build-aux/announce-gen (usage): Describe it.
43197         (print_checksums): Print a newline here, not in the [*] footnote.
43198         (main): Honor it.
43199
43200 2009-03-01  Bruno Haible  <bruno@clisp.org>
43201
43202         Use socklen_t in the native Windows replacements prototypes.
43203         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
43204         instead of 'int'.
43205         * lib/getsockopt.c (rpl_getsockopt): Likewise.
43206         * lib/setsockopt.c (rpl_setsockopt): Likewise.
43207         * modules/getsockopt (Depends-on): Add socklen.
43208         * modules/setsockopt (Depends-on): Add socklen.
43209
43210 2009-03-01  Bruno Haible  <bruno@clisp.org>
43211
43212         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
43213         least 4.2.
43214
43215 2009-03-01  Eric Blake  <ebb9@byu.net>
43216             Bruno Haible  <bruno@clisp.org>
43217
43218         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
43219         error messages.
43220         * lib/wait-process.c (wait_subprocess): Omit error message about
43221         deadly signal sent to the child of termsigp != NULL.
43222
43223 2009-03-01  Eric Blake  <ebb9@byu.net>
43224
43225         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
43226
43227 2009-03-01  Bruno Haible  <bruno@clisp.org>
43228
43229         Avoid a gcc warning.
43230         * tests/test-sched.c (b): Make global.
43231         Reported by Eric Blake.
43232
43233 2009-01-19  Martin Lambers  <marlam@marlam.de>
43234
43235         Provide POSIX semantics for socket timeout options on W32.
43236         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
43237         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
43238         * modules/setsockopt: Depend on sys_time module for struct timeval.
43239         * modules/getsockopt: Depend on sys_time module for struct timeval.
43240
43241 2009-03-01  Simon Josefsson  <simon@josefsson.org>
43242
43243         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
43244         __USE_GNU, for consistency with netdb.in.h.
43245         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43246
43247 2009-03-01  Bruno Haible  <bruno@clisp.org>
43248
43249         More support for FreeMiNT.
43250         * lib/fseeko.c (rpl_fseeko): Complete last commit.
43251         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43252
43253 2009-03-01  Bruno Haible  <bruno@clisp.org>
43254
43255         More support for FreeMiNT.
43256         * lib/fpurge.c (fpurge): Correct last commit.
43257         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43258
43259 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43260
43261         Fix unportable awk script in vc-list-files.
43262         * build-aux/vc-list-files: In the replacement awk script, use
43263         substr with a second argument of 1, not zero.
43264         Report by Simon Josefsson.
43265
43266 2009-02-28  Bruno Haible  <bruno@clisp.org>
43267
43268         More support for FreeMiNT.
43269         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
43270         to FreeMiNT today.
43271         * lib/fwriting.c (fwriting): Likewise.
43272         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
43273
43274 2009-02-28  Bruno Haible  <bruno@clisp.org>
43275
43276         * tests/test-freadseek.c (main): Disable test beyond end of file on
43277         FreeMiNT.
43278         * tests/test-ftello.c (main): Likewise.
43279         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43280
43281 2009-02-28  Bruno Haible  <bruno@clisp.org>
43282
43283         Add tentative support for FreeMiNT.
43284         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
43285         * lib/fpurge.c (fpurge): Likewise.
43286         * lib/freadable.c (freadable): Likewise.
43287         * lib/freading.c (freading): Likewise.
43288         * lib/freadptr.c (freadptr): Likewise.
43289         * lib/freadseek.c (freadptrinc): Likewise.
43290         * lib/fseeko.c (rpl_fseeko): Likewise.
43291         * lib/fseterr.c (fseterr): Likewise.
43292         * lib/fwritable.c (fwritable): Likewise.
43293         * lib/fwriting.c (fwriting): Likewise.
43294         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
43295         Hourihane.
43296         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43297
43298 2009-02-28  Bruno Haible  <bruno@clisp.org>
43299
43300         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
43301         SIGCHLD.
43302         Reported by Jim Meyering.
43303
43304 2009-02-28  Bruno Haible  <bruno@clisp.org>
43305
43306         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
43307         Mention the results of these tests on various platforms.
43308         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43309         order.
43310         * doc/posix-functions/printf.texi: Likewise.
43311         * doc/posix-functions/snprintf.texi: Likewise.
43312         * doc/posix-functions/sprintf.texi: Likewise.
43313         * doc/posix-functions/vfprintf.texi: Likewise.
43314         * doc/posix-functions/vprintf.texi: Likewise.
43315         * doc/posix-functions/vsnprintf.texi: Likewise.
43316         * doc/posix-functions/vsprintf.texi: Likewise.
43317         * doc/glibc-functions/obstack_printf.texi: Likewise.
43318         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43319
43320 2009-02-28  Bruno Haible  <bruno@clisp.org>
43321
43322         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43323         Reported by Loïc Minier <lool@dooz.org>.
43324
43325 2009-02-27  Bruno Haible  <bruno@clisp.org>
43326
43327         * gnulib-tool (func_import): Make the sed expression used to create the
43328         sed script for updating the .gitignore file POSIX compliant.
43329         Reported by Eric Blake.
43330
43331 2009-02-27  Bruno Haible  <bruno@clisp.org>
43332
43333         * gnulib-tool (sed): Don't alias as "sed --posix".
43334         Reported by Eric Blake.
43335
43336 2009-02-27  Bruno Haible  <bruno@clisp.org>
43337
43338         Avoid test link errors.
43339         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43340         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43341         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43342         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43344
43345 2009-02-27  Bruno Haible  <bruno@clisp.org>
43346
43347         Avoid spurious "(cached)" in configure output.
43348         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43349         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43350         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43351         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43352         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43353         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43354         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43355         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43356         Reported by Eric Blake.
43357
43358 2009-02-27  Eric Blake  <ebb9@byu.net>
43359
43360         printf: fix regression in previous patch
43361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
43362
43363 2009-02-27  Bruno Haible  <bruno@clisp.org>
43364
43365         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
43366         value.
43367         * lib/stdint.in.h: Likewise.
43368         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
43369
43370 2009-02-27  Eric Blake  <ebb9@byu.net>
43371
43372         doc: mention more functions added in cygwin 1.7.0
43373         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
43374         addition.
43375         * doc/posix-functions/open_wmemstream.texi: Likewise.
43376         * doc/posix-functions/wcsnlen.texi: Likewise.
43377         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43378         * doc/posix-functions/wcstod.texi: Likewise.
43379         * doc/posix-functions/wcstof.texi: Likewise.
43380         * doc/posix-functions/wcstoimax.texi: Likewise.
43381         * doc/posix-functions/wcstok.texi: Likewise.
43382         * doc/posix-functions/wcstoumax.texi: Likewise.
43383
43384         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43386         * doc/posix-functions/fprintf.texi: Update.
43387         * doc/posix-functions/printf.texi: Update.
43388         * doc/posix-functions/snprintf.texi: Update.
43389         * doc/posix-functions/sprintf.texi: Update.
43390         * doc/posix-functions/vfprintf.texi: Update.
43391         * doc/posix-functions/vprintf.texi: Update.
43392         * doc/posix-functions/vsnprintf.texi: Update.
43393         * doc/posix-functions/vsprintf.texi: Update.
43394         * doc/glibc-functions/obstack_printf.texi: Update.
43395         * doc/glibc-functions/obstack_vprintf.texi: Update.
43396
43397 2009-02-26  Eric Blake  <ebb9@byu.net>
43398
43399         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43400         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43401         compilation bug by using runtime conversion.
43402         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43403         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43404         * modules/ceill-tests (Files): Use nan.h.
43405         * modules/floorl-tests (Files): Likewise.
43406         * modules/frexpl-tests (Files): Likewise.
43407         * modules/isnanl-tests (Files): Likewise.
43408         * modules/ldexpl-tests (Files): Likewise.
43409         * modules/roundl-tests (Files): Likewise.
43410         * modules/truncl-tests (Files): Likewise.
43411         * tests/test-ceill.c (main): Use a working NaN.
43412         * tests/test-floorl.c (main): Likewise.
43413         * tests/test-frexpl.c (main): Likewise.
43414         * tests/test-isnan.c (test_long_double): Likewise.
43415         * tests/test-isnanl.h (main): Likewise.
43416         * tests/test-ldexpl.h (main): Likewise.
43417         * tests/test-roundl.h (main): Likewise.
43418         * tests/test-truncl.h (main): Likewise.
43419         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
43420
43421 2009-02-26  Eric Blake  <ebb9@byu.net>
43422             Bruno Haible  <bruno@clisp.org>
43423
43424         Work around a *printf bug with %ls on Solaris.
43425         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
43426         precision is specified, sprintf stops converting the wide string
43427         argument when the number of bytes that have been produced by this
43428         conversion equals or exceeds the precision.
43429         * doc/posix-functions/fprintf.texi: Update.
43430         * doc/posix-functions/printf.texi: Update.
43431         * doc/posix-functions/snprintf.texi: Update.
43432         * doc/posix-functions/sprintf.texi: Update.
43433         * doc/posix-functions/vfprintf.texi: Update.
43434         * doc/posix-functions/vprintf.texi: Update.
43435         * doc/posix-functions/vsnprintf.texi: Update.
43436         * doc/posix-functions/vsprintf.texi: Update.
43437         * doc/glibc-functions/obstack_printf.texi: Update.
43438         * doc/glibc-functions/obstack_vprintf.texi: Update.
43439
43440 2009-02-26  Eric Blake  <ebb9@byu.net>
43441
43442         stdlib: favor compiler check of random.h
43443         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
43444         to avoid an ObjC random.h installed by Swarm.
43445
43446 2009-02-26  Bruno Haible  <bruno@clisp.org>
43447
43448         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
43449         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
43450         Reported by Gary V. Vaughan <gary@gnu.org>.
43451
43452 2009-02-26  Bruno Haible  <bruno@clisp.org>
43453
43454         Fix *printf behaviour regarding the %ls directive.
43455         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
43456         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
43457         NEED_PRINTF_DIRECTIVE_LS.
43458         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
43459         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43461         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
43462         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
43463         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
43464         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43465         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43466         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43467         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43468         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43469         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
43470         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43471         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43473         * doc/posix-functions/fprintf.texi: Update.
43474         * doc/posix-functions/printf.texi: Update.
43475         * doc/posix-functions/snprintf.texi: Update.
43476         * doc/posix-functions/sprintf.texi: Update.
43477         * doc/posix-functions/vfprintf.texi: Update.
43478         * doc/posix-functions/vprintf.texi: Update.
43479         * doc/posix-functions/vsnprintf.texi: Update.
43480         * doc/posix-functions/vsprintf.texi: Update.
43481         * doc/glibc-functions/obstack_printf.texi: Update.
43482         * doc/glibc-functions/obstack_vprintf.texi: Update.
43483         Reported by Eric Blake.
43484
43485 2009-02-25  Bruno Haible  <bruno@clisp.org>
43486
43487         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43488         with known value.
43489         Reported by Gary V. Vaughan <gary@gnu.org>.
43490
43491 2009-02-25  Bruno Haible  <bruno@clisp.org>
43492
43493         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43494         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43495         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43496         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43497         Reported by Gary V. Vaughan <gary@gnu.org>.
43498
43499 2009-02-25  Bruno Haible  <bruno@clisp.org>
43500
43501         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43502         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43503         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43504         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43505         Reported by Gary V. Vaughan <gary@gnu.org>.
43506
43507 2009-02-25  Eric Blake  <ebb9@byu.net>
43508
43509         tests: skip fseek/ftell tests if ungetc is broken
43510         * m4/ungetc.m4: New file.
43511         * modules/fseek-tests: Split test, so ungetc dependency is
43512         separate from rest of test.
43513         * modules/fseeko-tests: Likewise.
43514         * modules/ftell-tests: Likewise.
43515         * modules/ftello-tests: Likewise.
43516         * tests/test-fseek.c (main): Isolate ungetc dependency.
43517         * tests/test-fseeko.c (main): Likewise.
43518         * tests/test-ftell.c (main): Likewise.
43519         * tests/test-ftello.c (main): Likewise.
43520         * tests/test-fseek2.sh: New file.
43521         * tests/test-fseeko2.sh: Likewise.
43522         * tests/test-ftell2.sh: Likewise.
43523         * tests/test-ftello2.sh: Likewise.
43524
43525 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43526
43527         test-getaddrinfo: fix usage of skip return code 77
43528         * tests/test-gettaddrinfo.c: Return skip code 77 only
43529         for first occurance of skip (4x77 is not 77)
43530
43531 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43532
43533         strtod: avoid C99 decl-after-statement
43534         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43535
43536 2009-02-24  Eric Blake  <ebb9@byu.net>
43537
43538         strtod: detect HP-UX 11.31 bug
43539         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43540         Reported by Gary V. Vaughan.
43541
43542 2009-02-23  Bruno Haible  <bruno@clisp.org>
43543
43544         Fix invalid read past end of memory block.
43545         * lib/vasnprintf.c (DCHAR_SET): Define.
43546         (local_wcslen): Define only when needed.
43547         (local_strnlen, local_wcsnlen): New functions.
43548         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43549         directives that involve a conversion ourselves.
43550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43551         wcsnlen, mbrtowc, wcrtomb.
43552         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43553         * tests/test-vasprintf-posix.c (test_function): Likewise.
43554         * tests/test-snprintf-posix.h (test_function): Likewise.
43555         * tests/test-sprintf-posix.h (test_function): Likewise.
43556         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43557
43558 2009-02-22  Bruno Haible  <bruno@clisp.org>
43559
43560         Implement new clarified decomposition of Hangul syllables.
43561         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43562         of type LTV, return only a pairwise decomposition.
43563         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43564         Likewise.
43565         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43566         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43567         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43568
43569 2009-02-22  Bruno Haible  <bruno@clisp.org>
43570
43571         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43572         zero-length results and shrink excess allocated memory.
43573         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43574         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43575         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43576         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43577         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43578         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43579         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43580         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43581         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43582         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43583         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43584         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43585
43586 2009-02-21  Bruno Haible  <bruno@clisp.org>
43587
43588         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43589         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43590         spaces after a period. Put a space between a macro name and its
43591         argument list. Trivial rewordings.
43592         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43593         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43594         (main): Return 0 explicitly.
43595
43596 2009-02-21  Bruno Haible  <bruno@clisp.org>
43597
43598         Tests for module 'uninorm/filter'.
43599         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43600         * modules/uninorm/filter-tests: New file.
43601
43602         New module 'uninorm/filter'.
43603         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43604         uninorm_filter_flush, uninorm_filter_free): New declarations.
43605         * lib/uninorm/uninorm-filter.c: New file.
43606         * modules/uninorm/filter: New file.
43607
43608 2009-02-21  Bruno Haible  <bruno@clisp.org>
43609
43610         Tests for module 'uninorm/nfkc'.
43611         * tests/uninorm/test-nfkc.c: New file.
43612         * tests/uninorm/test-u8-nfkc.c: New file.
43613         * tests/uninorm/test-u16-nfkc.c: New file.
43614         * tests/uninorm/test-u32-nfkc.c: New file.
43615         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43616         * tests/uninorm/test-u32-nfkc-big.c: New file.
43617         * modules/uninorm/nfkc-tests: New file.
43618
43619         New module 'uninorm/nfkc'.
43620         * lib/uninorm/nfkc.c: New file.
43621         * modules/uninorm/nfkc: New file.
43622
43623         Tests for module 'uninorm/nfkd'.
43624         * tests/uninorm/test-nfkd.c: New file.
43625         * tests/uninorm/test-u8-nfkd.c: New file.
43626         * tests/uninorm/test-u16-nfkd.c: New file.
43627         * tests/uninorm/test-u32-nfkd.c: New file.
43628         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43629         * tests/uninorm/test-u32-nfkd-big.c: New file.
43630         * modules/uninorm/nfkd-tests: New file.
43631
43632         New module 'uninorm/nfkd'.
43633         * lib/uninorm/nfkd.c: New file.
43634         * modules/uninorm/nfkd: New file.
43635
43636         Tests for module 'uninorm/nfc'.
43637         * tests/uninorm/test-nfc.c: New file.
43638         * tests/uninorm/test-u8-nfc.c: New file.
43639         * tests/uninorm/test-u16-nfc.c: New file.
43640         * tests/uninorm/test-u32-nfc.c: New file.
43641         * tests/uninorm/test-u32-nfc-big.sh: New file.
43642         * tests/uninorm/test-u32-nfc-big.c: New file.
43643         * modules/uninorm/nfc-tests: New file.
43644
43645         New module 'uninorm/nfc'.
43646         * lib/uninorm/nfc.c: New file.
43647         * modules/uninorm/nfc: New file.
43648
43649         Tests for module 'uninorm/nfd'.
43650         * tests/uninorm/test-nfd.c: New file.
43651         * tests/uninorm/test-u8-nfd.c: New file.
43652         * tests/uninorm/test-u16-nfd.c: New file.
43653         * tests/uninorm/test-u32-nfd.c: New file.
43654         * tests/uninorm/test-u32-nfd-big.sh: New file.
43655         * tests/uninorm/test-u32-nfd-big.c: New file.
43656         * tests/uninorm/test-u32-normalize-big.h: New file.
43657         * tests/uninorm/test-u32-normalize-big.c: New file.
43658         * tests/uninorm/NormalizationTest.txt: New file, created from
43659         Unicode 5.1.0 NormalizationTest.txt.
43660         * modules/uninorm/nfd-tests: New file.
43661
43662         New module 'uninorm/nfd'.
43663         * lib/uninorm/nfd.c: New file.
43664         * modules/uninorm/nfd: New file.
43665
43666         New module 'uninorm/u32-normalize'.
43667         * lib/uninorm/u32-normalize.c: New file.
43668         * modules/uninorm/u32-normalize: New file.
43669
43670         New module 'uninorm/u16-normalize'.
43671         * lib/uninorm/u16-normalize.c: New file.
43672         * modules/uninorm/u16-normalize: New file.
43673
43674         New module 'uninorm/u8-normalize'.
43675         * lib/uninorm/u8-normalize.c: New file.
43676         * lib/uninorm/normalize-internal.h: New file.
43677         * lib/uninorm/u-normalize-internal.h: New file.
43678         * modules/uninorm/u8-normalize: New file.
43679
43680         New module 'uninorm/decompose-internal'.
43681         * lib/uninorm/decompose-internal.c: New file.
43682         * modules/uninorm/decompose-internal: New file.
43683
43684         Tests for module 'uninorm/composition'.
43685         * tests/uninorm/test-composition.c: New file.
43686         * modules/uninorm/composition-tests: New file.
43687
43688         New module 'uninorm/composition'.
43689         * lib/uninorm/composition.c: New file.
43690         * lib/uninorm/composition-table.gperf: New file, generated by
43691         gen-uni-tables.
43692         * modules/uninorm/composition: New file.
43693
43694         Tests for module 'uninorm/compat-decomposition'.
43695         * tests/uninorm/test-compat-decomposition.c: New file.
43696         * modules/uninorm/compat-decomposition-tests: New file.
43697
43698         New module 'uninorm/compat-decomposition'.
43699         * lib/uninorm/decompose-internal.h: New file.
43700         * lib/uninorm/compat-decomposition.c: New file.
43701         * modules/uninorm/compat-decomposition: New file.
43702
43703         Tests for module 'uninorm/canonical-decomposition'.
43704         * tests/uninorm/test-canonical-decomposition.c: New file.
43705         * modules/uninorm/canonical-decomposition-tests: New file.
43706
43707         New module 'uninorm/canonical-decomposition'.
43708         * lib/uninorm/canonical-decomposition.c: New file.
43709         * modules/uninorm/canonical-decomposition: New file.
43710
43711         Tests for module 'uninorm/decomposition'.
43712         * tests/uninorm/test-decomposition.c: New file.
43713         * modules/uninorm/decomposition-tests: New file.
43714
43715         New module 'uninorm/decomposition'.
43716         * lib/uninorm/decomposition.c: New file.
43717         * modules/uninorm/decomposition: New file.
43718
43719         New module 'uninorm/decomposition-table'.
43720         * lib/uninorm/decomposition-table.h: New file.
43721         * lib/uninorm/decomposition-table.c: New file.
43722         * lib/uninorm/decomposition-table1.h: New file, generated by
43723         gen-uni-tables.
43724         * lib/uninorm/decomposition-table2.h: New file, generated by
43725         gen-uni-tables.
43726         * modules/uninorm/decomposition-table: New file.
43727
43728         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43729         (UC_DECOMP_*): New enumeration items.
43730         (get_decomposition): New function.
43731         (struct decomp_table): New type.
43732         (output_decomposition, output_decomposition_tables): New functions.
43733         (unicode_composition_exclusions): New variable.
43734         (fill_composition_exclusions, debug_output_composition_tables): New
43735         functions.
43736         (main): Accept one more argument. Invoke fill_composition_exclusions.
43737         Output decomposition and composition tables.
43738
43739         New module 'uninorm/base'.
43740         * lib/uninorm.h: New file.
43741         * lib/unictype.h: Update comment.
43742         * modules/uninorm/base: New file.
43743
43744 2009-02-21  David Lutterkort  <lutter@redhat.com>
43745
43746         Tests for module 'safe-alloc'.
43747         * tests/test-safe-alloc.c: New file.
43748         * modules/safe-alloc-tests: New file.
43749
43750         New module 'safe-alloc'.
43751         * lib/safe-alloc.h: New file.
43752         * lib/safe-alloc.c: New file.
43753         * m4/safe-alloc.m4: New file.
43754         * modules/safe-alloc: New file.
43755         * doc/safe-alloc.texi: New file.
43756         * doc/gnulib.texi: Include it.
43757         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43758         safe-alloc.
43759
43760 2009-02-18  Bruno Haible  <bruno@clisp.org>
43761
43762         Fix link error on non-glibc systems.
43763         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43764         variable.
43765         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43766
43767 2009-02-18  Jim Meyering  <meyering@redhat.com>
43768
43769         fts: avoid used-uninitialized error due to recent change
43770         * lib/fts.c (fts_read): Guard uses of the new member,
43771         parent->fts_n_dirs_remaining, since it's not relevant for
43772         the parent of a directory specified on the command-line.
43773
43774 2009-02-17  James Youngman  <jay@gnu.org>
43775             Bruno Haible  <bruno@clisp.org>
43776
43777         * m4/include_next.m4: Reformulate comment.
43778
43779 2009-02-16  Jim Meyering  <meyering@redhat.com>
43780
43781         fts: add #if guards so that the fts_lgpl module still builds
43782         * lib/fts.c: Guard just-added hash-table-using parts with
43783         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43784         Reported by Simon Josefsson.
43785
43786 2009-02-15  Bruno Haible  <bruno@clisp.org>
43787
43788         * modules/array-mergesort-tests: New file.
43789         * tests/test-array-mergesort.c: New file.
43790
43791         New module 'array-mergesort'.
43792         * modules/array-mergesort: New file.
43793         * lib/array-mergesort.h: New file.
43794
43795 2009-02-15  Bruno Haible  <bruno@clisp.org>
43796
43797         Fix 2009-02-07 commit.
43798         * lib/gen-uni-tables.c (output_predicate, output_category,
43799         output_combclass, output_bidi_category, output_decimal_digit,
43800         output_digit, output_numeric, output_mirror, output_scripts,
43801         output_ident_category, output_simple_mapping): Fix format directives.
43802         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43803
43804 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43805
43806         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43807         fixes are available from IBM.
43808
43809 2009-02-13  Jim Meyering  <meyering@redhat.com>
43810
43811         fts: arrange not to stat non-directories in more cases
43812         This makes GNU find (when it doesn't need to stat each file)
43813         *much* more efficient at traversing reiserfs file systems.
43814         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43815         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43816         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43817         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43818         (leaf_optimization_applies): New function.
43819         (LCO_hash, LCO_compare): New helper functions.
43820         (link_count_optimize_ok): New function.
43821         (fts_stat): Initialize new member (if dir).
43822         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43823         we've just stat'ed a directory.  Skip the stat call when possible.
43824         ---
43825         Note this AFS-related exchange:
43826         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43827         and note find's pioctl call in find/fstype.c.
43828         But that is necessary only if you want to enable the
43829         optimization for AFS, and for now, I don't.
43830
43831         fts: move a function definition "up" (no semantic change)
43832         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43833         "up" to precede upcoming use of a related function.
43834
43835 2009-02-11  Jim Meyering  <meyering@redhat.com>
43836
43837         fts: correct internal computation of nlinks (optimization-related)
43838         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43839         whether the current entry is a directory, so don't test it.
43840
43841 2009-02-10  Bruno Haible  <bruno@clisp.org>
43842
43843         Tests for module 'uniwbrk/ulc-wordbreaks'.
43844         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43845         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43846         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43847
43848         Tests for module 'uniwbrk/u32-wordbreaks'.
43849         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43850         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43851
43852         Tests for module 'uniwbrk/u16-wordbreaks'.
43853         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43854         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43855
43856         Tests for module 'uniwbrk/u8-wordbreaks'.
43857         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43858         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43859
43860 2009-02-10  Bruno Haible  <bruno@clisp.org>
43861
43862         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43863         property.
43864         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43865         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43866         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43867
43868 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43869
43870         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43871         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43872
43873 2009-02-10  Bruno Haible  <bruno@clisp.org>
43874
43875         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43876         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43877         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43878         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43879         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43880         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43881
43882 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43883
43884         * lib/sockets.h (gl_fd_to_handle): New function.
43885
43886         * tests/test-sockets.c: Call gl_fd_to_handle.
43887
43888 2009-02-09  Bruno Haible  <bruno@clisp.org>
43889
43890         * doc/havelib.texi: Document the conventions on bi-arch systems.
43891
43892 2009-02-08  Bruno Haible  <bruno@clisp.org>
43893
43894         Document the AC_LIB_LINKFLAGS macro.
43895         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43896         * doc/gnulib.texi: Include it.
43897
43898 2009-02-08  Bruno Haible  <bruno@clisp.org>
43899
43900         Fix wrong order of sections, compared to TOC.
43901         * doc/gnulib.texi: Include relocatable-maint.texi after the
43902         "Regular expressions" node, not before.
43903
43904 2009-02-08  Bruno Haible  <bruno@clisp.org>
43905
43906         Tests for module 'unicase/totitle'.
43907         * modules/unicase/totitle-tests: New file.
43908
43909         Tests for module 'unicase/tolower'.
43910         * modules/unicase/tolower-tests: New file.
43911
43912         Tests for module 'unicase/toupper'.
43913         * modules/unicase/toupper-tests: New file.
43914         * tests/unicase/test-mapping-part1.h: New file.
43915         * tests/unicase/test-mapping-part2.h: New file.
43916
43917         New module 'unicase/totitle'.
43918         * modules/unicase/totitle: New file.
43919         * lib/unicase/totitle.c: New file.
43920
43921         New module 'unicase/tolower'.
43922         * modules/unicase/tolower: New file.
43923         * lib/unicase/tolower.c: New file.
43924
43925         New module 'unicase/toupper'.
43926         * modules/unicase/toupper: New file.
43927         * lib/unicase/toupper.c: New file.
43928         * lib/unicase/simple-mapping.h: New file.
43929
43930         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43931         (mapping_table): New structure.
43932         (output_simple_mapping): New function.
43933         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43934         * modules/gen-uni-tables (Description): Update.
43935         * lib/unicase/toupper.h: New file, automatically generated by
43936         gen-uni-tables.
43937         * lib/unicase/tolower.h: New file, automatically generated by
43938         gen-uni-tables.
43939         * lib/unicase/totitle.h: New file, automatically generated by
43940         gen-uni-tables.
43941         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43942         gen-uni-tables.
43943         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43944         gen-uni-tables.
43945         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43946         gen-uni-tables.
43947
43948         New module 'unicase/base'.
43949         * modules/unicase/base: New file.
43950         * lib/unicase.h: New file.
43951
43952 2009-02-08  Bruno Haible  <bruno@clisp.org>
43953
43954         New module 'uniwbrk/ulc-wordbreaks'.
43955         * modules/uniwbrk/ulc-wordbreaks: New file.
43956         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43957
43958         New module 'uniwbrk/u32-wordbreaks'.
43959         * modules/uniwbrk/u32-wordbreaks: New file.
43960         * lib/uniwbrk/u32-wordbreaks.c: New file.
43961
43962         New module 'uniwbrk/u16-wordbreaks'.
43963         * modules/uniwbrk/u16-wordbreaks: New file.
43964         * lib/uniwbrk/u16-wordbreaks.c: New file.
43965
43966         New module 'uniwbrk/u8-wordbreaks'.
43967         * modules/uniwbrk/u8-wordbreaks: New file.
43968         * lib/uniwbrk/u8-wordbreaks.c: New file.
43969         * lib/uniwbrk/u-wordbreaks.h: New file.
43970
43971         New module 'uniwbrk/table'.
43972         * modules/uniwbrk/table: New file.
43973         * lib/uniwbrk/wbrktable.h: New file.
43974         * lib/uniwbrk/wbrktable.c: New file.
43975
43976         New module 'uniwbrk/wordbreak-property'.
43977         * modules/uniwbrk/wordbreak-property: New file.
43978         * lib/uniwbrk/wordbreak-property.c: New file.
43979
43980         * lib/gen-uni-tables.c (WBP_*): New enum items.
43981         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43982         (unicode_org_wbp): New variable.
43983         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43984         New functions.
43985         (wbp_table): New structure.
43986         (output_wbp, output_wbrk_tables): New functions.
43987         (main): Accept additional argument. Invoke fill_org_wbp,
43988         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43989         output_wbrk_tables.
43990         * modules/gen-uni-tables (Description): Update.
43991         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43992         gen-uni-tables.
43993
43994         New module 'uniwbrk/base'.
43995         * modules/uniwbrk/base: New file.
43996         * lib/uniwbrk.h: New file.
43997
43998 2009-02-08  Bruno Haible  <bruno@clisp.org>
43999
44000         Update to Unicode 5.1.0.
44001         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44002         U+2185..U+2188.
44003         (is_property_default_ignorable_code_point): Don't include characters
44004         of category Cc or Cs and not-a-characters.
44005         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44006         U+0D79, U+109E, U+109F, U+A60C.
44007         * lib/unictype/bidi_of.h: Regenerated.
44008         * lib/unictype/blocks.h: Regenerated.
44009         * lib/unictype/categ_C.h: Regenerated.
44010         * lib/unictype/categ_Cf.h: Regenerated.
44011         * lib/unictype/categ_Cn.h: Regenerated.
44012         * lib/unictype/categ_L.h: Regenerated.
44013         * lib/unictype/categ_Ll.h: Regenerated.
44014         * lib/unictype/categ_Lm.h: Regenerated.
44015         * lib/unictype/categ_Lo.h: Regenerated.
44016         * lib/unictype/categ_Lu.h: Regenerated.
44017         * lib/unictype/categ_M.h: Regenerated.
44018         * lib/unictype/categ_Mc.h: Regenerated.
44019         * lib/unictype/categ_Me.h: Regenerated.
44020         * lib/unictype/categ_Mn.h: Regenerated.
44021         * lib/unictype/categ_N.h: Regenerated.
44022         * lib/unictype/categ_Nd.h: Regenerated.
44023         * lib/unictype/categ_Nl.h: Regenerated.
44024         * lib/unictype/categ_No.h: Regenerated.
44025         * lib/unictype/categ_P.h: Regenerated.
44026         * lib/unictype/categ_Pd.h: Regenerated.
44027         * lib/unictype/categ_Pe.h: Regenerated.
44028         * lib/unictype/categ_Pf.h: Regenerated.
44029         * lib/unictype/categ_Pi.h: Regenerated.
44030         * lib/unictype/categ_Po.h: Regenerated.
44031         * lib/unictype/categ_Ps.h: Regenerated.
44032         * lib/unictype/categ_S.h: Regenerated.
44033         * lib/unictype/categ_Sk.h: Regenerated.
44034         * lib/unictype/categ_Sm.h: Regenerated.
44035         * lib/unictype/categ_So.h: Regenerated.
44036         * lib/unictype/categ_of.h: Regenerated.
44037         * lib/unictype/combining.h: Regenerated.
44038         * lib/unictype/ctype_alnum.h: Regenerated.
44039         * lib/unictype/ctype_alpha.h: Regenerated.
44040         * lib/unictype/ctype_graph.h: Regenerated.
44041         * lib/unictype/ctype_lower.h: Regenerated.
44042         * lib/unictype/ctype_print.h: Regenerated.
44043         * lib/unictype/ctype_punct.h: Regenerated.
44044         * lib/unictype/ctype_upper.h: Regenerated.
44045         * lib/unictype/decdigit.h: Regenerated.
44046         * lib/unictype/digit.h: Regenerated.
44047         * lib/unictype/mirror.h: Regenerated.
44048         * lib/unictype/numeric.h: Regenerated.
44049         * lib/unictype/pr_alphabetic.h: Regenerated.
44050         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44051         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44052         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44053         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44054         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44055         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44056         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44057         * lib/unictype/pr_combining.h: Regenerated.
44058         * lib/unictype/pr_dash.h: Regenerated.
44059         * lib/unictype/pr_decimal_digit.h: Regenerated.
44060         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44061         * lib/unictype/pr_deprecated.h: Regenerated.
44062         * lib/unictype/pr_diacritic.h: Regenerated.
44063         * lib/unictype/pr_extender.h: Regenerated.
44064         * lib/unictype/pr_format_control.h: Regenerated.
44065         * lib/unictype/pr_grapheme_base.h: Regenerated.
44066         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44067         * lib/unictype/pr_grapheme_link.h: Regenerated.
44068         * lib/unictype/pr_id_continue.h: Regenerated.
44069         * lib/unictype/pr_id_start.h: Regenerated.
44070         * lib/unictype/pr_ideographic.h: Regenerated.
44071         * lib/unictype/pr_ignorable_control.h: Regenerated.
44072         * lib/unictype/pr_lowercase.h: Regenerated.
44073         * lib/unictype/pr_math.h: Regenerated.
44074         * lib/unictype/pr_numeric.h: Regenerated.
44075         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44076         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44077         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44078         * lib/unictype/pr_other_id_continue.h: Regenerated.
44079         * lib/unictype/pr_other_lowercase.h: Regenerated.
44080         * lib/unictype/pr_other_math.h: Regenerated.
44081         * lib/unictype/pr_punctuation.h: Regenerated.
44082         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44083         * lib/unictype/pr_soft_dotted.h: Regenerated.
44084         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44085         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44086         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44087         * lib/unictype/pr_uppercase.h: Regenerated.
44088         * lib/unictype/pr_xid_continue.h: Regenerated.
44089         * lib/unictype/pr_xid_start.h: Regenerated.
44090         * lib/unictype/pr_zero_width.h: Regenerated.
44091         * lib/unictype/scripts.h: Regenerated.
44092         * lib/unictype/scripts_byname.gperf: Regenerated.
44093         * lib/unictype/sy_java_ident.h: Regenerated.
44094         * lib/unilbrk/lbrkprop1.h: Regenerated.
44095         * lib/unilbrk/lbrkprop2.h: Regenerated.
44096         * tests/unictype/test-categ_C.c: Regenerated.
44097         * tests/unictype/test-categ_Cf.c: Regenerated.
44098         * tests/unictype/test-categ_Cn.c: Regenerated.
44099         * tests/unictype/test-categ_L.c: Regenerated.
44100         * tests/unictype/test-categ_Ll.c: Regenerated.
44101         * tests/unictype/test-categ_Lm.c: Regenerated.
44102         * tests/unictype/test-categ_Lo.c: Regenerated.
44103         * tests/unictype/test-categ_Lu.c: Regenerated.
44104         * tests/unictype/test-categ_M.c: Regenerated.
44105         * tests/unictype/test-categ_Mc.c: Regenerated.
44106         * tests/unictype/test-categ_Me.c: Regenerated.
44107         * tests/unictype/test-categ_Mn.c: Regenerated.
44108         * tests/unictype/test-categ_N.c: Regenerated.
44109         * tests/unictype/test-categ_Nd.c: Regenerated.
44110         * tests/unictype/test-categ_Nl.c: Regenerated.
44111         * tests/unictype/test-categ_No.c: Regenerated.
44112         * tests/unictype/test-categ_P.c: Regenerated.
44113         * tests/unictype/test-categ_Pd.c: Regenerated.
44114         * tests/unictype/test-categ_Pe.c: Regenerated.
44115         * tests/unictype/test-categ_Pf.c: Regenerated.
44116         * tests/unictype/test-categ_Pi.c: Regenerated.
44117         * tests/unictype/test-categ_Po.c: Regenerated.
44118         * tests/unictype/test-categ_Ps.c: Regenerated.
44119         * tests/unictype/test-categ_S.c: Regenerated.
44120         * tests/unictype/test-categ_Sk.c: Regenerated.
44121         * tests/unictype/test-categ_Sm.c: Regenerated.
44122         * tests/unictype/test-categ_So.c: Regenerated.
44123         * tests/unictype/test-ctype_alnum.c: Regenerated.
44124         * tests/unictype/test-ctype_alpha.c: Regenerated.
44125         * tests/unictype/test-ctype_graph.c: Regenerated.
44126         * tests/unictype/test-ctype_lower.c: Regenerated.
44127         * tests/unictype/test-ctype_print.c: Regenerated.
44128         * tests/unictype/test-ctype_punct.c: Regenerated.
44129         * tests/unictype/test-ctype_upper.c: Regenerated.
44130         * tests/unictype/test-decdigit.h: Regenerated.
44131         * tests/unictype/test-digit.h: Regenerated.
44132         * tests/unictype/test-numeric.h: Regenerated.
44133         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44134         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44135         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44136         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44137         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44138         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44139         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44140         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44141         * tests/unictype/test-pr_combining.c: Regenerated.
44142         * tests/unictype/test-pr_dash.c: Regenerated.
44143         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44144         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44145         * tests/unictype/test-pr_deprecated.c: Regenerated.
44146         * tests/unictype/test-pr_diacritic.c: Regenerated.
44147         * tests/unictype/test-pr_extender.c: Regenerated.
44148         * tests/unictype/test-pr_format_control.c: Regenerated.
44149         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44150         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44151         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44152         * tests/unictype/test-pr_id_continue.c: Regenerated.
44153         * tests/unictype/test-pr_id_start.c: Regenerated.
44154         * tests/unictype/test-pr_ideographic.c: Regenerated.
44155         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44156         * tests/unictype/test-pr_lowercase.c: Regenerated.
44157         * tests/unictype/test-pr_math.c: Regenerated.
44158         * tests/unictype/test-pr_numeric.c: Regenerated.
44159         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44160         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44161         Regenerated.
44162         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44163         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44164         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44165         * tests/unictype/test-pr_other_math.c: Regenerated.
44166         * tests/unictype/test-pr_punctuation.c: Regenerated.
44167         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44168         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44169         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44170         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44171         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44172         * tests/unictype/test-pr_uppercase.c: Regenerated.
44173         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44174         * tests/unictype/test-pr_xid_start.c: Regenerated.
44175         * tests/unictype/test-pr_zero_width.c: Regenerated.
44176
44177         Update to Unicode 5.1.0.
44178         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44179         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44180         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44181         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44182         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44183         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44184         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44185         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44186         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44187         (nonspacing_table_ind): Update.
44188         * tests/uniwidth/test-uc_width2.sh: Update expected result.
44189
44190         Update to Unicode 5.1.0.
44191         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
44192         code transform.
44193         * lib/uniname/uniname.c (unicode_character_name,
44194         unicode_name_character): Add the range 0x1Fxxx to the code transform.
44195         * lib/uniname/uninames.h: Regenerated.
44196         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
44197
44198 2009-02-07  Bruno Haible  <bruno@clisp.org>
44199
44200         Merge gen-ctype and gen-lbrk into a single program.
44201         * lib/gen-uni-tables.c: New file, incorporating
44202         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
44203         Add directory prefixes to the names of the generated files.
44204         * lib/unictype/gen-ctype.c: Remove file.
44205         * lib/unilbrk/gen-lbrk.c: Remove file.
44206         * modules/gen-uni-tables: New file.
44207         * modules/unictype/gen-ctype: Remove file.
44208         * modules/unilbrk/gen-lbrk: Remove file.
44209
44210 2009-02-07  Bruno Haible  <bruno@clisp.org>
44211
44212         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
44213
44214         New module 'unistr/u32-strcoll'.
44215         * modules/unistr/u32-strcoll: New file.
44216         * lib/unistr/u32-strcoll.c: New file.
44217
44218         New module 'unistr/u16-strcoll'.
44219         * modules/unistr/u16-strcoll: New file.
44220         * lib/unistr/u16-strcoll.c: New file.
44221
44222         New module 'unistr/u8-strcoll'.
44223         * modules/unistr/u8-strcoll: New file.
44224         * lib/unistr/u8-strcoll.c: New file.
44225         * lib/unistr/u-strcoll.h: New file.
44226
44227 2009-02-07  Bruno Haible  <bruno@clisp.org>
44228
44229         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
44230         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44231         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44232         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
44233         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
44234         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
44235
44236 2009-02-07  Bruno Haible  <bruno@clisp.org>
44237
44238         Make 64-bit clean.
44239         * lib/unictype/gen-ctype.c (output_predicate, output_category,
44240         output_combclass, output_bidi_category, output_decimal_digit,
44241         output_digit, output_numeric, output_mirror, output_scripts,
44242         output_ident_category): Use proper width specifier in format strings.
44243
44244 2009-02-07  Bruno Haible  <bruno@clisp.org>
44245
44246         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
44247         failure behaviour.
44248
44249 2009-02-07  Jim Meyering  <meyering@redhat.com>
44250
44251         regex: avoid compilation failure with upcoming gcc-4.4
44252         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
44253         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
44254         "... error: integer overflow in preprocessor expression".
44255
44256 2009-02-05  Ben Pfaff  <blp@gnu.org>
44257
44258         Fix link errors on Windows when close module is used.
44259         * modules/close: Add $(LIB_CLOSE) to Link section.
44260         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
44261         $(LIB_CLOSE) on Windows.
44262
44263 2009-02-05  Jim Meyering  <meyering@redhat.com>
44264
44265         still avoid unused-parameter warnings, but do it cleanly
44266         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
44267         (get_fs_usage): Cast to void instead.
44268         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
44269         (dev_from_mount_options, read_file_system_list): Cast to void.
44270         Prompted by Bruno Haible.
44271
44272 2009-02-04  Jim Meyering  <meyering@redhat.com>
44273
44274         fsusage.c: correct copyright year
44275         * lib/fsusage.c: Reflect year in which the change is pushed into
44276
44277         avoid misc. warnings
44278         * lib/fsusage.c (UNUSED_PARAM): Define.
44279         (get_fs_usage): Mark parameter "disk" as unused.
44280         * lib/getugroups.c (getgrent): Use "void" in prototype.
44281         * lib/mountlist.c: Mark unused parameters.
44282         (read_file_system_list): Declare a local with "const".
44283         * lib/nanosleep.c (getnow): Declare static.
44284         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
44285
44286         dirfd: set errno upon failure
44287         * lib/dirfd.c: Include <errno.h>.
44288         Set errno to ENOTSUP when returning -1.
44289         * modules/dirfd (Depends-on): Add errno.
44290         Suggested by John Kodis <kodis@comcast.net>.
44291
44292 2009-02-01  Bruno Haible  <bruno@clisp.org>
44293
44294         Don't assume sizeof (long) >= sizeof (void *).
44295         * lib/memcmp.c: Include stdint.h.
44296         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
44297         srcp2 to 'const byte *'.
44298         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
44299         types to uintptr_t.
44300         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
44301         * modules/memcmp (Depends-on): Add stdint.
44302         Reported by Ozkan Sezer <sezeroz@gmail.com>.
44303
44304 2009-01-30  Eric Blake  <ebb9@byu.net>
44305
44306         fix more require-before-expand issues
44307         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44308         expand, AC_PROG_AWK.
44309         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44310
44311 2009-01-28  Eric Blake  <ebb9@byu.net>
44312
44313         version-etc: use consistent URL formatting
44314         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44315         Improve formatting.  Use fputs for string without %.
44316
44317 2009-01-28  Jim Meyering  <meyering@redhat.com>
44318
44319         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44320         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44321         "underquoted definition of NAME" from autoconf-2.59.
44322
44323 2009-01-28  Bruno Haible  <bruno@clisp.org>
44324
44325         * doc/gnulib.texi: Add "Obsolete modules" to index.
44326
44327 2009-01-28  Jim Meyering  <meyering@redhat.com>
44328
44329         useless-if-before-free: recognize more variants
44330         * build-aux/useless-if-before-free: Also recognize e.g.,
44331         if (NULL != p) free (p);
44332
44333 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44334
44335         test-getaddrinfo: skip (don't fail) this test when there's no network
44336         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44337         on the presumption that it means you lack network access.
44338
44339 2009-01-26  Jim Meyering  <meyering@redhat.com>
44340
44341         fflush: avoid warnings on modern systems
44342         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44343         pos and result, into scopes where they're used.
44344
44345 2009-01-26  Eric Blake  <ebb9@byu.net>
44346
44347         Silence warning reintroduced by recent extensions patch.
44348         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44349         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44350         autoconf.
44351
44352         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44353         * m4/00gnulib.m4: New file.
44354         * gnulib-tool (func_get_filelist): Always use it.
44355         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44356         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44357
44358 2009-01-25  Bruno Haible  <bruno@clisp.org>
44359
44360         Make test-quotearg work on MacOS X and AIX.
44361         * tests/test-quotearg.sh: New file.
44362         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
44363         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
44364         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
44365         include <libintl.h>.
44366         (fake_locale): Remove variable.
44367         (gettext, dgettext, dcgettext): Remove functions.
44368         (main): Instead of setting a fake locale, set a real locale. Call
44369         textdomain and bindtextdomain.
44370         * modules/quotearg-tests (Files): Add the new files.
44371         (Depends-on): Add gettext, setenv, unsetenv.
44372         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
44373         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
44374         Augment TESTS_ENVIRONMENT.
44375
44376 2009-01-25  Bruno Haible  <bruno@clisp.org>
44377
44378         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44379         fr_FR.ISO8859-1 locale on MacOS X.
44380         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44381         ja_JP.eucJP locale on MacOS X.
44382         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44383         zh_CN.GB18030 locale on MacOS X.
44384
44385 2009-01-25  Bruno Haible  <bruno@clisp.org>
44386
44387         Avoid link errors on MacOS X 10.3.
44388         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44389         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44390
44391 2009-01-25  Bruno Haible  <bruno@clisp.org>
44392
44393         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44394         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44395         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44396         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44397         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44398         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44399         posix_spawnattr_init, posix_spawnattr_setsigmask,
44400         posix_spawnattr_setflags, posix_spawnattr_destroy.
44401
44402         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44403         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44404         * modules/execute (Files): Remove m4/posix_spawn.m4.
44405         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44406         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44407         posix_spawnattr_init, posix_spawnattr_setsigmask,
44408         posix_spawnattr_setflags, posix_spawnattr_destroy.
44409
44410 2009-01-25  Bruno Haible  <bruno@clisp.org>
44411
44412         * lib/glthread/threadlib.c: Include <stdlib.h>.
44413
44414 2009-01-25  Bruno Haible  <bruno@clisp.org>
44415
44416         * lib/glthread/threadlib.c (dummy): New declaration.
44417
44418 2009-01-25  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
44421         multibyte characters also for the GB18030 encoding. Don't crash when
44422         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
44423
44424 2009-01-25  Bruno Haible  <bruno@clisp.org>
44425
44426         Avoid redefining 'struct random_data' on OSF/1 5.1.
44427         * lib/stdlib.in.h: Include <random.h> if it exists.
44428         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
44429         HAVE_RANDOM_H. Include <random.h> when testing whether
44430         'struct random_data' exists.
44431         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
44432
44433 2009-01-25  Bruno Haible  <bruno@clisp.org>
44434
44435         Don't install charset.alias on MacOS X >= 10.3.
44436         * lib/localcharset.c (DARWIN7): New macro.
44437         (get_charset_aliases): Hardcode the result for Darwin7.
44438         * modules/localcharset (install-exec-local): Don't install
44439         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
44440
44441 2009-01-25  Bruno Haible  <bruno@clisp.org>
44442
44443         Don't install charset.alias on mingw and Cygwin.
44444         * modules/localcharset (install-exec-local): Don't install
44445         charset.alias on mingw and Cygwin, if the file does not yet exist.
44446         The result for these platforms is hardcoded in localcharset.c.
44447
44448 2009-01-25  Bruno Haible  <bruno@clisp.org>
44449
44450         Make it possible again to use AC_GNU_SOURCE together with gnulib.
44451         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
44452         before requiring AC_USE_SYSTEM_EXTENSIONS.
44453
44454 2009-01-25  Jim Meyering  <meyering@redhat.com>
44455
44456         c-strtod: avoid warnings
44457         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
44458         "assignment discards qualifiers from pointer target type" warnings.
44459
44460 2009-01-24  Bruno Haible  <bruno@clisp.org>
44461
44462         Add support for non-UTF-8 locales on MacOS X.
44463         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
44464         canonical encodings. For Darwin 7 and newer, don't map traditional
44465         encodings to UTF-8.
44466         Reported by Vincent Lefevre <vincent@vinc17.org>
44467         at <http://savannah.gnu.org/bugs/?25235>.
44468
44469 2009-01-24  Bruno Haible  <bruno@clisp.org>
44470
44471         * doc/gnulib.texi (Obsolete modules): New section.
44472         Reported by Mike Frysinger <vapier@gentoo.org>.
44473
44474 2009-01-24  Bruno Haible  <bruno@clisp.org>
44475
44476         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
44477         (%.dvi): New rule.
44478
44479 2009-01-24  Bruno Haible  <bruno@clisp.org>
44480
44481         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44482         Reported by Eric Blake.
44483
44484 2009-01-24  Bruno Haible  <bruno@clisp.org>
44485
44486         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44487         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44488         Reported by Gary V. Vaughan <gary@gnu.org>.
44489
44490 2009-01-24  Bruno Haible  <bruno@clisp.org>
44491
44492         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44493
44494 2009-01-23  Bruno Haible  <bruno@clisp.org>
44495
44496         Make c-strtod, c-strtold usable in libraries.
44497         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44498         (C_STRTOD): Call strdup instead of xstrdup.
44499         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44500         * modules/c-strtold (Depends-on): Likewise.
44501         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44502         * NEWS: Mention the change.
44503         Reported by Michael Gold <mgold@ncf.ca>.
44504
44505 2009-01-23  Jim Meyering  <meyering@redhat.com>
44506
44507         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44508         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44509         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44510
44511 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44512
44513         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44514         GNU CoreUtils.
44515         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44516         * modules/version-etc (Description): Update.
44517
44518 2009-01-22  Bruno Haible  <bruno@clisp.org>
44519
44520         Cache the C locale object.
44521         * lib/c-strtod.c (c_locale_cache): New variable.
44522         (c_locale): New function.
44523         (C_STRTOD): Use it, and don't call freelocale.
44524         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44525         Suggested by Paolo Bonzini.
44526
44527 2009-01-21  Bruno Haible  <bruno@clisp.org>
44528
44529         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44530         conditions other than overflow.
44531
44532 2009-01-21  Bruno Haible  <bruno@clisp.org>
44533
44534         * lib/c-strtod.c: Include errno.h.
44535         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44536         value from STRTOD_L and STRTOD.
44537
44538 2009-01-21  Bruno Haible  <bruno@clisp.org>
44539         and Jim Meyering  <meyering@redhat.com>
44540
44541         nanosleep: skip configure test (fail it) for apple universal builds
44542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44543         universal builds, assume that nanosleep does not work.
44544         * modules/nanosleep (Depends-on): Add multiarch.
44545
44546         mktime: skip configure test (fail it) for apple universal builds
44547         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44548         universal builds, assume that mktime does not work.
44549         * modules/mktime (Depends-on): Add multiarch.
44550
44551 2009-01-21  Eric Blake  <ebb9@byu.net>
44552
44553         multiarch: avoid expand-before-require warning
44554         * modules/multiarch (configure.ac): Require, rather than expand,
44555         gl_MULTIARCH.
44556         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44557         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44558         enforce that all clients require it.  Partial reversion of
44559         2008-12-29 patch.
44560
44561         error: avoid expand-before-require warning
44562         * modules/errno (configure.ac): Require, rather than expand,
44563         gl_HEADER_ERRNO_H.
44564         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44565         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44566         enforce that all clients require it.
44567
44568         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44569         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44570         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44571         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44572
44573 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44574
44575         Revert:
44576         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44577
44578         regex: do not depend on obsolete modules.
44579         * modules/regex: Remove memcmp and memmove.
44580
44581 2009-01-20  Bruno Haible  <bruno@clisp.org>
44582
44583         Make the 'link' module link on Windows NT 4.
44584         * lib/link.c (_WIN32_WINNT): Don't define.
44585         (CreateHardLinkFuncType): New type.
44586         (CreateHardLinkFunc, initialized): New variables.
44587         (initialize): New function.
44588         (link): Invoke CreateHardLink indirectly through the function pointer.
44589
44590 2009-01-20  Bruno Haible  <bruno@clisp.org>
44591
44592         Fix compilation failure on mingw.
44593         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44594
44595 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44596
44597         * doc/c-strtod.texi: Mention a couple of restrictions.
44598
44599 2009-01-20  Jim Meyering  <meyering@redhat.com>
44600
44601         gettimeofday: move more declarations out of functions
44602         * lib/gettimeofday.c: Move extern declarations of tzset and
44603         gmtime out of containing functions.  Prompted by Bruno Haible.
44604
44605 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44606
44607         regex: do not depend on obsolete modules.
44608         * modules/regex: Remove memcmp and memmove.
44609
44610 2009-01-19  Bruno Haible  <bruno@clisp.org>
44611
44612         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44613         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44614         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44615         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44616         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44617
44618 2009-01-19  Bruno Haible  <bruno@clisp.org>
44619
44620         * tests/test-link.c: Include <errno.h>.
44621         (main): Exit with code 77 when a hard link cannot be created due to
44622         the file system.
44623         * tests/test-link.sh: Skip test when a hard link cannot be created due
44624         to the file system.
44625         Suggested by Eric Blake.
44626
44627 2009-01-19  Martin Lambers  <marlam@marlam.de>
44628
44629         * modules/link-tests: New file.
44630         * tests/test-link.sh: New file.
44631         * tests/test-link.c: New file.
44632
44633 2009-01-19  Eric Blake  <ebb9@byu.net>
44634
44635         doc: mention another function added in cygwin 1.7.0
44636         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44637         Another new function in cygwin 1.7.
44638
44639 2009-01-19  Bruno Haible  <bruno@clisp.org>
44640
44641         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44642         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44643         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44644         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44645         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44646         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44647         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44648         * m4/md4.m4 (gl_MD4): Likewise.
44649         * m4/md5.m4 (gl_MD5): Likewise.
44650         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44651         * m4/sha1.m4 (gl_SHA1): Likewise.
44652         * m4/sha256.m4 (gl_SHA256): Likewise.
44653         * m4/sha512.m4 (gl_SHA512): Likewise.
44654
44655 2009-01-19  Bruno Haible  <bruno@clisp.org>
44656
44657         * modules/uniname/uniname-tests (Depends-on): Add progname.
44658         * tests/uniname/test-uninames.c: Include progname.h.
44659         (main): Call set_program_name.
44660
44661         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44662         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44663         (main): Call set_program_name.
44664
44665         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44666         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44667         (main): Call set_program_name.
44668
44669         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44670         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44671         (main): Call set_program_name.
44672
44673         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44674         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44675         (main): Call set_program_name.
44676
44677         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44678         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44679         (main): Call set_program_name.
44680
44681         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44682         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44683         (main): Call set_program_name.
44684
44685         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44686         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44687         (main): Call set_program_name.
44688
44689         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44690         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44691         (main): Call set_program_name.
44692
44693 2009-01-19  Eric Blake  <ebb9@byu.net>
44694
44695         test-unistd: test previous patch
44696         * tests/test-unistd.c: Test *_FILENO macros.
44697
44698         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44699         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44700         Guarantee a definition.
44701         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44702         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44703         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44704         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44705         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44706         Likewise.
44707         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44708         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44709         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44710         Likewise.
44711         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44712         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44713         (STDERR_FILENO): Likewise.
44714         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44715         (STDERR_FILENO): Likewise.
44716         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44717         (STDERR_FILENO): Likewise.
44718         Reported by Elbert Pol.
44719
44720 2009-01-19  Eric Blake  <ebb9@byu.net>
44721
44722         doc: mention more functions added in cygwin 1.7.0
44723         * doc/posix-functions/abort.texi (abort): Update wording related
44724         to cygwin.
44725         * doc/posix-functions/daylight.texi (daylight): Likewise.
44726         * doc/posix-functions/optarg.texi (optarg): Likewise.
44727         * doc/posix-functions/optarg.texi (opterr): Likewise.
44728         * doc/posix-functions/optarg.texi (optind): Likewise.
44729         * doc/posix-functions/optarg.texi (optopt): Likewise.
44730         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44731         worked in 1.5.x, and was withdrawn in 1.7.
44732         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44733         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44734         cygwin versions.
44735         * doc/posix-functions/perror.texi (perror): Likewise.
44736         * doc/posix-functions/printf.texi (printf): Likewise.
44737         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44738         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44739         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44740         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44741         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44742         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44743         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44744         Likewise.
44745         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44746         Likewise.
44747         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44748         this function.
44749         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44750         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44751         Likewise.
44752         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44753         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44754         * doc/posix-functions/confstr.texi (confstr): Likewise.
44755         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44756         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44757         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44758         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44759         * doc/posix-functions/fputws.texi (fputws): Likewise.
44760         * doc/posix-functions/fwide.texi (fwide): Likewise.
44761         * doc/posix-functions/getwc.texi (getwc): Likewise.
44762         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44763         * doc/posix-functions/putwc.texi (putwc): Likewise.
44764         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44765         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44766         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44767         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44768         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44769         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44770         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44771         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44772         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44773         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44774         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44775
44776 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44777
44778         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44779         * lib/ioctl.c: Include <sys/ioctl.h>.
44780
44781 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44782
44783         * modules/getdate-tests (Depends-on): Add progname.
44784         * tests/test-getdate.c: Use progname module, to avoid link errors
44785         on non-glibc systems.
44786
44787 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44788
44789         * modules/filenamecat-tests (Depends-on): Add progname.
44790         * modules/fstrcmp-tests (Depends-on): Likewise.
44791
44792         * tests/test-filenamecat.c: Use progname module, to avoid link
44793         errors on non-glibc systems.
44794         * tests/test-fstrcmp.c: Likewise.
44795
44796 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44797
44798         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44799         * lib/gettimeofday.c: Move extern declaration out of function.
44800
44801 2009-01-18  Bruno Haible  <bruno@clisp.org>
44802
44803         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44804         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44805         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44806
44807 2009-01-18  Bruno Haible  <bruno@clisp.org>
44808
44809         * lib/strftime.c (MEMPCPY): Remove unused macro.
44810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44811
44812 2009-01-18  Martin Lambers  <marlam@marlam.de>
44813
44814         New module 'link'.
44815         * lib/unistd.in.h (link): New declaration.
44816         * lib/link.c: New file.
44817         * m4/link.m4: New file.
44818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44819         HAVE_LINK.
44820         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44821         * modules/link: New file.
44822         * doc/posix-functions/link.texi: Mention the new module.
44823
44824 2009-01-18  Bruno Haible  <bruno@clisp.org>
44825
44826         * tests/test-avltree_list.c (main): Call set_program_name.
44827         * tests/test-avltree_oset.c (main): Likewise.
44828         * tests/test-obstack-printf.c: Include progname.h.
44829         (main): Call set_program_name.
44830         * tests/test-quotearg.c: Include progname.h.
44831         (main): Call set_program_name.
44832         * tests/test-xmemdup0.c: Include progname.h.
44833         (main): Call set_program_name.
44834
44835 2009-01-18  Bruno Haible  <bruno@clisp.org>
44836
44837         New module 'alphasort'.
44838         * lib/dirent.in.h (alphasort): New declaration.
44839         * lib/alphasort.c: New file, from glibc with modifications.
44840         * m4/alphasort.m4: New file.
44841         * modules/alphasort: New file.
44842         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44843         HAVE_ALPHASORT.
44844         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44845         HAVE_ALPHASORT.
44846         * doc/posix-functions/alphasort.texi: Mention the new module and the
44847         portability problems.
44848
44849 2009-01-18  Bruno Haible  <bruno@clisp.org>
44850
44851         New module 'scandir'.
44852         * lib/dirent.in.h (scandir): New declaration.
44853         * lib/scandir.c: New file, from glibc with modifications.
44854         * m4/scandir.m4: New file.
44855         * modules/scandir: New file.
44856         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44857         HAVE_SCANDIR.
44858         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44859         HAVE_SCANDIR.
44860         * doc/posix-functions/scandir.texi: Mention the new module and the
44861         portability problems.
44862
44863 2009-01-17  Bruno Haible  <bruno@clisp.org>
44864
44865         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44866         Update documentation.
44867         (func_remove_suffix): Escape all dots in the suffix. Update
44868         documentation.
44869         (func_filter_filelist): Update documentation.
44870         Reported by Ralf Wildenhues.
44871
44872 2009-01-17  Bruno Haible  <bruno@clisp.org>
44873
44874         * modules/dprintf-posix-tests: New file.
44875         * tests/test-dprintf-posix.sh: New file.
44876         * tests/test-dprintf-posix.c: New file.
44877
44878         New modules 'dprintf', 'dprintf-posix'.
44879         * lib/stdio.in.h (dprintf): New declaration.
44880         * lib/dprintf.c: New file.
44881         * m4/dprintf.m4: New file.
44882         * m4/dprintf-posix.m4: New file.
44883         * modules/dprintf: New file.
44884         * modules/dprintf-posix: New file.
44885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44886         HAVE_DPRINTF, REPLACE_DPRINTF.
44887         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44888         HAVE_DPRINTF, REPLACE_DPRINTF.
44889         * doc/posix-functions/dprintf.texi: Mention the new modules.
44890
44891 2009-01-17  Bruno Haible  <bruno@clisp.org>
44892
44893         * modules/vdprintf-posix-tests: New file.
44894         * tests/test-vdprintf-posix.sh: New file.
44895         * tests/test-vdprintf-posix.c: New file.
44896
44897         New modules 'vdprintf', 'vdprintf-posix'.
44898         * lib/stdio.in.h (vdprintf): New declaration.
44899         * lib/vdprintf.c: New file.
44900         * m4/vdprintf.m4: New file.
44901         * m4/vdprintf-posix.m4: New file.
44902         * modules/vdprintf: New file.
44903         * modules/vdprintf-posix: New file.
44904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44905         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44906         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44907         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44908         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44909
44910 2009-01-17  Bruno Haible  <bruno@clisp.org>
44911
44912         Fix replacement of fopen on mingw.
44913         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44914         mingw.
44915
44916 2009-01-17  Bruno Haible  <bruno@clisp.org>
44917
44918         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44919         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44920
44921 2009-01-17  Bruno Haible  <bruno@clisp.org>
44922
44923         Avoid test-fflush2.sh failure on mingw.
44924         * tests/test-fflush2.c: Include binary-io.h.
44925         (main): Put standard input into binary mode.
44926         * modules/fflush-tests (Depends-on): Add binary-io.
44927
44928 2009-01-17  Bruno Haible  <bruno@clisp.org>
44929
44930         * lib/wchar.in.h: In another particular situation, include only the
44931         system's <wchar.h> file.
44932         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44933         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44934         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44935
44936 2009-01-17  Bruno Haible  <bruno@clisp.org>
44937
44938         Support for stripping executables in --enable-relocatable.
44939         * build-aux/install-reloc: Expect one more argument, or an environment
44940         variable RELOC_STRIP_PROG. If set, strip the destination program and
44941         its wrapper.
44942         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44943         RELOC_STRIP_PROG.
44944         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44945         to set RELOCATABLE_STRIP.
44946         * NEWS: Mention the new Makefile requirement.
44947
44948 2009-01-17  Bruno Haible  <bruno@clisp.org>
44949
44950         * build-aux/install-reloc: Remove debugging information left over by
44951         C compiler on MacOS X.
44952
44953 2009-01-17  Bruno Haible  <bruno@clisp.org>
44954
44955         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44956         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44957         _NSGetExecutablePath.
44958
44959 2009-01-16  Jim Meyering  <meyering@redhat.com>
44960
44961         strerror: avoid warnings about discarding "const"
44962         * lib/strerror.c (rpl_strerror): Instead of returning a const
44963         string from each and every "case", use a variable, and add a single
44964         cast after the switch.
44965
44966 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44967
44968         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44969
44970 2009-01-16  Bruno Haible  <bruno@clisp.org>
44971
44972         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44973         array initializer syntax that also works in C++ mode.
44974         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44975
44976 2009-01-16  Jim Meyering  <meyering@redhat.com>
44977
44978         poll: suppress a warning
44979         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44980         to ignore "...unsigned expression < 0 is always false" warnings.
44981
44982 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44983
44984         poll: remove declarations of unused variables
44985         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44986         sockbuf and optlen.
44987
44988 2009-01-15  Bruno Haible  <bruno@clisp.org>
44989
44990         Make fflush-after-ungetc POSIX compliant on BSD systems.
44991         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44992         (clear_ungetc_buffer): Implement also for other systems.
44993         (rpl_fflush): On glibc systems, invoke
44994         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44995         clear_ungetc_buffer after fetching the stream's position, not before.
44996
44997 2009-01-15  Bruno Haible  <bruno@clisp.org>
44998
44999         Make fflush-after-ungetc POSIX compliant on glibc systems.
45000         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45001         after ungetc.
45002         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45003         (rpl_fflush): On glibc systems, simply call the system's fflush
45004         function after clearing the ungetc buffer.
45005         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45006         Instead, lseek only to the end of file, then use the system's fseeko
45007         for the rest. On glibc systems, reset the EOF indicator bit.
45008
45009 2009-01-15  Jim Meyering  <meyering@redhat.com>
45010
45011         openmp.m4: revert quote-adding change, for portability to older autoconf
45012         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45013         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45014         Simon Josefsson noticed the problem when using autoconf-2.61.
45015
45016 2009-01-15  Bruno Haible  <bruno@clisp.org>
45017
45018         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45019         * tests/test-fflush2.c (ASSERT): Always fail.
45020         (main): Add two tests for fflush() after ungetc(), taking into account
45021         the Austin Group's clarification.
45022         Suggested by Eric Blake.
45023
45024 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45025
45026         mktime.m4: remove K&R-style function prototypes
45027         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45028         for the Sun C++ compiler.
45029
45030 2009-01-14  Bruno Haible  <bruno@clisp.org>
45031
45032         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45033         while including <wchar.h>.
45034         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45035         the system's <wchar.h> file.
45036         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45037
45038 2009-01-14  Bruno Haible  <bruno@clisp.org>
45039
45040         * m4/csharp.m4: Don't mention gettext on the serial number line.
45041         * m4/csharpexec.m4: Likewise.
45042         * m4/eaccess.m4: Likewise.
45043         * m4/javaexec.m4: Likewise.
45044         * m4/sig_atomic_t.m4: Likewise.
45045         * m4/tmpdir.m4: Likewise.
45046         * m4/intldir.m4: Bump gettext version.
45047         * m4/lib-ld.m4: Likewise.
45048
45049 2009-01-14  Bruno Haible  <bruno@clisp.org>
45050
45051         * lib/progname.c (set_program_name): Add more comments.
45052         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45053
45054 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45055
45056         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45057         were sys/stat.h does not define it.
45058
45059 2009-01-14  Jim Meyering  <meyering@redhat.com>
45060
45061         many *.m4 files: improve m4 quoting
45062         99% of this change was performed by running the following commands:
45063         git ls-files | grep '\.m4$' | xargs perl -pi \
45064           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45065           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45066           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45067           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45068         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45069         The remainder were to add Copyright dates, increment serial numbers,
45070         undo some changes in comments, exclude m4/intl.m4, and add quotes
45071         around the "1" in ",1" where the unusual spacing prohibited the
45072         above regexps from doing the job.  For more details, see
45073         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45074         * m4/acl.m4: Modified.
45075         * m4/afs.m4: Likewise.
45076         * m4/alloca.m4: Likewise.
45077         * m4/argp.m4: Likewise.
45078         * m4/argz.m4: Likewise.
45079         * m4/atexit.m4: Likewise.
45080         * m4/bison-i18n.m4: Likewise.
45081         * m4/bison.m4: Likewise.
45082         * m4/byteswap.m4: Likewise.
45083         * m4/c-stack.m4: Likewise.
45084         * m4/c-strtod.m4: Likewise.
45085         * m4/calloc.m4: Likewise.
45086         * m4/canonicalize-lgpl.m4: Likewise.
45087         * m4/chown.m4: Likewise.
45088         * m4/clock_time.m4: Likewise.
45089         * m4/codeset.m4: Likewise.
45090         * m4/copy-file.m4: Likewise.
45091         * m4/csharp.m4: Likewise.
45092         * m4/csharpcomp.m4: Likewise.
45093         * m4/csharpexec.m4: Likewise.
45094         * m4/d-ino.m4: Likewise.
45095         * m4/d-type.m4: Likewise.
45096         * m4/dirfd.m4: Likewise.
45097         * m4/double-slash-root.m4: Likewise.
45098         * m4/eaccess.m4: Likewise.
45099         * m4/eealloc.m4: Likewise.
45100         * m4/environ.m4: Likewise.
45101         * m4/errno_h.m4: Likewise.
45102         * m4/euidaccess.m4: Likewise.
45103         * m4/execute.m4: Likewise.
45104         * m4/fatal-signal.m4: Likewise.
45105         * m4/fchdir.m4: Likewise.
45106         * m4/fcntl_h.m4: Likewise.
45107         * m4/fileblocks.m4: Likewise.
45108         * m4/filenamecat.m4: Likewise.
45109         * m4/findprog.m4: Likewise.
45110         * m4/flexmember.m4: Likewise.
45111         * m4/fnmatch.m4: Likewise.
45112         * m4/fopen.m4: Likewise.
45113         * m4/fpending.m4: Likewise.
45114         * m4/fprintf-posix.m4: Likewise.
45115         * m4/free.m4: Likewise.
45116         * m4/frexp.m4: Likewise.
45117         * m4/frexpl.m4: Likewise.
45118         * m4/fsusage.m4: Likewise.
45119         * m4/ftruncate.m4: Likewise.
45120         * m4/gc-camellia.m4: Likewise.
45121         * m4/gc-random.m4: Likewise.
45122         * m4/gc.m4: Likewise.
45123         * m4/getaddrinfo.m4: Likewise.
45124         * m4/getcwd-abort-bug.m4: Likewise.
45125         * m4/getcwd-path-max.m4: Likewise.
45126         * m4/getdate.m4: Likewise.
45127         * m4/getdomainname.m4: Likewise.
45128         * m4/getgroups.m4: Likewise.
45129         * m4/gethostname.m4: Likewise.
45130         * m4/gethrxtime.m4: Likewise.
45131         * m4/getline.m4: Likewise.
45132         * m4/getloadavg.m4: Likewise.
45133         * m4/getndelim2.m4: Likewise.
45134         * m4/getpass.m4: Likewise.
45135         * m4/gettext.m4: Likewise.
45136         * m4/gettime.m4: Likewise.
45137         * m4/gettimeofday.m4: Likewise.
45138         * m4/gnulib-common.m4: Likewise.
45139         * m4/group-member.m4: Likewise.
45140         * m4/host-os.m4: Likewise.
45141         * m4/iconv.m4: Likewise.
45142         * m4/iconv_open.m4: Likewise.
45143         * m4/inet_ntop.m4: Likewise.
45144         * m4/inet_pton.m4: Likewise.
45145         * m4/inline.m4: Likewise.
45146         * m4/intldir.m4: Likewise.
45147         * m4/intlmacosx.m4: Likewise.
45148         * m4/intmax.m4: Likewise.
45149         * m4/intmax_t.m4: Likewise.
45150         * m4/inttypes.m4: Likewise.
45151         * m4/inttypes_h.m4: Likewise.
45152         * m4/inttypes-pri.m4: Likewise.
45153         * m4/isapipe.m4: Likewise.
45154         * m4/isnand.m4: Likewise.
45155         * m4/isnanf.m4: Likewise.
45156         * m4/isnanl.m4: Likewise.
45157         * m4/javacomp.m4: Likewise.
45158         * m4/javaexec.m4: Likewise.
45159         * m4/jm-winsz1.m4: Likewise.
45160         * m4/jm-winsz2.m4: Likewise.
45161         * m4/lchown.m4: Likewise.
45162         * m4/lcmessage.m4: Likewise.
45163         * m4/ldexpl.m4: Likewise.
45164         * m4/lib-ld.m4: Likewise.
45165         * m4/lib-link.m4: Likewise.
45166         * m4/libsigsegv.m4: Likewise.
45167         * m4/link-follow.m4: Likewise.
45168         * m4/localcharset.m4: Likewise.
45169         * m4/locale-fr.m4: Likewise.
45170         * m4/locale-ja.m4: Likewise.
45171         * m4/locale-tr.m4: Likewise.
45172         * m4/locale-zh.m4: Likewise.
45173         * m4/lock.m4: Likewise.
45174         * m4/longlong.m4: Likewise.
45175         * m4/ls-mntd-fs.m4: Likewise.
45176         * m4/lstat.m4: Likewise.
45177         * m4/malloc.m4: Likewise.
45178         * m4/mathl.m4: Likewise.
45179         * m4/mbrtowc.m4: Likewise.
45180         * m4/mbstate_t.m4: Likewise.
45181         * m4/mbswidth.m4: Likewise.
45182         * m4/memchr.m4: Likewise.
45183         * m4/memcmp.m4: Likewise.
45184         * m4/memcpy.m4: Likewise.
45185         * m4/memmem.m4: Likewise.
45186         * m4/memmove.m4: Likewise.
45187         * m4/mempcpy.m4: Likewise.
45188         * m4/memrchr.m4: Likewise.
45189         * m4/memset.m4: Likewise.
45190         * m4/minmax.m4: Likewise.
45191         * m4/mkdir-slash.m4: Likewise.
45192         * m4/mkdtemp.m4: Likewise.
45193         * m4/mktime.m4: Likewise.
45194         * m4/mmap-anon.m4: Likewise.
45195         * m4/mountlist.m4: Likewise.
45196         * m4/nanosleep.m4: Likewise.
45197         * m4/nls.m4: Likewise.
45198         * m4/nocrash.m4: Likewise.
45199         * m4/open.m4: Likewise.
45200         * m4/openat.m4: Likewise.
45201         * m4/openmp.m4: Likewise.
45202         * m4/pathmax.m4: Likewise.
45203         * m4/perl.m4: Likewise.
45204         * m4/physmem.m4: Likewise.
45205         * m4/pipe.m4: Likewise.
45206         * m4/po.m4: Likewise.
45207         * m4/poll.m4: Likewise.
45208         * m4/posixtm.m4: Likewise.
45209         * m4/posixver.m4: Likewise.
45210         * m4/printf-frexp.m4: Likewise.
45211         * m4/printf-frexpl.m4: Likewise.
45212         * m4/printf-posix.m4: Likewise.
45213         * m4/printf-posix-rpl.m4: Likewise.
45214         * m4/printf.m4: Likewise.
45215         * m4/progtest.m4: Likewise.
45216         * m4/putenv.m4: Likewise.
45217         * m4/readline.m4: Likewise.
45218         * m4/readlink.m4: Likewise.
45219         * m4/readutmp.m4: Likewise.
45220         * m4/realloc.m4: Likewise.
45221         * m4/regex.m4: Likewise.
45222         * m4/relocatable.m4: Likewise.
45223         * m4/relocatable-lib.m4: Likewise.
45224         * m4/rename-dest-slash.m4: Likewise.
45225         * m4/rename.m4: Likewise.
45226         * m4/rmdir-errno.m4: Likewise.
45227         * m4/rmdir.m4: Likewise.
45228         * m4/roundf.m4: Likewise.
45229         * m4/roundl.m4: Likewise.
45230         * m4/rpmatch.m4: Likewise.
45231         * m4/save-cwd.m4: Likewise.
45232         * m4/selinux-selinux-h.m4: Likewise.
45233         * m4/setenv.m4: Likewise.
45234         * m4/settime.m4: Likewise.
45235         * m4/sig2str.m4: Likewise.
45236         * m4/sig_atomic_t.m4: Likewise.
45237         * m4/signalblocking.m4: Likewise.
45238         * m4/signbit.m4: Likewise.
45239         * m4/sigpipe.m4: Likewise.
45240         * m4/sockets.m4: Likewise.
45241         * m4/sockpfaf.m4: Likewise.
45242         * m4/st_dm_mode.m4: Likewise.
45243         * m4/stat-time.m4: Likewise.
45244         * m4/stdbool.m4: Likewise.
45245         * m4/stdint.m4: Likewise.
45246         * m4/stdint_h.m4: Likewise.
45247         * m4/stpcpy.m4: Likewise.
45248         * m4/stpncpy.m4: Likewise.
45249         * m4/strcase.m4: Likewise.
45250         * m4/strchrnul.m4: Likewise.
45251         * m4/strcspn.m4: Likewise.
45252         * m4/strdup.m4: Likewise.
45253         * m4/strftime.m4: Likewise.
45254         * m4/strndup.m4: Likewise.
45255         * m4/strnlen.m4: Likewise.
45256         * m4/strpbrk.m4: Likewise.
45257         * m4/strptime.m4: Likewise.
45258         * m4/strsep.m4: Likewise.
45259         * m4/strtod.m4: Likewise.
45260         * m4/strtoimax.m4: Likewise.
45261         * m4/strtok_r.m4: Likewise.
45262         * m4/strtol.m4: Likewise.
45263         * m4/strtoll.m4: Likewise.
45264         * m4/strtoul.m4: Likewise.
45265         * m4/strtoull.m4: Likewise.
45266         * m4/strtoumax.m4: Likewise.
45267         * m4/strverscmp.m4: Likewise.
45268         * m4/threadlib.m4: Likewise.
45269         * m4/timegm.m4: Likewise.
45270         * m4/tm_gmtoff.m4: Likewise.
45271         * m4/tmpdir.m4: Likewise.
45272         * m4/tmpfile.m4: Likewise.
45273         * m4/tzset.m4: Likewise.
45274         * m4/uintmax_t.m4: Likewise.
45275         * m4/unlinkdir.m4: Likewise.
45276         * m4/unlocked-io.m4: Likewise.
45277         * m4/uptime.m4: Likewise.
45278         * m4/userspec.m4: Likewise.
45279         * m4/utimbuf.m4: Likewise.
45280         * m4/utime.m4: Likewise.
45281         * m4/utimes-null.m4: Likewise.
45282         * m4/utimes.m4: Likewise.
45283         * m4/vararrays.m4: Likewise.
45284         * m4/vasnprintf.m4: Likewise.
45285         * m4/vfprintf-posix.m4: Likewise.
45286         * m4/vprintf-posix.m4: Likewise.
45287         * m4/wait-process.m4: Likewise.
45288         * m4/wchar_t.m4: Likewise.
45289         * m4/wint_t.m4: Likewise.
45290         * m4/write-any-file.m4: Likewise.
45291         * m4/yield.m4: Likewise.
45292
45293 2009-01-13  Bruno Haible  <bruno@clisp.org>
45294
45295         Avoid test-copy-file.sh failures when ACL support insufficient.
45296         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
45297         TESTS_ENVIRONMENT.
45298         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
45299         Reported by Jim Meyering.
45300
45301 2009-01-13  Bruno Haible  <bruno@clisp.org>
45302
45303         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
45304         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
45305         * modules/unistdio/u8-printf-parse (Files): Likewise.
45306         * modules/unistdio/u32-printf-parse (Files): Likewise.
45307         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45308
45309 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45310
45311         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45312         and m4/inttypes_h.m4 too.
45313
45314 2009-01-12  Eric Blake  <ebb9@byu.net>
45315
45316         tests: IRIX 6.2 cc can't compile -0.0 into .data
45317         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45318         rather than at compile-time.
45319         * tests/test-floorl.c (minus_zero): Likewise.
45320         * tests/test-frexpl.c (minus_zero): Likewise.
45321         * tests/test-isnan.c (minus_zerol): Likewise.
45322         * tests/test-isnanl.h (minus_zero): Likewise.
45323         * tests/test-ldexpl.c (minus_zero): Likewise.
45324         * tests/test-roundl.c (minus_zero): Likewise.
45325         * tests/test-signbit.c (minus_zerol): Likewise.
45326         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45327         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45328         * tests/test-truncl.c (minus_zero): Likewise.
45329         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45330         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45331         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45332
45333 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45334
45335         regex: fix glibc bug 9697
45336         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45337         handling.
45338
45339 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45340
45341         regex: fix glibc bug 697
45342         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45343         being NULL also if there are no backreferences.
45344
45345 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45346
45347         regex: merge glibc changes
45348         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45349         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45350         re_string_skip_chars, re_string_reconstruct): Likewise.
45351         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45352
45353 2009-01-07  Jim Meyering  <meyering@redhat.com>
45354
45355         poll: filter through cppi
45356         * lib/poll.c: Indent cpp directives to reflect nesting.
45357
45358 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
45359
45360         poll: don't return uninitialized
45361         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
45362
45363 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
45364
45365         avoid compile failure on AIX 6.1
45366         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
45367         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
45368
45369 2009-01-04  Jim Meyering  <meyering@redhat.com>
45370
45371         remove duplicate inclusion of <stdio.h>
45372         * tests/test-fprintf-posix.c: Likewise.
45373         * tests/test-printf-posix.c: Likewise.
45374         * tests/test-snprintf-posix.c: Likewise.
45375         * tests/test-sprintf-posix.c: Likewise.
45376         * tests/test-vasprintf-posix.c: Likewise.
45377         * tests/test-vfprintf-posix.c: Likewise.
45378         * tests/test-vprintf-posix.c: Likewise.
45379         * tests/test-vsnprintf-posix.c: Likewise.
45380         * tests/test-vsprintf-posix.c: Likewise.
45381
45382 2009-01-03  Jim Meyering  <meyering@redhat.com>
45383
45384         gnulib-tool: fix sed-based filtering
45385         * gnulib-tool (func_filter_filelist): Remove extra backslash
45386         in sed_fff_filter definition.
45387
45388 2009-01-02  Jim Meyering  <meyering@redhat.com>
45389
45390         strftime: avoid compilation failure on Solaris 2.6
45391         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45392         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45393         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45394         be available.  Reported by Tom G. Christensen.  Details in
45395         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45396
45397 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45398             Bruno Haible  <bruno@clisp.org>
45399
45400         Speed up gnulib-tool by doing more string processing through shell
45401         built-ins.
45402         * gnulib-tool (fast_func_append): New variable.
45403         (func_remove_prefix, func_remove_suffix): New functions.
45404         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45405         (func_filter_filelist): New function.
45406         (func_get_dependencies): Use func_remove_suffix instead of sed.
45407         (func_get_automake_snippet): Use func_filter_filelist instead of a
45408         subshell and sed invocation.
45409
45410 2009-01-01  Bruno Haible  <bruno@clisp.org>
45411
45412         Fix a security bug.
45413         * gnulib-tool (func_import, import, update): Don't allow the characters
45414         '"', '$', '`', '\' in macro arguments that become part of commands that
45415         are evaluated.
45416
45417 2009-01-01  Bruno Haible  <bruno@clisp.org>
45418
45419         * gnulib-tool (func_reset_sigpipe): Add more comments.
45420
45421 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45422
45423         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
45424         func_emit_tests_Makefile_am, func_import): Abort loops early if we
45425         already know the answer.
45426
45427 2009-01-01  Jim Meyering  <meyering@redhat.com>
45428
45429         * lib/version-etc.c (version_etc_va): Update copyright year.
45430
45431 2008-12-30  Bruno Haible  <bruno@clisp.org>
45432
45433         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
45434         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
45435         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
45436
45437 2008-12-29  Eric Blake  <ebb9@byu.net>
45438
45439         multiarch: avoid autoconf AC_REQUIRE bug
45440         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
45441         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
45442         2.63 and older.
45443         Reported by Bruno Haible, and analyzed in
45444         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
45445
45446 2008-12-29  Bruno Haible  <bruno@clisp.org>
45447
45448         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
45449         files in subdirectories correctly.
45450         Reported by Ralf Wildenhues.
45451
45452 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45453
45454         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
45455         rather than 'join FILE -', for Solaris join.
45456
45457 2008-12-29  Bruno Haible  <bruno@clisp.org>
45458
45459         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
45460         quoting.
45461         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
45462         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45463         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45464         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
45465         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45466         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
45467         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
45468         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
45469         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45470         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
45471         * m4/nls.m4 (AM_NLS): Likewise.
45472         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
45473         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
45474         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
45475         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
45476         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
45477         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
45478         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
45479         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
45480         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
45481         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45482         * m4/xsize.m4 (gl_XSIZE): Likewise.
45483         Suggested by Jim Meyering.
45484
45485 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45486
45487         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45488         * lib/parse-duration.c: use a switch instead of cascading if's.
45489
45490 2008-12-29  Eric Blake  <ebb9@byu.net>
45491
45492         wchar.h: supply WEOF on Irix 5.3
45493         * lib/wchar.in.h (wint_t): Also supply WEOF.
45494         * lib/wctype.in.h (wint_t): Likewise.
45495         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45496         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45497         Reported by Tom G. Christensen.
45498
45499 2008-12-26  Bruno Haible  <bruno@clisp.org>
45500
45501         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45502         i486, i586, i686.
45503
45504 2008-12-26  Bruno Haible  <bruno@clisp.org>
45505
45506         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45507
45508 2008-12-26  Bruno Haible  <bruno@clisp.org>
45509
45510         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45511         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45512         not __STDC_CONSTANT_MACROS.
45513         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45514
45515 2008-12-25  Bruno Haible  <bruno@clisp.org>
45516
45517         Add support for universal builds to vasnprintf.
45518         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45519         universal builds, guess no.
45520         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45521         * modules/vasprintf-posix (Depends-on): Likewise.
45522         * modules/fprintf-posix (Depends-on): Likewise.
45523         * modules/vfprintf-posix (Depends-on): Likewise.
45524         * modules/snprintf-posix (Depends-on): Likewise.
45525         * modules/vsnprintf-posix (Depends-on): Likewise.
45526         * modules/sprintf-posix (Depends-on): Likewise.
45527         * modules/vsprintf-posix (Depends-on): Likewise.
45528         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45529         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45530         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45531         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45532         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45533         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45534         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45535
45536         Add support for universal builds to <inttypes.h>.
45537         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45538         _SCNu64_PREFIX): In Apple
45539         universal builds, define directly, using _LP64.
45540         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45541         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45542         * modules/inttypes (Depends-on): Add multiarch.
45543         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45544
45545         Add support for universal builds to <stdint.h>.
45546         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45547         universal builds, define directly, using _LP64.
45548         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45549         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45550         and size_t.
45551         * modules/stdint (Depends-on): Add multiarch.
45552         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45553
45554         New module 'multiarch'.
45555         * modules/multiarch: New file.
45556         * m4/multiarch.m4: New file.
45557
45558 2008-12-25  Bruno Haible  <bruno@clisp.org>
45559
45560         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45561
45562 2008-12-25  Bruno Haible  <bruno@clisp.org>
45563
45564         * modules/btowc (License): Relicense under LGPLv2+.
45565         * modules/mbsinit (License): Likewise.
45566         * modules/mbrtowc (License): Likewise.
45567         * modules/wcrtomb (License): Likewise.
45568         * modules/streq (License): Likewise.
45569         Reported by David Lutterkort <lutter@redhat.com>.
45570
45571 2008-12-23  Bruno Haible  <bruno@clisp.org>
45572
45573         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45574
45575 2008-12-23  Bruno Haible  <bruno@clisp.org>
45576
45577         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45578         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45579         GETADDRINFO_LIB, not in LIBS.
45580         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45581         * modules/canon-host (Link): Likewise.
45582         * NEWS: Mention the change.
45583         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45584         GETADDRINFO_LIB.
45585
45586 2008-12-22  Bruno Haible  <bruno@clisp.org>
45587
45588         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45589         * doc/posix-functions/iswalpha_l.texi: Likewise.
45590         * doc/posix-functions/iswblank_l.texi: Likewise.
45591         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45592         * doc/posix-functions/iswctype_l.texi: Likewise.
45593         * doc/posix-functions/iswdigit_l.texi: Likewise.
45594         * doc/posix-functions/iswgraph_l.texi: Likewise.
45595         * doc/posix-functions/iswlower_l.texi: Likewise.
45596         * doc/posix-functions/iswprint_l.texi: Likewise.
45597         * doc/posix-functions/iswpunct_l.texi: Likewise.
45598         * doc/posix-functions/iswspace_l.texi: Likewise.
45599         * doc/posix-functions/iswupper_l.texi: Likewise.
45600         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45601         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45602         * doc/posix-functions/open_wmemstream.texi: Likewise.
45603         * doc/posix-functions/swscanf.texi: Likewise.
45604         * doc/posix-functions/towctrans_l.texi: Likewise.
45605         * doc/posix-functions/towlower.texi: Likewise.
45606         * doc/posix-functions/towlower_l.texi: Likewise.
45607         * doc/posix-functions/towupper.texi: Likewise.
45608         * doc/posix-functions/towupper_l.texi: Likewise.
45609         * doc/posix-functions/vfwprintf.texi: Likewise.
45610         * doc/posix-functions/vfwscanf.texi: Likewise.
45611         * doc/posix-functions/vswscanf.texi: Likewise.
45612         * doc/posix-functions/vwprintf.texi: Likewise.
45613         * doc/posix-functions/vwscanf.texi: Likewise.
45614         * doc/posix-functions/wcpcpy.texi: Likewise.
45615         * doc/posix-functions/wcpncpy.texi: Likewise.
45616         * doc/posix-functions/wcscasecmp.texi: Likewise.
45617         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45618         * doc/posix-functions/wcscoll_l.texi: Likewise.
45619         * doc/posix-functions/wcsdup.texi: Likewise.
45620         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45621         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45622         * doc/posix-functions/wcsnlen.texi: Likewise.
45623         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45624         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45625         * doc/posix-functions/wctrans_l.texi: Likewise.
45626         * doc/posix-functions/wctype_l.texi: Likewise.
45627         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45628         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45629         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45630         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45631         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45632         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45633         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45634         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45635         * doc/glibc-functions/wcschrnul.texi: Likewise.
45636         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45637         * doc/glibc-functions/wcstod_l.texi: Likewise.
45638         * doc/glibc-functions/wcstof_l.texi: Likewise.
45639         * doc/glibc-functions/wcstol_l.texi: Likewise.
45640         * doc/glibc-functions/wcstold_l.texi: Likewise.
45641         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45642         * doc/glibc-functions/wcstoq.texi: Likewise.
45643         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45644         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45645         * doc/glibc-functions/wcstouq.texi: Likewise.
45646         * doc/glibc-functions/wmempcpy.texi: Likewise.
45647
45648 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45649             Eric Blake  <ebb9@byu.net>
45650             Paolo Bonzini  <bonzini@gnu.org>
45651             Bruno Haible  <bruno@clisp.org>
45652
45653         Make c-stack work on Haiku.
45654         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45655         (c_stack_action): Use SA_ONSTACK flag.
45656
45657 2008-12-22  Bruno Haible  <bruno@clisp.org>
45658
45659         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45660
45661 2008-12-22  Bruno Haible  <bruno@clisp.org>
45662
45663         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45664         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45665         being overridden.
45666         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45667         New macros.
45668         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45669         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45670         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45671         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45672
45673 2008-12-22  Bruno Haible  <bruno@clisp.org>
45674
45675         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45676         from test code.
45677
45678 2008-12-22  Eric Blake  <ebb9@byu.net>
45679
45680         Avoid gcc warnings on cygwin.
45681         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45682         Avoid unused variable.
45683         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45684         Likewise.
45685
45686 2008-12-22  Bruno Haible  <bruno@clisp.org>
45687
45688         Remove HAVE_MBRTOWC conditionals.
45689         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45690         (mbscasecmp): Assume mbrtowc function.
45691         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45692         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45693         * lib/mbschr.c: Include mbuiter.h unconditionally.
45694         (mbschr): Assume mbrtowc function.
45695         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45696         (mbscspn): Assume mbrtowc function.
45697         * lib/mbslen.c: Include mbuiter.h unconditionally.
45698         (mbslen): Assume mbrtowc function.
45699         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45700         (mbsncasecmp): Assume mbrtowc function.
45701         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45702         (mbsnlen): Assume mbrtowc function.
45703         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45704         (mbspbrk): Assume mbrtowc function.
45705         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45706         (mbspcasecmp): Assume mbrtowc function.
45707         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45708         (mbsrchr): Assume mbrtowc function.
45709         * lib/mbssep.c: Include mbuiter.h unconditionally.
45710         (mbssep): Assume mbrtowc function.
45711         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45712         (mbsspn): Assume mbrtowc function.
45713         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45714         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45715         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45716         (mbstok_r): Assume mbrtowc function.
45717         * lib/propername.c: Include mbuiter.h unconditionally.
45718         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45719         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45720         (trim2): Assume mbrtowc function.
45721         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45722         (mbsnwidth): Assume mbrtowc function.
45723         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45724         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45725         fallback definitions.
45726         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45727
45728 2008-12-22  Bruno Haible  <bruno@clisp.org>
45729
45730         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45731
45732 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45733
45734         * modules/regex: Request emulations for the mb*/wc* functions we need.
45735         * m4/regex.m4: Don't look for those functions here.
45736         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45737
45738 2008-12-22  Bruno Haible  <bruno@clisp.org>
45739
45740         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45741
45742 2008-12-21  Bruno Haible  <bruno@clisp.org>
45743
45744         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45745         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45746         (Include): Remove conditionalization.
45747         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45748         (Include): Remove conditionalization.
45749         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45750         (Include): Remove conditionalization.
45751         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45752         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45753         * NEWS: Mention the change.
45754         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45755         via Sergey Poznyakoff <gray@gnu.org.ua>.
45756
45757 2008-12-21  Bruno Haible  <bruno@clisp.org>
45758
45759         * MODULES.html.sh (Extended multibyte and wide character utilities
45760         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45761         wcrtomb, wcsrtombs.
45762         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45763         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45764         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45765         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45766
45767 2008-12-21  Bruno Haible  <bruno@clisp.org>
45768
45769         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45770
45771 2008-12-21  Bruno Haible  <bruno@clisp.org>
45772
45773         * modules/wcsnrtombs-tests: New file.
45774         * tests/test-wcsnrtombs1.sh: New file.
45775         * tests/test-wcsnrtombs2.sh: New file.
45776         * tests/test-wcsnrtombs3.sh: New file.
45777         * tests/test-wcsnrtombs4.sh: New file.
45778         * tests/test-wcsnrtombs.c: New file.
45779
45780         New module 'wcsnrtombs'.
45781         * lib/wchar.in.h (wcsnrtombs): New declaration.
45782         * lib/wcsnrtombs.c: New file.
45783         * lib/wcsrtombs-state.c: New file.
45784         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45785         (internal_state): Remove variable.
45786         * m4/wcsnrtombs.m4: New file.
45787         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45788         compilation units.
45789         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45790         HAVE_WCSNRTOMBS.
45791         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45792         HAVE_WCSNRTOMBS.
45793         * modules/wcsnrtombs: New file.
45794         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45795         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45796
45797 2008-12-21  Bruno Haible  <bruno@clisp.org>
45798
45799         * modules/wcsrtombs-tests: New file.
45800         * tests/test-wcsrtombs1.sh: New file.
45801         * tests/test-wcsrtombs2.sh: New file.
45802         * tests/test-wcsrtombs3.sh: New file.
45803         * tests/test-wcsrtombs4.sh: New file.
45804         * tests/test-wcsrtombs.c: New file.
45805
45806         New module 'wcsrtombs'.
45807         * lib/wchar.in.h (wcsrtombs): New declaration.
45808         * lib/wcsrtombs.c: New file.
45809         * m4/wcsrtombs.m4: New file.
45810         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45811         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45812         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45813         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45814         * modules/wcsrtombs: New file.
45815         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45816         bugs.
45817
45818 2008-12-21  Bruno Haible  <bruno@clisp.org>
45819
45820         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45821         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45822         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45823         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45824         if not correct.
45825         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45826         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45827         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45828         m4/locale-zh.m4, m4/codeset.m4.
45829         * doc/posix-functions/wcrtomb.texi: Document the bug.
45830
45831 2008-12-21  Bruno Haible  <bruno@clisp.org>
45832
45833         Work around a btowc() bug on IRIX 6.5.
45834         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45835         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45836         REPLACE_WTOBC if not.
45837         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45838         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45839         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45840
45841 2008-12-21  Bruno Haible  <bruno@clisp.org>
45842
45843         * modules/wcrtomb-tests: New file.
45844         * tests/test-wcrtomb.sh: New file.
45845         * tests/test-wcrtomb.c: New file.
45846
45847         New module 'wcrtomb'.
45848         * lib/wchar.in.h (wcrtomb): New declaration.
45849         * lib/wcrtomb.c: New file.
45850         * m4/wcrtomb.m4: New file.
45851         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45852         HAVE_WCRTOMB.
45853         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45854         HAVE_WCRTOMB.
45855         * modules/wcrtomb: New file.
45856         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45857
45858 2008-12-21  Bruno Haible  <bruno@clisp.org>
45859
45860         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45861         * modules/mbsrtowcs (Files): Likewise.
45862         * modules/wctob (Files): Likewise.
45863         * modules/c-strcase-tests (Files): Likewise.
45864         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45865         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45866         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45867         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45868         * modules/vasnprintf-posix-tests (Files): Likewise.
45869
45870 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45871
45872         gitlog-to-changelog: pass all command-line arguments to git-log
45873         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45874         it is sometimes convenient to filter the commits in various ways.
45875         gitlog-to-changelog only allows --since to specify a start date,
45876         but git-log itself supports many other filtering mechanisms.
45877         At the moment, I want to filter by branch name.  Rather than
45878         adding a --branch option to gitlog-to-changelog, it seems more
45879         flexible to simply pass all options directly to git-log and let
45880         git do the work.  Notice that this effectively makes --since a
45881         redundant option for gitlog-to-changelog, but removing it would
45882         require current usage to change since calls would then require
45883         an additional '--'.
45884
45885 2008-12-21  Bruno Haible  <bruno@clisp.org>
45886
45887         * modules/mbsnrtowcs-tests: New file.
45888         * tests/test-mbsnrtowcs1.sh: New file.
45889         * tests/test-mbsnrtowcs2.sh: New file.
45890         * tests/test-mbsnrtowcs3.sh: New file.
45891         * tests/test-mbsnrtowcs4.sh: New file.
45892         * tests/test-mbsnrtowcs.c: New file.
45893
45894         New module 'mbsnrtowcs'.
45895         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45896         * lib/mbsnrtowcs.c: New file.
45897         * lib/mbsrtowcs-state.c: New file.
45898         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45899         (internal_state): Remove variable.
45900         * m4/mbsnrtowcs.m4: New file.
45901         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45902         compilation units.
45903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45904         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45905         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45906         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45907         * modules/mbsnrtowcs: New file.
45908         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45909         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45910         portability problem.
45911
45912 2008-12-21  Bruno Haible  <bruno@clisp.org>
45913
45914         Work around mbsrtowcs bug.
45915         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45916         (gl_FUNC_MBSRTOWCS): Invoke it.
45917         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45918         m4/locale-zh.m4.
45919         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45920
45921 2008-12-21  Bruno Haible  <bruno@clisp.org>
45922
45923         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45924
45925 2008-12-21  Bruno Haible  <bruno@clisp.org>
45926
45927         Update doc for AIX.
45928         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45929         16-bit wchar_t type.
45930         * doc/posix-functions/btowc.texi: Likewise.
45931         * doc/posix-functions/fgetwc.texi: Likewise.
45932         * doc/posix-functions/fgetws.texi: Likewise.
45933         * doc/posix-functions/fputwc.texi: Likewise.
45934         * doc/posix-functions/fputws.texi: Likewise.
45935         * doc/posix-functions/fwide.texi: Likewise.
45936         * doc/posix-functions/fwprintf.texi: Likewise.
45937         * doc/posix-functions/fwscanf.texi: Likewise.
45938         * doc/posix-functions/getwchar.texi: Likewise.
45939         * doc/posix-functions/getwc.texi: Likewise.
45940         * doc/posix-functions/iswalnum.texi: Likewise.
45941         * doc/posix-functions/iswalpha.texi: Likewise.
45942         * doc/posix-functions/iswblank.texi: Likewise.
45943         * doc/posix-functions/iswcntrl.texi: Likewise.
45944         * doc/posix-functions/iswctype.texi: Likewise.
45945         * doc/posix-functions/iswdigit.texi: Likewise.
45946         * doc/posix-functions/iswgraph.texi: Likewise.
45947         * doc/posix-functions/iswlower.texi: Likewise.
45948         * doc/posix-functions/iswprint.texi: Likewise.
45949         * doc/posix-functions/iswpunct.texi: Likewise.
45950         * doc/posix-functions/iswspace.texi: Likewise.
45951         * doc/posix-functions/iswupper.texi: Likewise.
45952         * doc/posix-functions/iswxdigit.texi: Likewise.
45953         * doc/posix-functions/mbrtowc.texi: Likewise.
45954         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45955         * doc/posix-functions/mbstowcs.texi: Likewise.
45956         * doc/posix-functions/mbtowc.texi: Likewise.
45957         * doc/posix-functions/putwchar.texi: Likewise.
45958         * doc/posix-functions/putwc.texi: Likewise.
45959         * doc/posix-functions/swprintf.texi: Likewise.
45960         * doc/posix-functions/tolower.texi: Likewise.
45961         * doc/posix-functions/toupper.texi: Likewise.
45962         * doc/posix-functions/towctrans.texi: Likewise.
45963         * doc/posix-functions/ungetwc.texi: Likewise.
45964         * doc/posix-functions/vswprintf.texi: Likewise.
45965         * doc/posix-functions/wcrtomb.texi: Likewise.
45966         * doc/posix-functions/wcscat.texi: Likewise.
45967         * doc/posix-functions/wcschr.texi: Likewise.
45968         * doc/posix-functions/wcscmp.texi: Likewise.
45969         * doc/posix-functions/wcscoll.texi: Likewise.
45970         * doc/posix-functions/wcscpy.texi: Likewise.
45971         * doc/posix-functions/wcscspn.texi: Likewise.
45972         * doc/posix-functions/wcsftime.texi: Likewise.
45973         * doc/posix-functions/wcslen.texi: Likewise.
45974         * doc/posix-functions/wcsncat.texi: Likewise.
45975         * doc/posix-functions/wcsncmp.texi: Likewise.
45976         * doc/posix-functions/wcsncpy.texi: Likewise.
45977         * doc/posix-functions/wcspbrk.texi: Likewise.
45978         * doc/posix-functions/wcsrchr.texi: Likewise.
45979         * doc/posix-functions/wcsrtombs.texi: Likewise.
45980         * doc/posix-functions/wcsspn.texi: Likewise.
45981         * doc/posix-functions/wcsstr.texi: Likewise.
45982         * doc/posix-functions/wcstod.texi: Likewise.
45983         * doc/posix-functions/wcstof.texi: Likewise.
45984         * doc/posix-functions/wcstoimax.texi: Likewise.
45985         * doc/posix-functions/wcstok.texi: Likewise.
45986         * doc/posix-functions/wcstold.texi: Likewise.
45987         * doc/posix-functions/wcstoll.texi: Likewise.
45988         * doc/posix-functions/wcstol.texi: Likewise.
45989         * doc/posix-functions/wcstombs.texi: Likewise.
45990         * doc/posix-functions/wcstoull.texi: Likewise.
45991         * doc/posix-functions/wcstoul.texi: Likewise.
45992         * doc/posix-functions/wcstoumax.texi: Likewise.
45993         * doc/posix-functions/wcswidth.texi: Likewise.
45994         * doc/posix-functions/wcsxfrm.texi: Likewise.
45995         * doc/posix-functions/wctob.texi: Likewise.
45996         * doc/posix-functions/wctomb.texi: Likewise.
45997         * doc/posix-functions/wctrans.texi: Likewise.
45998         * doc/posix-functions/wctype.texi: Likewise.
45999         * doc/posix-functions/wcwidth.texi: Likewise.
46000         * doc/posix-functions/wmemchr.texi: Likewise.
46001         * doc/posix-functions/wmemcmp.texi: Likewise.
46002         * doc/posix-functions/wmemcpy.texi: Likewise.
46003         * doc/posix-functions/wmemmove.texi: Likewise.
46004         * doc/posix-functions/wmemset.texi: Likewise.
46005         * doc/posix-functions/wprintf.texi: Likewise.
46006         * doc/posix-functions/wscanf.texi: Likewise.
46007
46008 2008-12-21  Bruno Haible  <bruno@clisp.org>
46009
46010         Update doc for HP-UX 11.11.
46011         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46012         in HP-UX version 11.00, not in all versions of HP-UX 11.
46013         * doc/posix-functions/fwide.texi: Likewise.
46014         * doc/posix-functions/fwprintf.texi: Likewise.
46015         * doc/posix-functions/fwscanf.texi: Likewise.
46016         * doc/posix-functions/inet_ntop.texi: Likewise.
46017         * doc/posix-functions/inet_pton.texi: Likewise.
46018         * doc/posix-functions/mbrlen.texi: Likewise.
46019         * doc/posix-functions/mbrtowc.texi: Likewise.
46020         * doc/posix-functions/mbsinit.texi: Likewise.
46021         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46022         * doc/posix-functions/swprintf.texi: Likewise.
46023         * doc/posix-functions/swscanf.texi: Likewise.
46024         * doc/posix-functions/towctrans.texi: Likewise.
46025         * doc/posix-functions/vfwprintf.texi: Likewise.
46026         * doc/posix-functions/vswprintf.texi: Likewise.
46027         * doc/posix-functions/vwprintf.texi: Likewise.
46028         * doc/posix-functions/wcrtomb.texi: Likewise.
46029         * doc/posix-functions/wcsrtombs.texi: Likewise.
46030         * doc/posix-functions/wcsstr.texi: Likewise.
46031         * doc/posix-functions/wctob.texi: Likewise.
46032         * doc/posix-functions/wctrans.texi: Likewise.
46033         * doc/posix-functions/wmemchr.texi: Likewise.
46034         * doc/posix-functions/wmemcmp.texi: Likewise.
46035         * doc/posix-functions/wmemcpy.texi: Likewise.
46036         * doc/posix-functions/wmemmove.texi: Likewise.
46037         * doc/posix-functions/wmemset.texi: Likewise.
46038         * doc/posix-functions/wprintf.texi: Likewise.
46039         * doc/posix-functions/wscanf.texi: Likewise.
46040
46041 2008-12-21  Bruno Haible  <bruno@clisp.org>
46042
46043         Work around a portability problem.
46044         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46045         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46046
46047 2008-12-20  Bruno Haible  <bruno@clisp.org>
46048
46049         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46050         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46051         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46052         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46053         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46054
46055         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46056         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46057         set.
46058         (GNULIB_defined_mbstate_t): New macro.
46059         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46060         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46061         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46062         reuses the system's mbrtowc function but works around the bugs.
46063         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46064         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46065         macros.
46066         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46067         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46068         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46069         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46070         REPLACE_MBSINIT if mbsinit needs to be overridden.
46071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46072         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46073         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46074         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46075         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46076         m4/locale-zh.m4.
46077         (Depends): Add mbsinit.
46078         * modules/mbsinit (Depends): Add mbrtowc.
46079         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46080
46081 2008-12-20  Bruno Haible  <bruno@clisp.org>
46082
46083         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46084         so that there are no conversion errors on AIX.
46085         * tests/test-mbsrtowcs.c (main): LIkewise.
46086
46087 2008-12-20  Bruno Haible  <bruno@clisp.org>
46088
46089         Work around wctob bug on Solaris <= 9.
46090         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46091         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46093         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46094         * modules/wctob (Files): Add m4/locale-fr.m4.
46095         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46096
46097 2008-12-20  Bruno Haible  <bruno@clisp.org>
46098
46099         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46100         /dev/null.
46101         * tests/test-select-in.sh: Likewise.
46102         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46103
46104 2008-12-20  Bruno Haible  <bruno@clisp.org>
46105
46106         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46107         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46108         Cygwin 1.5.x.
46109
46110 2008-12-20  Bruno Haible  <bruno@clisp.org>
46111
46112         Ensure mbstate_t is defined on HP-UX 11.11.
46113         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46114         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46115         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46116         AC_USE_SYSTEM_EXTENSIONS.
46117         * modules/fnmatch (Depends-on): Add extensions.
46118         * modules/mbrlen (Depends-on): Likewise.
46119         * modules/mbrtowc (Depends-on): Likewise.
46120         * modules/mbsinit (Depends-on): Likewise.
46121         * modules/mbsrtowcs (Depends-on): Likewise.
46122         * modules/mbswidth (Depends-on): Likewise.
46123         * modules/quotearg (Depends-on): Likewise.
46124         * modules/strftime (Depends-on): Likewise.
46125
46126 2008-12-20  Bruno Haible  <bruno@clisp.org>
46127
46128         Ensure wctob is declared on IRIX 6.5.
46129         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46130         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46131         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46132         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46133         of HAVE_WCTOB.
46134         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46135         HAVE_WCTOB.
46136         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46137
46138 2008-12-19  Bruno Haible  <bruno@clisp.org>
46139
46140         * modules/mbsrtowcs-tests: New file.
46141         * tests/test-mbsrtowcs1.sh: New file.
46142         * tests/test-mbsrtowcs2.sh: New file.
46143         * tests/test-mbsrtowcs3.sh: New file.
46144         * tests/test-mbsrtowcs4.sh: New file.
46145         * tests/test-mbsrtowcs.c: New file.
46146
46147         New module 'mbsrtowcs'.
46148         * lib/wchar.in.h (mbsrtowcs): New declaration.
46149         * lib/mbsrtowcs.c: New file.
46150         * m4/mbsrtowcs.m4: New file.
46151         * modules/mbsrtowcs: New file.
46152         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46153         HAVE_MBSRTOWCS.
46154         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46155         HAVE_MBSRTOWCS.
46156         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46157
46158 2008-12-19  Bruno Haible  <bruno@clisp.org>
46159
46160         New module 'mbrlen'.
46161         * lib/wchar.in.h (mbrlen): New declaration.
46162         * lib/mbrlen.c: New file.
46163         * m4/mbrlen.m4: New file.
46164         * modules/mbrlen: New file.
46165         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46166         HAVE_MBRLEN.
46167         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46168         HAVE_MBRLEN.
46169         * doc/posix-functions/mbrlen.texi: Document the new module.
46170
46171 2008-12-19  Bruno Haible  <bruno@clisp.org>
46172
46173         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46174         * modules/mbrtowc (Depends-on): Add verify.
46175         Suggested by Paul Eggert.
46176
46177 2008-12-18  Bruno Haible  <bruno@clisp.org>
46178
46179         * modules/mbsinit-tests: New file.
46180         * tests/test-mbsinit.sh: New file.
46181         * tests/test-mbsinit.c: New file.
46182
46183 2008-12-18  Bruno Haible  <bruno@clisp.org>
46184
46185         * modules/mbrtowc-tests: New file.
46186         * tests/test-mbrtowc1.sh: New file.
46187         * tests/test-mbrtowc2.sh: New file.
46188         * tests/test-mbrtowc3.sh: New file.
46189         * tests/test-mbrtowc4.sh: New file.
46190         * tests/test-mbrtowc.c: New file.
46191
46192         New module 'mbrtowc'.
46193         * lib/wchar.in.h (mbstate_t): Override when the system does not have
46194         mbsinit and mbrtowc.
46195         (mbrtowc): New declaration.
46196         * lib/mbrtowc.c: New file.
46197         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
46198         * modules/mbrtowc: New file.
46199         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
46200         HAVE_MBRTOWC.
46201         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
46202         HAVE_MBRTOWC.
46203         * doc/posix-functions/mbrtowc.texi: Document the new module.
46204
46205 2008-12-18  Bruno Haible  <bruno@clisp.org>
46206
46207         New module 'wctob'.
46208         * lib/wchar.in.h (wctob): New declaration.
46209         * lib/wctob.c: New file.
46210         * m4/wctob.m4: New file.
46211         * modules/wctob: New file.
46212         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
46213         HAVE_WCTOB.
46214         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
46215         * doc/posix-functions/wctob.texi: Document the new module.
46216
46217 2008-12-18  Bruno Haible  <bruno@clisp.org>
46218
46219         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
46220         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
46221
46222 2008-12-18  Simon Josefsson  <simon@josefsson.org>
46223
46224         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
46225         G. Christensen" <tgc@jupiterrise.com>.
46226
46227         * lib/flock.c: Need to include errno.h.  Reported by "Tom
46228         G. Christensen" <tgc@jupiterrise.com>.
46229
46230         * lib/flock.c: Need to include string.h.  Reported by "Tom
46231         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
46232         <ebb9@byu.net>.
46233
46234 2008-12-18  Bruno Haible  <bruno@clisp.org>
46235
46236         * m4/locale-ja.m4: New file, from GNU gettext.
46237
46238 2008-12-17  Bruno Haible  <bruno@clisp.org>
46239
46240         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
46241         Suggested by Eric Blake.
46242
46243 2008-12-17  Bruno Haible  <bruno@clisp.org>
46244
46245         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
46246
46247 2008-12-17  Bruno Haible  <bruno@clisp.org>
46248
46249         * lib/mbsinit.c: Include verify.h. Verify an assumption.
46250         * modules/mbsinit (Depends-on): Add verify.
46251         Suggested by Paul Eggert.
46252
46253 2008-12-17  Bruno Haible  <bruno@clisp.org>
46254
46255         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
46256         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
46257         gl_FUNC_MBRTOWC.
46258         * m4/mbiter.m4 (gl_MBITER): LIkewise.
46259         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
46260         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
46261         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
46262         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
46263         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
46264         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
46265         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
46266         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
46267         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
46268         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
46269         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
46270         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
46271         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
46272         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
46273         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46274         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
46275         * modules/trim (configure.ac): Likewise.
46276
46277 2008-12-17  Bruno Haible  <bruno@clisp.org>
46278
46279         * modules/btowc-tests: New file.
46280         * tests/test-btowc1.sh: New file.
46281         * tests/test-btowc2.sh: New file.
46282         * tests/test-btowc.c: New file.
46283
46284         New module 'btowc'.
46285         * lib/wchar.in.h (btowc): New declaration.
46286         * lib/btowc.c: New file.
46287         * m4/btowc.m4: New file.
46288         * modules/btowc: New file.
46289         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
46290         HAVE_BTOWC.
46291         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
46292         * doc/posix-functions/btowc.texi: Document the new module.
46293
46294 2008-12-17  Bruno Haible  <bruno@clisp.org>
46295
46296         New module 'mbsinit'.
46297         * lib/wchar.in.h (mbsinit): New declaration.
46298         * lib/mbsinit.c: New file.
46299         * m4/mbsinit.m4: New file.
46300         * modules/mbsinit: New file.
46301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
46302         HAVE_MBSINIT.
46303         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
46304         HAVE_MBSINIT.
46305         * doc/posix-functions/mbsinit.texi: Document the new module.
46306
46307 2008-12-16  Bruno Haible  <bruno@clisp.org>
46308
46309         * lib/unistd.in.h: Add comment.
46310         * tests/test-environ.c: Don't include <stdlib.h>.
46311
46312 2008-12-16  Bruno Haible  <bruno@clisp.org>
46313
46314         * lib/parse-duration.h (parse_duration): Document return value
46315         convention.
46316         * lib/parse-duration.c: Include specification header first. Add
46317         comments.
46318         (_): Remove macro.
46319         (parse_year_month_day, parse_hour_minute_second): Move side effects
46320         outside of strchr call.
46321         (parse_non_iso8601): Move side effects outside of isspace call.
46322         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46323         call.
46324
46325 2008-12-16  Bruno Haible  <bruno@clisp.org>
46326
46327         * tests/test-parse-duration.sh: Produce no output when the test
46328         succeeds.
46329
46330 2008-12-16  Bruno Haible  <bruno@clisp.org>
46331
46332         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46333         expressions.
46334
46335 2008-12-15  Bruno Haible  <bruno@clisp.org>
46336
46337         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46338         * doc/glibc-functions/flistxattr.texi: Likewise.
46339         * doc/glibc-functions/fopencookie.texi: Likewise.
46340         * doc/glibc-functions/fremovexattr.texi: Likewise.
46341         * doc/glibc-functions/fsetxattr.texi: Likewise.
46342         * doc/glibc-functions/getxattr.texi: Likewise.
46343         * doc/glibc-functions/lgetxattr.texi: Likewise.
46344         * doc/glibc-functions/listxattr.texi: Likewise.
46345         * doc/glibc-functions/llistxattr.texi: Likewise.
46346         * doc/glibc-functions/lremovexattr.texi: Likewise.
46347         * doc/glibc-functions/lsetxattr.texi: Likewise.
46348         * doc/glibc-functions/removexattr.texi: Likewise.
46349         * doc/glibc-functions/setxattr.texi: Likewise.
46350         * doc/posix-functions/open_memstream.texi: Likewise.
46351
46352 2008-12-15  Eric Blake  <ebb9@byu.net>
46353
46354         Update doc for cygwin 1.7.
46355         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46356         functions.
46357         * doc/posix-functions/fchmodat.texi: Likewise.
46358         * doc/posix-functions/fchownat.texi: Likewise.
46359         * doc/posix-functions/fdopendir.texi: Likewise.
46360         * doc/posix-functions/fmemopen.texi: Likewise.
46361         * doc/posix-functions/freeaddrinfo.texi: Likewise.
46362         * doc/posix-functions/fstatat.texi: Likewise.
46363         * doc/posix-functions/futimens.texi: Likewise.
46364         * doc/posix-functions/gai_strerror.texi: Likewise.
46365         * doc/posix-functions/getaddrinfo.texi: Likewise.
46366         * doc/posix-functions/getnameinfo.texi: Likewise.
46367         * doc/posix-functions/if_freenameindex.texi: Likewise.
46368         * doc/posix-functions/if_indextoname.texi: Likewise.
46369         * doc/posix-functions/if_nameindex.texi: Likewise.
46370         * doc/posix-functions/if_nametoindex.texi: Likewise.
46371         * doc/posix-functions/insque.texi: Likewise.
46372         * doc/posix-functions/linkat.texi: Likewise.
46373         * doc/posix-functions/llrint.texi: Likewise.
46374         * doc/posix-functions/llrintf.texi: Likewise.
46375         * doc/posix-functions/llrintl.texi: Likewise.
46376         * doc/posix-functions/lockf.texi: Likewise.
46377         * doc/posix-functions/lrintl.texi: Likewise.
46378         * doc/posix-functions/mkdirat.texi: Likewise.
46379         * doc/posix-functions/mkfifoat.texi: Likewise.
46380         * doc/posix-functions/mknodat.texi: Likewise.
46381         * doc/posix-functions/mq_close.texi: Likewise.
46382         * doc/posix-functions/mq_getattr.texi: Likewise.
46383         * doc/posix-functions/mq_notify.texi: Likewise.
46384         * doc/posix-functions/mq_open.texi: Likewise.
46385         * doc/posix-functions/mq_receive.texi: Likewise.
46386         * doc/posix-functions/mq_send.texi: Likewise.
46387         * doc/posix-functions/mq_setattr.texi: Likewise.
46388         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46389         * doc/posix-functions/mq_timedsend.texi: Likewise.
46390         * doc/posix-functions/mq_unlink.texi: Likewise.
46391         * doc/posix-functions/open_memstream.texi: Likewise.
46392         * doc/posix-functions/openat.texi: Likewise.
46393         * doc/posix-functions/posix_fadvise.texi: Likewise.
46394         * doc/posix-functions/posix_fallocate.texi: Likewise.
46395         * doc/posix-functions/posix_madvise.texi: Likewise.
46396         * doc/posix-functions/posix_memalign.texi: Likewise.
46397         * doc/posix-functions/posix_openpt.texi: Likewise.
46398         * doc/posix-functions/readlinkat.texi: Likewise.
46399         * doc/posix-functions/remque.texi: Likewise.
46400         * doc/posix-functions/renameat.texi: Likewise.
46401         * doc/posix-functions/rintl.texi: Likewise.
46402         * doc/posix-functions/sem_unlink.texi: Likewise.
46403         * doc/posix-functions/shm_open.texi: Likewise.
46404         * doc/posix-functions/shm_unlink.texi: Likewise.
46405         * doc/posix-functions/signgam.texi: Likewise.
46406         * doc/posix-functions/sigset.texi: Likewise.
46407         * doc/posix-functions/stpcpy.texi: Likewise.
46408         * doc/posix-functions/stpncpy.texi: Likewise.
46409         * doc/posix-functions/strerror.texi: Likewise.
46410         * doc/posix-functions/strtod.texi: Likewise.
46411         * doc/posix-functions/symlinkat.texi: Likewise.
46412         * doc/posix-functions/unlinkat.texi: Likewise.
46413         * doc/posix-functions/utimensat.texi: Likewise.
46414         * doc/glibc-functions/bindresvport.texi: Likewise.
46415         * doc/glibc-functions/dn_expand.texi: Likewise.
46416         * doc/glibc-functions/exp10.texi: Likewise.
46417         * doc/glibc-functions/exp10f.texi: Likewise.
46418         * doc/glibc-functions/fgetxattr.texi: Likewise.
46419         * doc/glibc-functions/flistxattr.texi: Likewise.
46420         * doc/glibc-functions/fopencookie.texi: Likewise.
46421         * doc/glibc-functions/freeifaddrs.texi: Likewise.
46422         * doc/glibc-functions/fremovexattr.texi: Likewise.
46423         * doc/glibc-functions/fsetxattr.texi: Likewise.
46424         * doc/glibc-functions/getifaddrs.texi: Likewise.
46425         * doc/glibc-functions/getxattr.texi: Likewise.
46426         * doc/glibc-functions/lgetxattr.texi: Likewise.
46427         * doc/glibc-functions/listxattr.texi: Likewise.
46428         * doc/glibc-functions/llistxattr.texi: Likewise.
46429         * doc/glibc-functions/lremovexattr.texi: Likewise.
46430         * doc/glibc-functions/lsetxattr.texi: Likewise.
46431         * doc/glibc-functions/pow10.texi: Likewise.
46432         * doc/glibc-functions/pow10f.texi: Likewise.
46433         * doc/glibc-functions/rcmd_af.texi: Likewise.
46434         * doc/glibc-functions/removexattr.texi: Likewise.
46435         * doc/glibc-functions/res_init.texi: Likewise.
46436         * doc/glibc-functions/res_mkquery.texi: Likewise.
46437         * doc/glibc-functions/res_query.texi: Likewise.
46438         * doc/glibc-functions/res_querydomain.texi: Likewise.
46439         * doc/glibc-functions/res_send.texi: Likewise.
46440         * doc/glibc-functions/rresvport_af.texi: Likewise.
46441         * doc/glibc-functions/setxattr.texi: Likewise.
46442         * doc/glibc-functions/strcasestr.texi: Likewise.
46443
46444 2008-12-15  Bruno Haible  <bruno@clisp.org>
46445
46446         Fix compilation error on OSF/1 4.0.
46447         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
46448         <sys/time.h>, simply delegate to the system header.
46449         Reported by Daniel Richard G. <oss@teragram.com>.
46450
46451 2008-12-15  Bruno Haible  <bruno@clisp.org>
46452
46453         * doc/posix-functions/openat.texi: Mention the 'openat' module.
46454         * doc/posix-functions/fchmodat.texi: Likewise.
46455         * doc/posix-functions/fchownat.texi: Likewise.
46456         * doc/posix-functions/fdopendir.texi: Likewise.
46457         * doc/posix-functions/fstatat.texi: Likewise.
46458         * doc/posix-functions/mkdirat.texi: Likewise.
46459         * doc/posix-functions/unlinkat.texi: Likewise.
46460
46461 2008-12-14  Bruno Haible  <bruno@clisp.org>
46462
46463         Update doc for POSIX:2008.
46464         * doc/posix-functions/faccessat.texi: New file.
46465         * doc/posix-functions/fchmodat.texi: New file.
46466         * doc/posix-functions/fchownat.texi: New file.
46467         * doc/posix-functions/fdopendir.texi: New file.
46468         * doc/posix-functions/fstatat.texi: New file.
46469         * doc/posix-functions/futimens.texi: New file.
46470         * doc/posix-functions/linkat.texi: New file.
46471         * doc/posix-functions/mkdirat.texi: New file.
46472         * doc/posix-functions/mkfifoat.texi: New file.
46473         * doc/posix-functions/mknodat.texi: New file.
46474         * doc/posix-functions/open_wmemstream.texi: New file.
46475         * doc/posix-functions/openat.texi: New file.
46476         * doc/posix-functions/psiginfo.texi: New file.
46477         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
46478         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
46479         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
46480         * doc/posix-functions/readlinkat.texi: New file.
46481         * doc/posix-functions/renameat.texi: New file.
46482         * doc/posix-functions/strerror_l.texi: New file.
46483         * doc/posix-functions/symlinkat.texi: New file.
46484         * doc/posix-functions/unlinkat.texi: New file.
46485         * doc/posix-functions/utimensat.texi: New file.
46486         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46487
46488 2008-12-14  Bruno Haible  <bruno@clisp.org>
46489
46490         Update doc for POSIX:2008.
46491         * doc/posix-functions/alphasort.texi: Renamed from
46492         doc/glibc-functions/alphasort.texi.
46493         * doc/posix-functions/dirfd.texi: Renamed from
46494         doc/glibc-functions/dirfd.texi.
46495         * doc/posix-functions/dprintf.texi: Renamed from
46496         doc/glibc-functions/dprintf.texi.
46497         * doc/posix-functions/duplocale.texi: Renamed from
46498         doc/glibc-functions/duplocale.texi.
46499         * doc/posix-functions/fexecve.texi: Renamed from
46500         doc/glibc-functions/fexecve.texi.
46501         * doc/posix-functions/fmemopen.texi: Renamed from
46502         doc/glibc-functions/fmemopen.texi.
46503         * doc/posix-functions/freelocale.texi: Renamed from
46504         doc/glibc-functions/freelocale.texi.
46505         * doc/posix-functions/getdate_err.texi: Renamed from
46506         doc/glibc-functions/getdate_err.texi.
46507         * doc/posix-functions/isalnum_l.texi: Renamed from
46508         doc/glibc-functions/isalnum_l.texi.
46509         * doc/posix-functions/isalpha_l.texi: Renamed from
46510         doc/glibc-functions/isalpha_l.texi.
46511         * doc/posix-functions/isblank_l.texi: Renamed from
46512         doc/glibc-functions/isblank_l.texi.
46513         * doc/posix-functions/iscntrl_l.texi: Renamed from
46514         doc/glibc-functions/iscntrl_l.texi.
46515         * doc/posix-functions/isdigit_l.texi: Renamed from
46516         doc/glibc-functions/isdigit_l.texi.
46517         * doc/posix-functions/isgraph_l.texi: Renamed from
46518         doc/glibc-functions/isgraph_l.texi.
46519         * doc/posix-functions/islower_l.texi: Renamed from
46520         doc/glibc-functions/islower_l.texi.
46521         * doc/posix-functions/isprint_l.texi: Renamed from
46522         doc/glibc-functions/isprint_l.texi.
46523         * doc/posix-functions/ispunct_l.texi: Renamed from
46524         doc/glibc-functions/ispunct_l.texi.
46525         * doc/posix-functions/isspace_l.texi: Renamed from
46526         doc/glibc-functions/isspace_l.texi.
46527         * doc/posix-functions/isupper_l.texi: Renamed from
46528         doc/glibc-functions/isupper_l.texi.
46529         * doc/posix-functions/iswalnum_l.texi: Renamed from
46530         doc/glibc-functions/iswalnum_l.texi.
46531         * doc/posix-functions/iswalpha_l.texi: Renamed from
46532         doc/glibc-functions/iswalpha_l.texi.
46533         * doc/posix-functions/iswblank_l.texi: Renamed from
46534         doc/glibc-functions/iswblank_l.texi.
46535         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46536         doc/glibc-functions/iswcntrl_l.texi.
46537         * doc/posix-functions/iswctype_l.texi: Renamed from
46538         doc/glibc-functions/iswctype_l.texi.
46539         * doc/posix-functions/iswdigit_l.texi: Renamed from
46540         doc/glibc-functions/iswdigit_l.texi.
46541         * doc/posix-functions/iswgraph_l.texi: Renamed from
46542         doc/glibc-functions/iswgraph_l.texi.
46543         * doc/posix-functions/iswlower_l.texi: Renamed from
46544         doc/glibc-functions/iswlower_l.texi.
46545         * doc/posix-functions/iswprint_l.texi: Renamed from
46546         doc/glibc-functions/iswprint_l.texi.
46547         * doc/posix-functions/iswpunct_l.texi: Renamed from
46548         doc/glibc-functions/iswpunct_l.texi.
46549         * doc/posix-functions/iswspace_l.texi: Renamed from
46550         doc/glibc-functions/iswspace_l.texi.
46551         * doc/posix-functions/iswupper_l.texi: Renamed from
46552         doc/glibc-functions/iswupper_l.texi.
46553         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46554         doc/glibc-functions/iswxdigit_l.texi.
46555         * doc/posix-functions/isxdigit_l.texi: Renamed from
46556         doc/glibc-functions/isxdigit_l.texi.
46557         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46558         doc/glibc-functions/mbsnrtowcs.texi.
46559         * doc/posix-functions/mkdtemp.texi: Renamed from
46560         doc/glibc-functions/mkdtemp.texi.
46561         * doc/posix-functions/newlocale.texi: Renamed from
46562         doc/glibc-functions/newlocale.texi.
46563         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46564         doc/glibc-functions/nl_langinfo_l.texi.
46565         * doc/posix-functions/open_memstream.texi: Renamed from
46566         doc/glibc-functions/open_memstream.texi.
46567         * doc/posix-functions/opterr.texi: Renamed from
46568         doc/glibc-functions/opterr.texi.
46569         * doc/posix-functions/optind.texi: Renamed from
46570         doc/glibc-functions/optind.texi.
46571         * doc/posix-functions/optopt.texi: Renamed from
46572         doc/glibc-functions/optopt.texi.
46573         * doc/posix-functions/psignal.texi: Renamed from
46574         doc/glibc-functions/psignal.texi.
46575         * doc/posix-functions/scandir.texi: Renamed from
46576         doc/glibc-functions/scandir.texi.
46577         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46578         doc/glibc-functions/sched_get_priority_min.texi.
46579         * doc/posix-functions/signgam.texi: Renamed from
46580         doc/glibc-functions/signgam.texi.
46581         * doc/posix-functions/stpcpy.texi: Renamed from
46582         doc/glibc-functions/stpcpy.texi.
46583         * doc/posix-functions/stpncpy.texi: Renamed from
46584         doc/glibc-functions/stpncpy.texi.
46585         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46586         doc/glibc-functions/strcasecmp_l.texi.
46587         * doc/posix-functions/strcoll_l.texi: Renamed from
46588         doc/glibc-functions/strcoll_l.texi.
46589         * doc/posix-functions/strfmon_l.texi: Renamed from
46590         doc/glibc-functions/strfmon_l.texi.
46591         * doc/posix-functions/strftime_l.texi: Renamed from
46592         doc/glibc-functions/strftime_l.texi.
46593         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46594         doc/glibc-functions/strncasecmp_l.texi.
46595         * doc/posix-functions/strndup.texi: Renamed from
46596         doc/glibc-functions/strndup.texi.
46597         * doc/posix-functions/strnlen.texi: Renamed from
46598         doc/glibc-functions/strnlen.texi.
46599         * doc/posix-functions/strsignal.texi: Renamed from
46600         doc/glibc-functions/strsignal.texi.
46601         * doc/posix-functions/strxfrm_l.texi: Renamed from
46602         doc/glibc-functions/strxfrm_l.texi.
46603         * doc/posix-functions/timer_gettime.texi: Renamed from
46604         doc/glibc-functions/timer_gettime.texi.
46605         * doc/posix-functions/tolower_l.texi: Renamed from
46606         doc/glibc-functions/tolower_l.texi.
46607         * doc/posix-functions/toupper_l.texi: Renamed from
46608         doc/glibc-functions/toupper_l.texi.
46609         * doc/posix-functions/towctrans_l.texi: Renamed from
46610         doc/glibc-functions/towctrans_l.texi.
46611         * doc/posix-functions/towlower_l.texi: Renamed from
46612         doc/glibc-functions/towlower_l.texi.
46613         * doc/posix-functions/towupper_l.texi: Renamed from
46614         doc/glibc-functions/towupper_l.texi.
46615         * doc/posix-functions/uselocale.texi: Renamed from
46616         doc/glibc-functions/uselocale.texi.
46617         * doc/posix-functions/vdprintf.texi: Renamed from
46618         doc/glibc-functions/vdprintf.texi.
46619         * doc/posix-functions/wcpcpy.texi:
46620         Renamed from doc/glibc-functions/wcpcpy.texi.
46621         * doc/posix-functions/wcpncpy.texi: Renamed from
46622         doc/glibc-functions/wcpncpy.texi.
46623         * doc/posix-functions/wcscasecmp.texi: Renamed from
46624         doc/glibc-functions/wcscasecmp.texi.
46625         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46626         doc/glibc-functions/wcscasecmp_l.texi.
46627         * doc/posix-functions/wcscoll_l.texi: Renamed from
46628         doc/glibc-functions/wcscoll_l.texi.
46629         * doc/posix-functions/wcsdup.texi: Renamed from
46630         doc/glibc-functions/wcsdup.texi.
46631         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46632         doc/glibc-functions/wcsncasecmp.texi.
46633         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46634         doc/glibc-functions/wcsncasecmp_l.texi.
46635         * doc/posix-functions/wcsnlen.texi: Renamed from
46636         doc/glibc-functions/wcsnlen.texi.
46637         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46638         doc/glibc-functions/wcsnrtombs.texi.
46639         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46640         doc/glibc-functions/wcsxfrm_l.texi.
46641         * doc/posix-functions/wctrans_l.texi: Renamed from
46642         doc/glibc-functions/wctrans_l.texi.
46643         * doc/posix-functions/wctype_l.texi: Renamed from
46644         doc/glibc-functions/wctype_l.texi.
46645         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46646         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46647         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46648         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46649         these subsections.
46650         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46651         Remove sections.
46652
46653 2008-12-14  Bruno Haible  <bruno@clisp.org>
46654
46655         Update doc for POSIX:2008.
46656         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46657
46658 2008-12-14  Bruno Haible  <bruno@clisp.org>
46659
46660         Update doc for POSIX:2008.
46661         * doc/pastposix-functions/bcmp.texi: Renamed from
46662         doc/posix-functions/bcmp.texi.
46663         * doc/pastposix-functions/bcopy.texi: Renamed from
46664         doc/posix-functions/bcopy.texi.
46665         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46666         doc/posix-functions/bsd_signal.texi.
46667         * doc/pastposix-functions/bzero.texi: Renamed from
46668         doc/posix-functions/bzero.texi.
46669         * doc/pastposix-functions/ecvt.texi: Renamed from
46670         doc/posix-functions/ecvt.texi.
46671         * doc/pastposix-functions/fcvt.texi: Renamed from
46672         doc/posix-functions/fcvt.texi.
46673         * doc/pastposix-functions/ftime.texi: Renamed from
46674         doc/posix-functions/ftime.texi.
46675         * doc/pastposix-functions/gcvt.texi: Renamed from
46676         doc/posix-functions/gcvt.texi.
46677         * doc/pastposix-functions/getcontext.texi: Renamed from
46678         doc/posix-functions/getcontext.texi.
46679         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46680         doc/posix-functions/gethostbyaddr.texi.
46681         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46682         doc/posix-functions/gethostbyname.texi.
46683         * doc/pastposix-functions/getwd.texi: Renamed from
46684         doc/posix-functions/getwd.texi.
46685         * doc/pastposix-functions/h_errno.texi: Renamed from
46686         doc/posix-functions/h_errno.texi.
46687         * doc/pastposix-functions/index.texi: Renamed from
46688         doc/posix-functions/index.texi.
46689         * doc/pastposix-functions/makecontext.texi: Renamed from
46690         doc/posix-functions/makecontext.texi.
46691         * doc/pastposix-functions/mktemp.texi: Renamed from
46692         doc/posix-functions/mktemp.texi.
46693         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46694         doc/posix-functions/pthread_attr_getstackaddr.texi.
46695         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46696         doc/posix-functions/pthread_attr_setstackaddr.texi.
46697         * doc/pastposix-functions/rindex.texi: Renamed from
46698         doc/posix-functions/rindex.texi.
46699         * doc/pastposix-functions/scalb.texi: Renamed from
46700         doc/posix-functions/scalb.texi.
46701         * doc/pastposix-functions/setcontext.texi: Renamed from
46702         doc/posix-functions/setcontext.texi.
46703         * doc/pastposix-functions/swapcontext.texi: Renamed from
46704         doc/posix-functions/swapcontext.texi.
46705         * doc/pastposix-functions/ualarm.texi: Renamed from
46706         doc/posix-functions/ualarm.texi.
46707         * doc/pastposix-functions/usleep.texi: Renamed from
46708         doc/posix-functions/usleep.texi.
46709         * doc/pastposix-functions/vfork.texi: Renamed from
46710         doc/posix-functions/vfork.texi.
46711         * doc/pastposix-functions/wcswcs.texi: Renamed from
46712         doc/posix-functions/wcswcs.texi.
46713         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46714         (Function Substitutes): Update.
46715
46716 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46717
46718         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46719         m4/strerror.m4.
46720
46721 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46722             Bruno Haible  <bruno@clisp.org>
46723
46724         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46725
46726 2008-12-13  Bruno Haible  <bruno@clisp.org>
46727
46728         * modules/strtoull (Depends-on): Remove unistd.
46729
46730 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46731
46732         * modules/strtoull (Depends-on): Add stdlib.
46733
46734 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46735
46736         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46737
46738 2008-12-10  Jim Meyering  <meyering@redhat.com>
46739
46740         gl_ASSERT: don't say assertions are disabled when they're not
46741         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46742         "checking whether to enable assertions... no", when they are in
46743         fact enabled.  This is solely a bug in the output of configure.
46744         In spite of saying "no", NDEBUG was not defined in that case.
46745         Also, as noted by Eric Blake, leave assertions enabled upon
46746         --enable-assert=INVALID.
46747
46748 2008-12-10  Bruno Haible  <bruno@clisp.org>
46749
46750         Change MODULES.html to refer to POSIX:2008 where possible.
46751         * MODULES.html.sh (POSIX2008_URL): New variable.
46752         (posix_headers): Remove sys/timeb, ucontext.
46753         (posix2001_headers): New variable.
46754         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46755         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46756         index, makecontext, mktemp, pthread_attr_getstackaddr,
46757         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46758         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46759         (posix2001_functions): New variable.
46760         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46761         otherwise.
46762
46763 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46764
46765         add missing include to parse-duration.c
46766         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46767         * modules/parse-duration (Depends-on): Add xalloc.
46768
46769         fix sed script reading maint.mk
46770         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46771         (syntax-check-rules): Use it.
46772
46773 2008-12-09  Bruno Haible  <bruno@clisp.org>
46774
46775         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46776         MacOS X 10.4/PowerPC.
46777         Reported by Simon Josefsson.
46778
46779 2008-12-08  Jim Meyering  <meyering@redhat.com>
46780
46781         work around mingw's lack of some S_IF definitions
46782         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46783         Reported by Simon Josefsson.
46784
46785 2008-12-08  Bruno Haible  <bruno@clisp.org>
46786
46787         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46788         applied to variables. Needed on MacOS X 10.4/PowerPC.
46789         Reported by Simon Josefsson.
46790
46791 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46792         and Eric Blake  <ebb9@byu.net>
46793
46794         assert: honor --enable-assert
46795         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46796         order to honor --enable-assert, rather than treating it as a
46797         synonym for --disable-assert.
46798
46799 2008-12-08  Jim Meyering  <meyering@redhat.com>
46800
46801         * lib/posixtm.c: Remove now-useless declaration of mktime.
46802
46803         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46804
46805 2008-12-07  Bruno Haible  <bruno@clisp.org>
46806
46807         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46808         test_once): Mark functions as static.
46809         * tests/test-tls.c (test_tls): Likewise.
46810
46811 2008-12-07  Bruno Haible  <bruno@clisp.org>
46812
46813         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46814         iconv_register_autodetect.
46815
46816 2008-12-07  Jim Meyering  <meyering@redhat.com>
46817
46818         posixtm.c: avoid a warning
46819         * lib/posixtm.c (posixtime): Don't initialize tm0.
46820         It's no longer needed to placate gcc4's -Wuninitialized,
46821         and the attempt to placate would elicit a new warning.
46822
46823         unicodeio.c: mark unused parameters
46824         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46825         (fallback_failure_callback): Likewise.
46826
46827 2008-12-07  Bruno Haible  <bruno@clisp.org>
46828
46829         * gnulib-tool (func_create_testdir): When building the tests
46830         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46831         Reported by Simon Josefsson.
46832
46833 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46834
46835         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46836
46837 2008-12-06  Bruno Haible  <bruno@clisp.org>
46838
46839         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46840         Suggested by Eric Blake.
46841
46842 2008-12-06  Bruno Haible  <bruno@clisp.org>
46843
46844         Fix a c-stack test failure on MacOS X.
46845         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46846         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46847         handler for SIGBUS as well.
46848         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46849         install a signal handler for SIGBUS as well.
46850         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46851
46852 2008-12-06  Bruno Haible  <bruno@clisp.org>
46853
46854         Advocacy documentation.
46855         * doc/gnulib-intro.texi (Benefits): New section.
46856         * doc/gnulib.texi: Update.
46857
46858 2008-12-06  Bruno Haible  <bruno@clisp.org>
46859
46860         Document the 'manywarnings' module.
46861         * doc/manywarnings.texi: New file.
46862         * doc/gnulib.texi: Include it.
46863
46864 2008-12-05  Eric Blake  <ebb9@byu.net>
46865
46866         tests: silence some gcc warnings
46867         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46868         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46869         type mismatches.
46870
46871 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46872             Bruno Haible  <bruno@clisp.org>
46873
46874         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46875
46876 2008-11-29  Jim Meyering  <meyering@redhat.com>
46877
46878         unicodeio.c: mark unused parameters
46879         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46880         (fallback_failure_callback): Likewise.
46881
46882         fts: fix a thinko
46883         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46884         (set_stat_type): Return S_IF*-valued "type" directly.
46885         Prompted by James Youngman's spotting a related bug.
46886         Confirmed by further testing through find.
46887
46888         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46889         * lib/fts.c (D_TYPE): Define.
46890         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46891         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46892         (s_ifmt_shift_bits): New function.
46893         (set_stat_type): New function.
46894         (fts_build): When not calling fts_stat, call set_stat_type
46895         to propagate dirent.d_type info to fts_read caller.
46896         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46897         fts_statp->st_mode type information may be valid.
46898
46899 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46900
46901         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46902         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46903         <sds@gnu.org>.
46904
46905 2008-11-20  Bruno Haible  <bruno@clisp.org>
46906
46907         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46908         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46909         INCLUDE_NEXT.
46910         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46911         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46912         * modules/math (Makefile.am): Substitute
46913         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46914         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46915
46916 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46917             Bruno Haible  <bruno@clisp.org>
46918
46919         * lib/stdint.in.h: Define all type macros so that their expansion is
46920         a single typedef'ed token. Fixes a compilation failure in Boost which
46921         does "using ::int8_t;".
46922
46923 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46924
46925         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46926         gl_MANYWARN_ALL_GCC.
46927         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46928         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46929         * modules/manywarnings: New file.
46930         * MODULES.html.sh: Mention manywarnings module.
46931
46932 2008-11-18  Bruno Haible  <bruno@clisp.org>
46933
46934         * doc/gnulib-tool.texi (Unit tests): New section.
46935
46936 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46937
46938         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46939         paths like 'lib/po/foo.po'.
46940
46941 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46942
46943         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46944         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46945
46946 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46947
46948         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46949         parameter works.
46950
46951 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46952
46953         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46954
46955 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46956
46957         * modules/parse-duration-tests: New file.
46958         * tests/test-parse-duration.sh: New file.
46959         * tests/test-parse-duration.c: New file.
46960
46961         New module 'parse-duration'.
46962         * lib/parse-duration.h: New file.
46963         * lib/parse-duration.c: New file.
46964         * modules/parse-duration: New file.
46965
46966 2008-11-17  Bruno Haible  <bruno@clisp.org>
46967
46968         * tests/test-select-out.sh: Comment out the first pipe test.
46969         Reported by Simon Josefsson.
46970
46971 2008-11-17  Bruno Haible  <bruno@clisp.org>
46972
46973         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46974         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46975         gl_HOSTENT.
46976
46977 2008-11-17  Bruno Haible  <bruno@clisp.org>
46978
46979         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46980         -lnetwork and -lnet. Needed for Haiku and BeOS.
46981
46982 2008-11-16  Bruno Haible  <bruno@clisp.org>
46983
46984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46985
46986 2008-11-16  Bruno Haible  <bruno@clisp.org>
46987
46988         Avoid test failure on Haiku.
46989         * tests/test-fsync.c: Include <errno.h>.
46990         (main): Don't require that fsync (0) fails.
46991
46992 2008-11-15  Bruno Haible  <bruno@clisp.org>
46993
46994         New module 'hostent'.
46995         * modules/hostent: New file.
46996         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46997
46998 2008-11-15  Bruno Haible  <bruno@clisp.org>
46999
47000         New module 'servent'.
47001         * modules/servent: New file.
47002         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47003
47004 2008-11-15  Bruno Haible  <bruno@clisp.org>
47005
47006         Avoid generating same test program with two different rules.
47007         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47008         test-frexp to test-frexp-nolibm.
47009         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47010         test-frexpl to test-frexpl-nolibm.
47011
47012 2008-11-15  Bruno Haible  <bruno@clisp.org>
47013
47014         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47015         $(FREXPL_LIBM).
47016
47017 2008-11-15  Bruno Haible  <bruno@clisp.org>
47018
47019         * lib/netdb.in.h: Activate the definitions also when the system's
47020         <netdb.h> has 'struct addrinfo'.
47021         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47022         EAI_OVERFLOW or AI_NUMERICSERV.
47023         * doc/posix-headers/netdb.texi: Document the problem.
47024
47025 2008-11-15  Bruno Haible  <bruno@clisp.org>
47026
47027         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47028
47029         Make the 'sched' module work on platforms where <sched.h> exists but
47030         is incomplete (such as Haiku).
47031         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47032         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47033         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47034         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47035         HAVE_STRUCT_SCHED_PARAM.
47036         * modules/sched (Depends-on): Add include_next.
47037         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47038         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47039         * doc/posix-headers/sched.texi: Document the issue.
47040
47041 2008-11-13  Jim Meyering  <meyering@redhat.com>
47042
47043         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47044         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47045         test would fail due to the difference in the Report bugs to ...
47046         line.  The expected address is empty, "<>", while the actual
47047         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47048
47049 2008-11-12  Bruno Haible  <bruno@clisp.org>
47050
47051         lstat: don't compile lstat.c on systems lacking lstat
47052         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47053         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47054         Reported by Daniel P. Berrange via Jim Meyering.
47055
47056 2008-11-12  Jim Meyering  <meyering@redhat.com>
47057
47058         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47059
47060 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47061
47062         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47063         instead.
47064
47065 2008-11-12  Bruno Haible  <bruno@clisp.org>
47066
47067         * lib/unicodeio.c: Include unistr.h.
47068         (utf8_wctomb): Remove function.
47069         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47070
47071 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47072
47073         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47074         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47075         <bruno@clisp.org>.
47076         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47077
47078 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47079
47080         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47081         * doc/gnulib.texi: Add section for warnings.
47082
47083 2008-11-11  Bruno Haible  <bruno@clisp.org>
47084
47085         * lib/sockets.h: Add a comment.
47086
47087 2008-11-11  Karl Berry  <karl@gnu.org>
47088
47089         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47090
47091 2008-11-11  Eric Blake  <ebb9@byu.net>
47092
47093         fdl.texi: avoid git symlinks
47094         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47095
47096 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47097
47098         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47099
47100 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47101
47102         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47103         (gl_WARN_ADD): Substitute $2 if literal.
47104
47105 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47106
47107         * m4/warning.m4: Remove.
47108
47109 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47110
47111         * m4/warnings.m4: Almost complete rewrite. :-)
47112
47113 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47114
47115         * modules/warnings: New module.
47116         * m4/warnings.m4: New file.
47117         * MODULES.html.sh: Mention warnings module.
47118         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47119         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47120
47121 2008-11-10  Eric Blake  <ebb9@byu.net>
47122
47123         fdl.texi: make a symlink to the latest version
47124         * doc/standards.texi: Revert today's earlier change.
47125         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47126         * doc/fdl.texi: ...and replace this with a symlink to the newer
47127         fdl-1.3.texi.
47128
47129 2008-11-10  Bruno Haible  <bruno@clisp.org>
47130
47131         * tests/test-select-fd.c (main): Accept the result file name as fourth
47132         argument.
47133         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47134         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47135
47136 2008-11-10  Bruno Haible  <bruno@clisp.org>
47137
47138         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47139         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47140         as autoconf-substituted macros.
47141         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47143         gl_NETDB_H_DEFAULTS. Set these variables.
47144         * modules/netdb (Makefile.am): Substitute these variables.
47145
47146 2008-11-10  Eric Blake  <ebb9@byu.net>
47147
47148         standards.texi: include correct file for FDL 1.3
47149         * doc/standards.texi (GNU Free Documentation License): Change
47150         include file to pull in FDL 1.3, not 1.2.
47151
47152         fdl.texi: revert accidental change to license
47153         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47154
47155 2008-11-10  Bruno Haible  <bruno@clisp.org>
47156
47157         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47158         cross-compiling guesses also when the native compile gives no result.
47159
47160 2008-11-10  Bruno Haible  <bruno@clisp.org>
47161
47162         * lib/spawni.c (__spawni): Force variable into the stack.
47163
47164 2008-11-10  Bruno Haible  <bruno@clisp.org>
47165
47166         Add support for Haiku.
47167         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47168         glibc and BeOS, but also on Haiku.
47169         * lib/fpurge.c (fpurge): Likewise.
47170         * lib/freadable.c (freadable): Likewise.
47171         * lib/freadahead.c (freadahead): Likewise.
47172         * lib/freading.c (freading): Likewise.
47173         * lib/freadptr.c (freadptr): Likewise.
47174         * lib/freadseek.c (freadptrinc): Likewise.
47175         * lib/fseeko.c (rpl_fseeko): Likewise.
47176         * lib/fseterr.c (fseterr): Likewise.
47177         * lib/fwritable.c (fwritable): Likewise.
47178         * lib/fwriting.c (fwriting): Likewise.
47179         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47180
47181 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47182
47183         * lib/config.charset: Treat Haiku like BeOS.
47184
47185 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47186
47187         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47188         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
47189
47190 2008-11-08  Bruno Haible  <bruno@clisp.org>
47191
47192         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
47193         AC_CACHE_CHECK.
47194
47195 2008-11-08  Bruno Haible  <bruno@clisp.org>
47196
47197         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
47198
47199 2008-11-08  Bruno Haible  <bruno@clisp.org>
47200
47201         * tests/test-select-fd.c: New file.
47202         * tests/test-select-in.sh: New file.
47203         * tests/test-select-out.sh: New file.
47204         * tests/test-select-stdin.c: New file.
47205         * modules/select-tests (Files): Add the new files.
47206         (Depends-on): Add gettimeofday.
47207         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
47208         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
47209         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
47210
47211 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
47212             Bruno Haible  <bruno@clisp.org>
47213
47214         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
47215
47216 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
47217
47218         * build-aux/pmccabe2html: Added support for C++ source files.
47219
47220 2008-11-05  Ben Pfaff  <blp@gnu.org>
47221
47222         Fix lib/close.c build on Windows.
47223         * modules/close (Files): Add lib/w32sock.h.
47224
47225 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
47226
47227         Accept Bison's NEWS format.
47228         * build-aux/announce-gen (print_news_deltas): Tweak
47229         $re_prefix.
47230
47231 2008-11-04  Bruno Haible  <bruno@clisp.org>
47232
47233         * modules/random_r (Maintainer): Add glibc.
47234
47235 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47236
47237         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
47238         by karl@freefriends.org (Karl Berry).
47239         * doc/alloca.texi: Likewise.
47240         * doc/c-ctype.texi: Likewise.
47241         * doc/c-strcase.texi: Likewise.
47242         * doc/c-strcaseeq.texi: Likewise.
47243         * doc/c-strcasestr.texi: Likewise.
47244         * doc/c-strstr.texi: Likewise.
47245         * doc/c-strtod.texi: Likewise.
47246         * doc/c-strtold.texi: Likewise.
47247         * doc/ctime.texi: Likewise.
47248         * doc/error.texi: Likewise.
47249         * doc/fdl.texi: Likewise.
47250         * doc/gcd.texi: Likewise.
47251         * doc/getdate.texi: Likewise.
47252         * doc/gnulib-intro.texi: Likewise.
47253         * doc/gnulib-tool.texi: Likewise.
47254         * doc/gnulib.texi: Likewise.
47255         * doc/inet_ntoa.texi: Likewise.
47256         * doc/maintain.texi: Likewise.
47257         * doc/make-stds.texi: Likewise.
47258         * doc/quote.texi: Likewise.
47259         * doc/regexprops-generic.texi: Likewise.
47260         * doc/standards.texi: Likewise.
47261         * doc/verify.texi: Likewise.
47262         * doc/visibility.texi: Likewise.
47263         * doc/gnulib.texi (GNU Free Documentation License): Include
47264         fdl-1.3.texi instead of fdl.texi.
47265
47266 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47267
47268         * doc/fdl-1.3.texi: New file, from
47269         <http://www.gnu.org/licenses/fdl-1.3.texi>.
47270         * modules/fdl-1.3: Add.
47271         * MODULES.html.sh: Add fdl-1.3.
47272
47273 2008-11-03  Bruno Haible  <bruno@clisp.org>
47274
47275         Make determination of absolute name of header file work with AIX xlc.
47276         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
47277         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
47278         preprocessing.
47279         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47280         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47281
47282 2008-11-03  Simon Josefsson  <simon@josefsson.org>
47283
47284         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
47285         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
47286         <ludo@gnu.org>.
47287
47288 2008-11-02  Bruno Haible  <bruno@clisp.org>
47289
47290         Mark 'strpbrk' obsolete.
47291         * modules/strpbrk (Status, Notice): New sections.
47292         * modules/strtok_r (Depends-on): Add strpbrk.
47293
47294 2008-11-02  Bruno Haible  <bruno@clisp.org>
47295
47296         Mark 'strdup' obsolete.
47297         * modules/strdup (Status, Notice): New sections.
47298         * modules/findprog (Depends-on): Add strdup.
47299         * modules/getaddrinfo (Depends-on): Likewise.
47300         * modules/localename (Depends-on): Likewise.
47301         * modules/relocatable-lib (Depends-on): Likewise.
47302         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
47303         * modules/relocatable-prog (Depends-on): Likewise.
47304         * modules/trim (Depends-on): Likewise.
47305         * modules/unictype/gen-ctype (Depends-on): Likewise.
47306         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47307
47308 2008-11-02  Bruno Haible  <bruno@clisp.org>
47309
47310         Mark 'strcspn' obsolete.
47311         * modules/strcspn (Status, Notice): New sections.
47312
47313 2008-11-02  Bruno Haible  <bruno@clisp.org>
47314
47315         Mark 'rmdir' obsolete.
47316         * modules/rmdir (Status, Notice): New sections.
47317         * modules/clean-temp (Depends-on): Add rmdir.
47318         * modules/openat (Depends-on): Likewise.
47319
47320 2008-11-02  Bruno Haible  <bruno@clisp.org>
47321
47322         Mark 'raise' obsolete.
47323         * modules/raise (Status, Notice): New sections.
47324         (Include): Specify <signal.h>.
47325         * modules/stdio (Depends-on): Add raise.
47326         * modules/write (Depends-on): Likewise.
47327
47328 2008-11-02  Bruno Haible  <bruno@clisp.org>
47329
47330         Mark 'memset' obsolete.
47331         * modules/memset (Status, Notice): New sections.
47332
47333 2008-11-02  Bruno Haible  <bruno@clisp.org>
47334
47335         Mark 'memmove' obsolete.
47336         * modules/memmove (Status, Notice): New sections.
47337         * modules/argp (Depends-on): Add memmove.
47338         * modules/argz (Depends-on): Likewise.
47339         * modules/canonicalize (Depends-on): Likewise.
47340         * modules/canonicalize-lgpl (Depends-on): Likewise.
47341         * modules/fts (Depends-on): Likewise.
47342         * modules/getcwd (Depends-on): Likewise.
47343         * modules/human (Depends-on): Likewise.
47344         * modules/regex (Depends-on): Likewise.
47345         * modules/striconveh (Depends-on): Likewise.
47346         * modules/trim (Depends-on): Likewise.
47347         * modules/unistr/u8-move (Depends-on): Likewise.
47348         * modules/unistr/u16-move (Depends-on): Likewise.
47349         * modules/unistr/u32-move (Depends-on): Likewise.
47350
47351 2008-11-02  Bruno Haible  <bruno@clisp.org>
47352
47353         Mark 'memcpy' obsolete.
47354         * modules/memcpy (Status, Notice): New sections.
47355
47356 2008-11-02  Bruno Haible  <bruno@clisp.org>
47357
47358         Mark 'memcmp' obsolete.
47359         * modules/memcmp (Status, Notice): New sections.
47360         * modules/argmatch (Depends-on): Add memchr.
47361         * modules/backupfile (Depends-on): Likewise.
47362         * modules/c-strcasestr (Depends-on): Likewise.
47363         * modules/crypto/des (Depends-on): Likewise.
47364         * modules/csharpcomp (Depends-on): Likewise.
47365         * modules/fnmatch (Depends-on): Likewise.
47366         * modules/git-merge-changelog (Depends-on): Likewise.
47367         * modules/isnand (Depends-on): Likewise.
47368         * modules/isnand-nolibm (Depends-on): Likewise.
47369         * modules/isnanf (Depends-on): Likewise.
47370         * modules/isnanf-nolibm (Depends-on): Likewise.
47371         * modules/isnanl (Depends-on): Likewise.
47372         * modules/isnanl-nolibm (Depends-on): Likewise.
47373         * modules/mbchar (Depends-on): Likewise.
47374         * modules/memcoll (Depends-on): Likewise.
47375         * modules/quotearg (Depends-on): Likewise.
47376         * modules/regex (Depends-on): Likewise.
47377         * modules/relocatable-prog (Depends-on): Likewise.
47378         * modules/same (Depends-on): Likewise.
47379         * modules/signbit (Depends-on): Likewise.
47380         * modules/strcasestr-simple (Depends-on): Likewise.
47381         * modules/unictype/gen-ctype (Depends-on): Likewise.
47382         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47383         * modules/uniname/uniname (Depends-on): Likewise.
47384         * modules/unistr/u8-cmp (Depends-on): Likewise.
47385
47386 2008-11-02  Bruno Haible  <bruno@clisp.org>
47387
47388         Mark 'memchr' obsolete.
47389         * modules/memchr (Status, Notice): New sections.
47390         * modules/argp (Depends-on): Add memchr.
47391         * modules/base64 (Depends-on): Likewise.
47392         * modules/c-strcasestr (Depends-on): Likewise.
47393         * modules/chdir-long (Depends-on): Likewise.
47394         * modules/fnmatch (Depends-on): Likewise.
47395         * modules/getsubopt (Depends-on): Likewise.
47396         * modules/git-merge-changelog (Depends-on): Likewise.
47397         * modules/glob (Depends-on): Likewise.
47398         * modules/strcasestr-simple (Depends-on): Likewise.
47399         * modules/strnlen (Depends-on): Likewise.
47400
47401 2008-11-02  Bruno Haible  <bruno@clisp.org>
47402
47403         Mark 'atexit' obsolete.
47404         * modules/atexit (Status, Notice): New sections.
47405         * modules/chdir-long (Depends-on): Add atexit.
47406         * modules/wait-process (Depends-on): Likewise.
47407
47408 2008-11-02  Bruno Haible  <bruno@clisp.org>
47409
47410         * gnulib-tool: New option --with-obsolete.
47411         (func_usage): Document it.
47412         (func_modules_transitive_closure): Drop obsolete dependencies if
47413         incobsolete is not true.
47414         (func_import): Read and save the incobsolete variable to the cache.
47415
47416 2008-11-02  Bruno Haible  <bruno@clisp.org>
47417
47418         * modules/TEMPLATE-EXTENDED: New field 'Status'.
47419         * gnulib-tool: New option --extract-status.
47420         (func_usage): Document it.
47421         (sed_extract_prog): Recognize it.
47422         (func_get_status): New function.
47423
47424 2008-10-30  Simon Josefsson  <simon@josefsson.org>
47425
47426         * modules/sockets (License): Change from LGPL to LGPLv2+.
47427
47428 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47429
47430         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
47431
47432 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47433
47434         * MODULES.html.sh (Support for systems lacking POSIX:2001):
47435         Mention times and sys_times.
47436         * modules/sys_times, modules/sys_times-tests: New modules.
47437         * modules/times, modules/times-tests: Likewise
47438         * m4/sys_times_h.m4: New file.
47439         * lib/sys_times.in.h: Likewise
47440         * lib/times.c: Likewise.
47441         * tests/test-sys_times.c: Likewise.
47442         * tests/test-times.c: Likewise.
47443         * doc/posix-headers/sys_times.texi: Update.
47444         * doc/posix-functions/times.texi: Update.
47445
47446 2008-10-28  Jim Meyering  <meyering@redhat.com>
47447
47448         * modules/tempname (Depends-on): Add lstat.
47449
47450         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
47451
47452 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47453
47454         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
47455         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
47456         using idiom used elsewhere in gnulib.
47457
47458 2008-10-27  Jim Meyering  <meyering@redhat.com>
47459
47460         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
47461
47462 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47463
47464         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
47465         TESTS_ENVIRONMENT, for shell scripts that needs to call built
47466         programs.
47467         * tests/test-argp-2.sh: Use $EXEEXT when needed.
47468
47469 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47470
47471         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
47472
47473 2008-10-27  Bruno Haible  <bruno@clisp.org>
47474
47475         * tests/test-lstat.c: Include <stdio.h>.
47476
47477 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47478
47479         * modules/lstat-tests: New module.
47480         * tests/test-lstat.c: New file.
47481
47482 2008-10-26  Jim Meyering  <meyering@redhat.com>
47483
47484         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47485
47486 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47487             Bruno Haible  <bruno@clisp.org>
47488
47489         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47490         * modules/configmake (Include): Add a note that the include must come
47491         after all system headers.
47492         * lib/javaversion.c: Include configmake.h after all other includes.
47493
47494 2008-10-26  Bruno Haible  <bruno@clisp.org>
47495
47496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47497         HAVE_STRUCT_RANDOM_DATA to 1.
47498         (gl_STDLIB_H): Simplify.
47499
47500 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47501
47502         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47503         substitute HAVE_STRUCT_RANDOM_DATA.
47504         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47505         random_data.
47506         * modules/stdlib (Makefile.am): Substitute
47507         HAVE_STRUCT_RANDOM_DATA.
47508
47509 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47510
47511         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47512         * doc/gnulib-intro.texi (Copyright): Likewise.
47513
47514 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47515
47516         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47517         findings.
47518
47519 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47520             Bruno Haible  <bruno@clisp.org>
47521
47522         * lib/unistd.in.h: Include <winsock2.h>.
47523         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47524         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47525         Provide dummy declarations.
47526         (gethostname): Override.
47527         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47528         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47529         gl_PREREQ_SYS_H_WINSOCK2.
47530         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47531         * doc/posix-functions/gethostname.texi: More details.
47532
47533 2008-10-25  Bruno Haible  <bruno@clisp.org>
47534
47535         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47536         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47537         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47538
47539         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47540         here ...
47541         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47542         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47543         gl_UNISTD_H_DEFAULTS.
47544
47545 2008-10-25  Eric Blake  <ebb9@byu.net>
47546
47547         signbit: avoid spurious compiler failure
47548         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47549         declarations inside function.
47550
47551 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47552             Bruno Haible  <bruno@clisp.org>
47553
47554         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47555         * modules/random_r (Depends-on): Add stdint.
47556
47557 2008-10-24  Bruno Haible  <bruno@clisp.org>
47558
47559         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47560         Eggert.
47561         * modules/strerror (License): Likewise.
47562
47563 2008-10-24  Jim Meyering  <meyering@redhat.com>
47564
47565         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47566         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47567
47568 2008-10-24  Eric Blake  <ebb9@byu.net>
47569
47570         getgroups: fix compilation when getgroups is available
47571         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47572         but with <config.h> override of getgroups disabled.
47573
47574 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47575
47576         * doc/gnulib.texi (Header files): Add note about C++ problems.
47577         Explained by Bruno Haible <bruno@clisp.org>.
47578
47579 2008-10-23  Bruno Haible  <bruno@clisp.org>
47580
47581         Define a dummy SA_NODEFER macro on Interix.
47582         * lib/signal.in.h (SA_NODEFER): Define fallback.
47583         Reported by Aleksey Cheusov <cheusov@tut.by> via
47584         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47585
47586 2008-10-23  Bruno Haible  <bruno@clisp.org>
47587
47588         * modules/freadahead (License): Change to LGPLv2+.
47589         Suggested by Simon Josefsson.
47590
47591 2008-10-23  Jim Meyering  <meyering@redhat.com>
47592
47593         random_r: new module
47594         * modules/random_r: New file.
47595         * m4/random_r.m4: New file.
47596         * lib/random_r.c: New file, from glibc.
47597         * modules/random_r-tests: New file.
47598         * tests/test-random_r.c: New file.
47599         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47600          Declare.
47601         (RAND_MAX): Define.
47602         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47603         * modules/stdlib: Substitute them, too.
47604         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47605         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47606         * doc/glibc-functions/random_r.texi: Likewise.
47607         * doc/glibc-functions/setstate_r.texi: Likewise.
47608         * doc/glibc-functions/srandom_r.texi: Likewise.
47609         * config/srclist.txt: Mention it.
47610
47611 2008-10-23  David Lutterkort  <lutter@redhat.com>
47612
47613         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47614         link requirement
47615
47616 2008-10-23  Jim Meyering  <meyering@redhat.com>
47617
47618         selinux-h: mark parameters of stub functions as intentionally unused
47619         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47620         * lib/se-context.in.h: Likewise.
47621
47622 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47623
47624         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47625
47626 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47627
47628         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47629
47630 2008-10-22  Eric Blake  <ebb9@byu.net>
47631
47632         glthread/thread: avoid compiler warning
47633         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47634         Add unreachable abort to silence compiler.
47635
47636 2008-10-22  Eric Blake  <ebb9@byu.net>
47637
47638         netdb: also supply struct addrinfo for cygwin 1.5.x
47639         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47640         older cygwin.
47641         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47642         cygwin.
47643         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47644
47645 2008-10-22  Bruno Haible  <bruno@clisp.org>
47646
47647         * users.txt: Update entry about pspp.
47648
47649 2008-10-21  Bruno Haible  <bruno@clisp.org>
47650
47651         Simplification.
47652         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47653         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47654
47655         Simplification.
47656         * lib/ioctl.c (ioctl): Don't undefine.
47657         * lib/socket.c (socket): Don't undefine.
47658
47659         Remove unused module indicator macros.
47660         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47661         GNULIB_$1 as a C macro.
47662
47663         * doc/posix-functions/close.texi: Undo last change.
47664         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47665         Windows platforms.
47666
47667 2008-10-21  Bruno Haible  <bruno@clisp.org>
47668
47669         Add gethostname() declaration to <unistd.h>.
47670         * lib/unistd.in.h (gethostname): New declaration.
47671         * lib/gethostname.c: Include <unistd.h>.
47672         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47673         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47675         and HAVE_GETHOSTNAME.
47676         * modules/gethostname (Depends-on): Add unistd.
47677         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47678         (Include): Specify <unistd.h>.
47679         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47680         HAVE_GETHOSTNAME.
47681         * tests/test-gethostname.c: Include <unistd.h> first.
47682
47683 2008-10-21  Bruno Haible  <bruno@clisp.org>
47684
47685         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47686         * modules/select-tests (Depends-on): Likewise.
47687         Reported by Simon Josefsson.
47688
47689 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47690
47691         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47692         * lib/accept.c: New file, based on winsock.c.
47693         * lib/bind.c: New file, based on winsock.c.
47694         * lib/connect.c: New file, based on winsock.c.
47695         * lib/getpeername.c: New file, based on winsock.c.
47696         * lib/getsockname.c: New file, based on winsock.c.
47697         * lib/getsockopt.c: New file, based on winsock.c.
47698         * lib/ioctl.c: New file, based on winsock.c.
47699         * lib/listen.c: New file, based on winsock.c.
47700         * lib/recv.c: New file, based on winsock.c.
47701         * lib/recvfrom.c: New file, based on winsock.c.
47702         * lib/send.c: New file, based on winsock.c.
47703         * lib/sendto.c: New file, based on winsock.c.
47704         * lib/setsockopt.c: New file, based on winsock.c.
47705         * lib/shutdown.c: New file, based on winsock.c.
47706         * lib/socket.c: New file, based on winsock.c.
47707         * lib/w32sock.h: New file, based on winsock.c.
47708         * lib/winsock.c: Remove file.
47709         * modules/accept: Likewise.
47710         * modules/bind: Likewise.
47711         * modules/connect: Likewise.
47712         * modules/getpeername: Likewise.
47713         * modules/getsockname: Likewise.
47714         * modules/getsockopt: Likewise.
47715         * modules/ioctl: Likewise.
47716         * modules/listen: Likewise.
47717         * modules/recv: Likewise.
47718         * modules/recvfrom: Likewise.
47719         * modules/send: Likewise.
47720         * modules/sendto: Likewise.
47721         * modules/setsockopt: Likewise.
47722         * modules/shutdown: Likewise.
47723         * modules/socket: Use socket.c instead of winsock.c.
47724         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47725         * doc/posix-functions/accept.texi: Doc fix.
47726         * doc/posix-functions/bind.texi: Doc fix.
47727         * doc/posix-functions/close.texi: Doc fix.
47728         * doc/posix-functions/connect.texi: Doc fix.
47729         * doc/posix-functions/getpeername.texi: Doc fix.
47730         * doc/posix-functions/getsockname.texi: Doc fix.
47731         * doc/posix-functions/getsockopt.texi: Doc fix.
47732         * doc/posix-functions/ioctl.texi: Doc fix.
47733         * doc/posix-functions/listen.texi: Doc fix.
47734         * doc/posix-functions/recv.texi: Doc fix.
47735         * doc/posix-functions/recvfrom.texi: Doc fix.
47736         * doc/posix-functions/send.texi: Doc fix.
47737         * doc/posix-functions/sendto.texi: Doc fix.
47738         * doc/posix-functions/setsockopt.texi: Doc fix.
47739         * doc/posix-functions/shutdown.texi: Doc fix.
47740         * doc/posix-functions/socket.texi: Doc fix.
47741
47742 2008-10-20  Bruno Haible  <bruno@clisp.org>
47743
47744         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47745         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47746         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47747         as an alias for SIGABRT.
47748         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47749         (sigaction): Map it to SIGABRT.
47750         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47751
47752 2008-10-20  Bruno Haible  <bruno@clisp.org>
47753
47754         * lib/fts.c: Don't include lstat.h.
47755         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47756
47757         Move the lstat() declaration to <sys/stat.h>.
47758         * lib/lstat.h: Remove file.
47759         * lib/sys_stat.in.h: Add special invocation convention.
47760         (lstat): New declaration.
47761         * lib/lstat.c (orig_lstat): New function.
47762         (rpl_lstat): Use orig_lstat instead of lstat.
47763         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47764         AC_C_INLINE. Set REPLACE_LSTAT.
47765         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47766         and REPLACE_LSTAT.
47767         * modules/lstat (Files): Remove lib/lstat.h.
47768         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47769         (Include): Specify <sys/stat.h> instead of lstat.h.
47770         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47771         REPLACE_LSTAT.
47772         * NEWS: Mention the change.
47773
47774 2008-10-20  Bruno Haible  <bruno@clisp.org>
47775
47776         * modules/posix_spawn-tests: New file.
47777         * tests/test-posix_spawn3.c: New file.
47778
47779 2008-10-20  Bruno Haible  <bruno@clisp.org>
47780
47781         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47782         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47783         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47784         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47785         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47786
47787 2008-10-20  Bruno Haible  <bruno@clisp.org>
47788
47789         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47790         of posix_spawn on AIX 5.3.
47791
47792 2008-10-20  Bruno Haible  <bruno@clisp.org>
47793
47794         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47795
47796 2008-10-20  Bruno Haible  <bruno@clisp.org>
47797
47798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47799         of AC_LANG_PROGRAM.
47800
47801 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47802
47803         * lib/netdb.in.h: Don't define GNU specific constants until they
47804         are supported or needed.  Reported by Bruno Haible
47805         <bruno@clisp.org>.
47806
47807 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47808
47809         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47810
47811 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47812
47813         * lib/getaddrinfo.h: Remove file.
47814         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47815         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47816         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47817         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47818         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47819         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47820         * tests/test-getaddrinfo.c: Likewise.
47821         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47822         * NEWS: Mention change.
47823
47824 2008-10-19  Bruno Haible  <bruno@clisp.org>
47825
47826         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47827
47828 2008-10-19  Bruno Haible  <bruno@clisp.org>
47829
47830         * lib/wait-process.c: Include simply <sys/wait.h>.
47831         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47832         WIFSTOPPED): Remove fallback definitions.
47833         * modules/wait-process (Depends-on): Add sys_wait.
47834
47835         New module 'sys_wait'.
47836         * modules/sys_wait: New file.
47837         * lib/sys_wait.in.h: New file, partially copied from
47838         lib/wait-process.c.
47839         * m4/sys_wait_h.m4: New file.
47840         * doc/posix-headers/sys_wait.texi: Mention the new module.
47841
47842 2008-10-19  Bruno Haible  <bruno@clisp.org>
47843
47844         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47845
47846 2008-10-19  Bruno Haible  <bruno@clisp.org>
47847
47848         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47849         * lib/wait-process.c (WAIT_T): Remove type.
47850         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47851         (wait_subprocess): Update.
47852
47853 2008-10-19  Bruno Haible  <bruno@clisp.org>
47854
47855         New module 'atoll'.
47856         * modules/atoll: New file.
47857         * lib/stdlib.in.h (atoll): New declaration.
47858         * lib/atoll.c: New file, from glibc with modifications.
47859         * m4/atoll.m4: New file.
47860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47861         HAVE_ATOLL.
47862         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47863         * doc/posix-functions/atoll.texi: Mention the new module.
47864
47865 2008-10-19  Bruno Haible  <bruno@clisp.org>
47866
47867         Add strtoull() declaration to <stdlib.h>.
47868         * lib/stdlib.in.h (strtoull): New declaration.
47869         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47870         Set HAVE_STRTOULL.
47871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47872         HAVE_STRTOULL.
47873         * modules/strtoull (Depends-on): Add stdlib.
47874         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47875         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47876         HAVE_STRTOULL.
47877
47878 2008-10-19  Bruno Haible  <bruno@clisp.org>
47879
47880         Add strtoll() declaration to <stdlib.h>.
47881         * lib/stdlib.in.h (strtoll): New declaration.
47882         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47883         Set HAVE_STRTOLL.
47884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47885         HAVE_STRTOLL.
47886         * modules/strtoll (Depends-on): Add stdlib.
47887         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47888         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47889
47890 2008-10-19  Bruno Haible  <bruno@clisp.org>
47891
47892         * modules/bcopy (Depends-on): Add strings.
47893         (Include): Specify <strings.h>.
47894
47895 2008-10-19  Bruno Haible  <bruno@clisp.org>
47896
47897         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47898
47899 2008-10-19  Bruno Haible  <bruno@clisp.org>
47900
47901         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47902         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47903         mingw.
47904
47905 2008-10-19  Bruno Haible  <bruno@clisp.org>
47906
47907         * lib/atanl.c: Don't include isnanl.h.
47908         * lib/cosl.c: Likewise.
47909         * lib/ldexpl.c: Likewise.
47910         * lib/logl.c: Likewise.
47911         * lib/sinl.c: Likewise.
47912         * lib/sqrtl.c: Likewise.
47913         * lib/tanl.c: Likewise.
47914
47915         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47916         * lib/isnanf.h: Remove file.
47917         * lib/isnand.h: Remove file.
47918         * lib/isnanl.h: Remove file.
47919         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47920         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47921         macros.
47922         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47923         HAVE_ISNANF, don't define it as a C macro.
47924         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47925         HAVE_ISNAND, don't define it as a C macro.
47926         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47927         HAVE_ISNANL, don't define it as a C macro.
47928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47929         HAVE_ISNAN[FDL].
47930         * modules/isnanf (Files): Remove lib/isnanf.h.
47931         (Depends-on): Add math.
47932         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47933         (Include): Specify <math.h> instead of isnanf.h.
47934         * modules/isnand (Files): Remove lib/isnand.h.
47935         (Depends-on): Add math.
47936         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47937         (Include): Specify <math.h> instead of isnand.h.
47938         * modules/isnanl (Files): Remove lib/isnanl.h.
47939         (Depends-on): Add math.
47940         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47941         (Include): Specify <math.h> instead of isnanl.h.
47942         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47943         HAVE_ISNAN[FDL].
47944         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47945         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47946         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47947         * NEWS: Mention the change.
47948
47949 2008-10-18  Bruno Haible  <bruno@clisp.org>
47950
47951         Add getusershell(), setusershell(), endusershell() declarations to
47952         <unistd.h>.
47953         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47954         declarations.
47955         * lib/getusershell.c: Include unistd.h.
47956         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47957         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47958         HAVE_GETUSERSHELL.
47959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47960         and HAVE_GETUSERSHELL.
47961         * modules/getusershell (Depends-on): Add unistd, extensions.
47962         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47963         (Include): Specify <unistd.h>.
47964         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47965         HAVE_GETUSERSHELL.
47966
47967 2008-10-18  Bruno Haible  <bruno@clisp.org>
47968
47969         Add a getloadavg() declaration to <stdlib.h>.
47970         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47971         getloadavg declaration.
47972         (getloadavg): New declaration.
47973         * lib/getloadavg.c: Include <stdlib.h> first.
47974         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47975         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47976         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47978         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47979         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47980         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47981         (Include): Specify <stdlib.h>.
47982         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47983         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47984
47985 2008-10-18  Bruno Haible  <bruno@clisp.org>
47986
47987         * lib/dirchownmod.c: Don't include lchmod.h.
47988
47989         Move the lchmod() declaration to <sys/stat.h>.
47990         * lib/lchmod.h: Remove file.
47991         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47992         (lchmod): New declaration, moved here from lib/lchown.h.
47993         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47994         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47995         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47996         and HAVE_LCHMOD.
47997         * modules/lchmod (Files): Remove lib/lchmod.h.
47998         (Depends-on): Add sys_stat, extensions.
47999         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48000         (Include): Specify <sys/stat.h> instead of lchmod.h.
48001         * modules/sys_stat (Depends-on): Add link-warning.
48002         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48003         definition of GL_LINK_WARNING.
48004         * NEWS: Mention the change.
48005
48006 2008-10-18  Bruno Haible  <bruno@clisp.org>
48007
48008         * lib/fchdir.c: Don't include dirfd.h.
48009         * lib/fts.c: Likewise.
48010         * lib/getcwd.c: Likewise.
48011         * lib/glob.c: Likewise.
48012
48013         Move the dirfd() declaration to <dirent.h>.
48014         * lib/dirfd.h: Remove file.
48015         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48016         (dirfd): New declaration.
48017         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48018         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48019         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48020         HAVE_DECL_DIRFD.
48021         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48022         HAVE_DECL_DIRFD.
48023         * modules/dirfd (Files): Remove lib/dirfd.h.
48024         (Depends-on): Add dirent, extensions.
48025         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48026         (Include): Specify <dirent.h> instead of dirfd.h.
48027         * modules/dirent (Depends-on): Add link-warning.
48028         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48029         definition of GL_LINK_WARNING.
48030         * NEWS: Mention the change.
48031
48032 2008-10-18  Bruno Haible  <bruno@clisp.org>
48033
48034         Move the euidaccess() declaration to <unistd.h>.
48035         * lib/euidaccess.h: Remove file.
48036         * lib/unistd.in.h (euidaccess): New declaration.
48037         * lib/euidaccess.c: Don't include euidaccess.h.
48038         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48039         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48041         and HAVE_EUIDACCESS.
48042         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48043         (Depends-on): Add unistd.
48044         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48045         (Include): Specify <unistd.h> instead of euidaccess.h.
48046         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48047         HAVE_EUIDACCESS.
48048         * NEWS: Mention the change.
48049
48050 2008-10-18  Bruno Haible  <bruno@clisp.org>
48051
48052         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48053
48054         Move the getdomainname() declaration to <unistd.h>.
48055         * lib/getdomainname.h: Remove file.
48056         * lib/unistd.in.h (getdomainname): New declaration.
48057         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48058         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48059         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48060         HAVE_GETDOMAINNAME.
48061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48062         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48063         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48064         (Depends-on): Add unistd, extensions.
48065         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48066         (Includes): Specify <unistd.h> instead of getdomainname.h.
48067         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48068         HAVE_GETDOMAINNAME.
48069         * NEWS: Mention the change.
48070
48071 2008-10-18  Bruno Haible  <bruno@clisp.org>
48072
48073         * modules/dirent: New file.
48074         * m4/dirent_h.m4: New file.
48075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48076         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48077         * modules/fchdir (Files): Remove lib/dirent.in.h.
48078         (Depends-on): Add dirent.
48079         (Makefile.am): Move rules to modules/dirent.
48080         * doc/posix-headers/dirent.texi: Mention the new module.
48081
48082 2008-10-18  Bruno Haible  <bruno@clisp.org>
48083
48084         Avoid -Wunused-parameter warnings in public gnulib header files.
48085         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48086         macro.
48087         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48088
48089 2008-10-18  Bruno Haible  <bruno@clisp.org>
48090
48091         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48092         * doc/glibc-functions/error.texi: Mention the module 'error'.
48093         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48094         * doc/glibc-functions/getdomainname.texi: Mention the module
48095         'getdomainname'.
48096         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48097         * doc/glibc-functions/getpagesize.texi: Mention the module
48098         'getpagesize'.
48099         * doc/glibc-functions/getusershell.texi: Mention the module
48100         'getusershell'.
48101         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48102         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48103         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48104         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48105         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48106         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48107         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48108         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48109         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48110         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48111         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48112         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48113         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48114         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48115
48116 2008-10-17  Bruno Haible  <bruno@clisp.org>
48117
48118         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48119         HP-UX and IRIX, use -0.0L.
48120         * tests/test-ceill.c (minus_zero): Likewise.
48121         * tests/test-floorl.c (minus_zero): Likewise.
48122         * tests/test-frexpl.c (minus_zero): Likewise.
48123         * tests/test-isnan.c (minus_zerol): Likewise.
48124         * tests/test-isnanl.h (minus_zero): Likewise.
48125         * tests/test-ldexpl.c (minus_zero): Likewise.
48126         * tests/test-roundl.c (minus_zero): Likewise.
48127         * tests/test-signbit.c (minus_zerol): Likewise.
48128         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48129         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48130         * tests/test-truncl.c (minus_zero): Likewise.
48131         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48132         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48133         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48134         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48135
48136 2008-10-17  Bruno Haible  <bruno@clisp.org>
48137
48138         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48139         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48140         that it gets activated only for gcc >= 3.0.
48141         * lib/dirent.in.h: Likewise.
48142         * lib/errno.in.h: Likewise.
48143         * lib/fcntl.in.h: Likewise.
48144         * lib/float.in.h: Likewise.
48145         * lib/iconv.in.h: Likewise.
48146         * lib/inttypes.in.h: Likewise.
48147         * lib/locale.in.h: Likewise.
48148         * lib/math.in.h: Likewise.
48149         * lib/netdb.in.h: Likewise.
48150         * lib/netinet_in.in.h: Likewise.
48151         * lib/search.in.h: Likewise.
48152         * lib/signal.in.h: Likewise.
48153         * lib/spawn.in.h: Likewise.
48154         * lib/stdarg.in.h: Likewise.
48155         * lib/stdint.in.h: Likewise.
48156         * lib/stdio.in.h: Likewise.
48157         * lib/stdlib.in.h: Likewise.
48158         * lib/string.in.h: Likewise.
48159         * lib/strings.in.h: Likewise.
48160         * lib/sys_file.in.h: Likewise.
48161         * lib/sys_ioctl.in.h: Likewise.
48162         * lib/sys_select.in.h: Likewise.
48163         * lib/sys_socket.in.h: Likewise.
48164         * lib/sys_stat.in.h: Likewise.
48165         * lib/sys_time.in.h: Likewise.
48166         * lib/sysexits.in.h: Likewise.
48167         * lib/time.in.h: Likewise.
48168         * lib/unistd.in.h: Likewise.
48169         * lib/wchar.in.h: Likewise.
48170         * lib/wctype.in.h: Likewise.
48171         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48172
48173 2008-10-17  Jim Meyering  <meyering@redhat.com>
48174
48175         ignore-value: don't depend on inline module
48176         * modules/ignore-value (Depends-on): Remove 'inline'.
48177         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48178         Suggestion from Bruno Haible.
48179
48180 2008-10-17  Bruno Haible  <bruno@clisp.org>
48181
48182         New implementation of condition variables for Win32.
48183         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48184         (gl_linked_waitqueue_t): New type.
48185         (gl_cond_t): Use it.
48186         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48187         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48188         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
48189         (glthread_cond_init_func, glthread_cond_wait_func,
48190         glthread_cond_timedwait_func, glthread_cond_signal_func,
48191         glthread_cond_broadcast_func, glthread_cond_destroy_func):
48192         Reimplemented on the basis of gl_linked_waitqueue_t.
48193         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
48194         gl_waitqueue_t.
48195         (gl_rwlock_t): Update.
48196         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
48197
48198 2008-10-17  Simon Josefsson  <simon@josefsson.org>
48199
48200         * modules/recvfrom (Depends-on): Add dependency on getpeername.
48201         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48202
48203 2008-10-17  Jim Meyering  <meyering@redhat.com>
48204
48205         ignore-value: new module
48206         * modules/ignore-value: New file.
48207         * lib/ignore-value.h: New file.
48208         * MODULES.html.sh (Compiler warning management): New section,
48209         just for this module.  More to come.
48210
48211 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48212
48213         open-safer.c: avoid 'signed and unsigned in conditional...' warning
48214         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
48215         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
48216
48217 2008-10-16  Jim Meyering  <meyering@redhat.com>
48218
48219         openat-die.c: avoid 'no previous prototype' warning
48220         * lib/openat-die.c: Include "openat.h".
48221         Reported by Reuben Thomas <rrt@sc3d.org>.
48222
48223 2008-10-16  Simon Josefsson  <simon@josefsson.org>
48224
48225         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
48226         * lib/netdb.in.h: Fix typo.
48227         Reported by Bruno Haible  <bruno@clisp.org>
48228
48229         * lib/netdb.in.h: Include sys/socket.h for platforms without
48230         netdb.h, to get structures like hostent on MinGW.
48231         * modules/netdb (Depends-on): Add sys_socket.
48232
48233 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48234
48235         * modules/netdb, modules/netdb-tests: New file.
48236         * m4/netdb_h.m4: New file.
48237         * lib/netdb.in.h: Add, currently just an empty file pending
48238         definitions.
48239         * tests/test-netdb.c: New file.
48240         * doc/posix-headers/netdb.texi: Mention that we replace it if
48241         needed.
48242         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48243         netdb.
48244
48245 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48246
48247         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
48248         with code.
48249
48250 2008-10-13  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/glthread/cond.c (glthread_cond_wait_func,
48253         glthread_cond_timedwait_func): Add a comment.
48254
48255 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48256
48257         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
48258         * tests/test-select.c: Likewise,
48259
48260 2008-10-13  Bruno Haible  <bruno@clisp.org>
48261
48262         * lib/glthread/cond.c (glthread_cond_wait_func,
48263         glthread_cond_timedwait_func): Fix variable name.
48264         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48265
48266 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
48267
48268         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
48269         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
48270         struct sockaddr.sa_len.
48271         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
48272
48273 2008-10-13  Simon Josefsson  <simon@josefsson.org>
48274
48275         * build-aux/pmccabe2html: Add css and css_url parameters.
48276
48277 2008-10-12  Bruno Haible  <bruno@clisp.org>
48278
48279         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
48280         calling aclx_get.
48281         Reported by Rainer Tammer <tammer@tammer.net>.
48282
48283 2008-10-12  Bruno Haible  <bruno@clisp.org>
48284
48285         Use msvcrt aware primitives for creation/termination of Win32 threads.
48286         * lib/glthread/thread.c: Include <process.h>.
48287         (glthread_create_func): Use _beginthreadex instead of CreateThread.
48288         (wrapper_func): Update signature.
48289         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
48290
48291 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48292             Bruno Haible  <bruno@clisp.org>
48293
48294         Provide a Win32 implementation of the 'cond' module.
48295         * lib/glthread/cond.h [USE_WIN32]: New implementation.
48296         * lib/glthread/cond.c (glthread_cond_init_func,
48297         glthread_cond_wait_func, glthread_cond_timedwait_func,
48298         glthread_cond_signal_func, glthread_cond_broadcast_func,
48299         glthread_cond_destroy_func) [USE_WIN32]: New functions.
48300         * modules/cond (Dependencies): Add gettimeofday.
48301
48302 2008-10-11  Bruno Haible  <bruno@clisp.org>
48303
48304         Make sleep work on older versions of mingw.
48305         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
48306         only whether it exists.
48307         * doc/posix-functions/sleep.texi: Mention the problem with older
48308         versions of mingw.
48309
48310 2008-10-11  Bruno Haible  <bruno@clisp.org>
48311
48312         New module 'shutdown'.
48313         * modules/shutdown: New file.
48314         * lib/sys_socket.in.h (shutdown): New declaration.
48315         * lib/winsock.c (shutdown): New function.
48316         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48317         GNULIB_SHUTDOWN.
48318         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48319         * doc/posix-functions/shutdown.texi: Document the new module.
48320
48321 2008-10-11  Jim Meyering  <meyering@redhat.com>
48322
48323         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48324
48325 2008-10-11  Bruno Haible  <bruno@clisp.org>
48326
48327         New module 'fclose'.
48328         * modules/fclose: New file.
48329         * lib/stdio.in.h (fclose): New declaration.
48330         * lib/fclose.c: New file.
48331         * m4/fclose.m4: New file.
48332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48333         REPLACE_FCLOSE.
48334         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48335         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48336         REPLACE_FCLOSE.
48337         * modules/close (Depends-on): fclose.
48338         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48339
48340 2008-10-11  Bruno Haible  <bruno@clisp.org>
48341
48342         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48343         set errno and don't call _close.
48344
48345 2008-10-10  Bruno Haible  <bruno@clisp.org>
48346
48347         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48348         ACL, not afterwards. Fixes test failure on Cygwin.
48349
48350 2008-10-09  Ben Pfaff  <blp@gnu.org>
48351
48352         * build-aux/announce-gen: Fix gnulib version related part of usage
48353         message.  Die with a useful error message if no tarballs are
48354         found.
48355
48356 2008-10-10  Jim Meyering  <meyering@redhat.com>
48357
48358         bootstrap: use git's --depth=N option only if it's supported
48359         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
48360         recognize the --depth option.  Reported by Pádraig Brady.
48361
48362 2008-10-09  Bruno Haible  <bruno@clisp.org>
48363
48364         New module 'ioctl'.
48365         * modules/ioctl: New file.
48366         * lib/sys_socket.in.h (ioctl): Remove declaration.
48367         * lib/winsock.c: Include <sys/ioctl.h>.
48368         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
48369         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48370         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
48371         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
48372         * doc/posix-functions/ioctl.texi: Mention the new module.
48373
48374 2008-10-09  Bruno Haible  <bruno@clisp.org>
48375
48376         New module 'sys_ioctl'.
48377         * lib/sys_ioctl.in.h: New file.
48378         * m4/sys_ioctl_h.m4: New file.
48379         * modules/sys_ioctl: New file.
48380         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48381
48382 2008-10-09  Bruno Haible  <bruno@clisp.org>
48383
48384         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48385         * lib/winsock.c: Include <stdarg.h>.
48386         (rpl_ioctl): Change to second argument 'int' and then varargs.
48387
48388 2008-10-09  Bruno Haible  <bruno@clisp.org>
48389
48390         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48391         when the sys_socket module is present and the system has <winsock2.h>.
48392
48393 2008-10-09  Bruno Haible  <bruno@clisp.org>
48394
48395         * doc/posix-functions/close.texi: Mention module 'close' instead of
48396         module 'sys_socket'.
48397
48398 2008-10-09  Bruno Haible  <bruno@clisp.org>
48399
48400         * doc/glibc-headers/sys_ioctl.texi: New file.
48401         * doc/gnulib.texi: Include it.
48402
48403 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48404             Bruno Haible  <bruno@clisp.org>
48405
48406         Combine the two replacements of 'close'.
48407         * lib/sys_socket.in.h (close): Define to a reminder to include
48408         <unistd.h>.
48409         (_gl_close_fd_maybe_socket): New declaration.
48410         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48411         * lib/winsock.c (close): Remove undefinition.
48412         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
48413         needed for the gnulib module 'close'.
48414         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
48415         define to an error symbol or to a warning, if suitable.
48416         * lib/close.c: Include <sys/socket.h>.
48417         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
48418         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
48419         UNISTD_H_HAVE_WINSOCK2_H.
48420         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
48421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48422         UNISTD_H_HAVE_WINSOCK2_H.
48423         * modules/sys_socket (Files): Add m4/unistd_h.m4.
48424         (configure.ac): Set a module indicator.
48425         (Makefile.am): Substitute GNULIB_CLOSE.
48426         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
48427         * modules/poll-tests (Depends-on): Add close.
48428         * modules/select-tests (Depends-on): Likewise.
48429
48430 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48431             Bruno Haible  <bruno@clisp.org>
48432
48433         New module 'close'.
48434         * modules/close: New file.
48435         * lib/unistd.in.h (close): Move declaration out of the
48436         FCHDIR_REPLACEMENT scope.
48437         (_gl_unregister_fd): New declaration.
48438         * lib/close.c: New file.
48439         * lib/fchdir.c (rpl_close): Remove function.
48440         * m4/close.m4: New file.
48441         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48442         close.
48443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
48444         REPLACE_CLOSE.
48445         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
48446         REPLACE_CLOSE.
48447         * modules/fchdir (Depends-on): Add close.
48448
48449 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48450             Bruno Haible  <bruno@clisp.org>
48451
48452         * lib/fcntl.in.h (open): Simplify conditionals.
48453         (_gl_register_fd): New declaration.
48454         * lib/fchdir.c (rpl_open): Remove function.
48455         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
48456         also.
48457         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
48458         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48459         open.
48460
48461 2008-10-09  Jim Meyering  <meyering@redhat.com>
48462
48463         GNUmakefile: use the more name-space-friendly "_version"
48464         * top/GNUmakefile (_dummy): Update.
48465         (_version): Rename from "version".
48466
48467 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48468             Bruno Haible  <bruno@clisp.org>
48469
48470         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
48471         rpl_close.
48472         (_gl_register_fd): New function, extracted from rpl_open.
48473         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
48474         (rpl_open, rpl_opendir): Use _gl_register_fd.
48475
48476 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48477
48478         Fix organization of 'open' replacement.
48479         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
48480         (gl_FUNC_OPEN): Use it.
48481         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48482
48483 2008-10-08  Bruno Haible  <bruno@clisp.org>
48484
48485         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48486
48487 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48488
48489         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48490         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48491         listen).
48492
48493 2008-10-08  Eric Blake  <ebb9@byu.net>
48494
48495         GNUmakefile: add 'make version' target
48496         * top/GNUmakefile (_curr-ver): Split version update rules...
48497         (version): ...into a target.
48498
48499 2008-10-07  Bruno Haible  <bruno@clisp.org>
48500
48501         Use a more portable replacement expression for -0.0L.
48502         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48503         instead of -0.0L. Fix m4 quotation.
48504
48505         * tests/test-signbit.c: Include <float.h>.
48506         (minus_zero): New variable.
48507         (test_signbitl): Use minus_zero instead of -zero.
48508         * modules/signbit-tests (Depends-on): Add float.
48509
48510         * tests/test-ceill.c: Include <float.h>.
48511         (zero): Remove variable.
48512         (minus_zero): New variable.
48513         (main): Use minus_zero instead of -zero.
48514         * modules/ceill-tests (Depends-on): Add float.
48515
48516         * tests/test-floorl.c: Include <float.h>.
48517         (zero): Remove variable.
48518         (minus_zero): New variable.
48519         (main): Use minus_zero instead of -zero.
48520         * modules/floorl-tests (Depends-on): Add float.
48521
48522         * tests/test-roundl.c: Include <float.h>.
48523         (zero): Remove variable.
48524         (minus_zero): New variable.
48525         (main): Use minus_zero instead of -zero.
48526         * modules/roundl-tests (Depends-on): Add float.
48527
48528         * tests/test-truncl.c: Include <float.h>.
48529         (zero): Remove variable.
48530         (minus_zero): New variable.
48531         (main): Use minus_zero instead of -zero.
48532         * modules/truncl-tests (Depends-on): Add float.
48533
48534         * tests/test-frexpl.c (zero): Remove variable.
48535         (minus_zero): New variable.
48536         (main): Use minus_zero instead of -zero.
48537         * modules/frexpl-tests (Depends-on): Add float.
48538
48539         * tests/test-isnan.c (zerol): Remove variable.
48540         (minus_zerol): New variable.
48541         (test_long_double): Use minus_zerol instead of -zerol.
48542         * modules/isnan-tests (Depends-on): Add float.
48543
48544         * tests/test-isnanl.h (zero): Remove variable.
48545         (minus_zero): New variable.
48546         (main): Use minus_zero instead of -zero.
48547         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48548         * modules/isnanl-tests (Depends-on): Add float.
48549
48550         * tests/test-ldexpl.c (zero): Remove variable.
48551         (minus_zero): New variable.
48552         (main): Use minus_zero instead of -zero.
48553         * modules/ldexpl-tests (Depends-on): Add float.
48554
48555         * tests/test-snprintf-posix.h (zerol): Remove variable.
48556         (minus_zerol): New variable.
48557         (test_function): Use minus_zerol instead of -zerol.
48558         * modules/snprintf-posix-tests (Depends-on): Add float.
48559         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48560
48561         * tests/test-sprintf-posix.h (zerol): Remove variable.
48562         (minus_zerol): New variable.
48563         (test_function): Use minus_zerol instead of -zerol.
48564         * modules/sprintf-posix-tests (Depends-on): Add float.
48565         * modules/vsprintf-posix-tests (Depends-on): Add float.
48566
48567         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48568         (minus_zerol): New variable.
48569         (test_function): Use minus_zerol instead of -zerol.
48570         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48571
48572         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48573         (minus_zerol): New variable.
48574         (test_function): Use minus_zerol instead of -zerol.
48575         * modules/vasprintf-posix-tests (Depends-on): Add float.
48576
48577 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48578
48579         * MODULES.html.sh (Support for building documentation): Mention
48580         pmccabe2html.  Sort entries.
48581
48582         Add pmccabe2html module, from gnupdf.
48583         * build-aux/pmccabe.css: New file.
48584         * build-aux/pmccabe2html: New file.
48585         * m4/pmccabe2html.m4: New file.
48586         * modules/pmccabe2html: New file.
48587
48588 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48589
48590         flock: new module
48591         * MODULES.html.sh: Add to list of modules.
48592         * lib/flock.c: flock implementation for Windows and Unix systems
48593         which have fcntl.
48594         * doc/glibc-functions/flock.texi: Update documentation.
48595         * lib/sys_file.in.h: <sys/file.h> header file.
48596         * m4/flock.m4: M4 macros.
48597         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48598         * modules/flock: flock module.
48599         * modules/flock-tests: flock tests module.
48600         * modules/sys_file: sys/file.h module.
48601         * tests/test-flock.c: test suite for flock.
48602
48603 2008-10-06  Jim Meyering  <meyering@redhat.com>
48604
48605         bootstrap: check for LT_INIT more portably still ;-)
48606         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48607         Spotted by Bruno Haible.
48608
48609 2008-10-06  Eric Blake  <ebb9@byu.net>
48610
48611         test-signbit: avoid tripping Irix cc bug on -0.0L
48612         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48613         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48614         entire testsuite consistent and avoids an Irix 6.2 bug.
48615
48616 2008-10-05  Bruno Haible  <bruno@clisp.org>
48617             Jim Meyering  <jim@meyering.net>
48618
48619         Add an option for ignoring EPIPE during close_stdout.
48620         * lib/closeout.h: Include <stdbool.h>.
48621         (close_stdout_set_ignore_EPIPE): New declaration.
48622         * lib/closeout.c: Include <stdbool.h>.
48623         (ignore_EPIPE): New variable.
48624         (close_stdout_set_ignore_EPIPE): New function.
48625         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48626         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48627         failure.
48628         * modules/closeout (Depends-on): Add stdbool.
48629
48630 2008-10-05  Bruno Haible  <bruno@clisp.org>
48631
48632         * modules/accept: New file.
48633         * modules/bind: New file.
48634         * modules/connect: New file.
48635         * modules/getpeername: New file.
48636         * modules/getsockname: New file.
48637         * modules/getsockopt: New file.
48638         * modules/listen: New file.
48639         * modules/recv: New file.
48640         * modules/recvfrom: New file.
48641         * modules/send: New file.
48642         * modules/sendto: New file.
48643         * modules/setsockopt: New file.
48644         * modules/socket: New file.
48645         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48646         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48647         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48648         the particular module is requested. Add a link warning when the
48649         particular module is not requested.
48650         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48651         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48652         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48653         the particular module is requested.
48654         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48655         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48656         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48657         * modules/sys_socket (Depends-on): Add link-warning.
48658         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48659         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48660         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48661         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48662         GL_LINK_WARNING.
48663         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48664         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48665         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48666         * doc/posix-functions/getpeername.texi: Mention the new module
48667         'getpeername'.
48668         * doc/posix-functions/getsockname.texi: Mention the new module
48669         'getsockname'.
48670         * doc/posix-functions/getsockopt.texi: Mention the new module
48671         'getsockopt'.
48672         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48673         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48674         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48675         * doc/posix-functions/send.texi: Mention the new module 'send'.
48676         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48677         * doc/posix-functions/setsockopt.texi: Mention the new module
48678         'setsockopt'.
48679         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48680         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48681         listen, connect, accept.
48682         * modules/select-tests (Depends-on): Likewise.
48683
48684 2008-10-05  Bruno Haible  <bruno@clisp.org>
48685
48686         * lib/winsock.c (strerror): Remove unused #undef.
48687         (rpl_close): Remove unused local variable.
48688
48689         * modules/sys_socket (Depends-on); Add errno.
48690
48691 2008-10-05  Bruno Haible  <bruno@clisp.org>
48692
48693         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48694         (select): Add a link warning when the 'select' module is not used.
48695         * modules/sys_select (Depends-on): Add link-warning.
48696         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48697         Suggested by Paolo Bonzini.
48698
48699 2008-10-05  Jim Meyering  <meyering@redhat.com>
48700
48701         bootstrap: check for LT_INIT more portably
48702         * build-aux/bootstrap: Avoid using grep -E, since it's not
48703         portable enough.  Suggestion from Bruno Haible.
48704
48705 2008-10-05  Bruno Haible  <bruno@clisp.org>
48706
48707         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48708         as being fixed by gnulib.
48709
48710 2008-10-05  Bruno Haible  <bruno@clisp.org>
48711
48712         * modules/select-tests: New file, mostly copied from
48713         modules/sys_select-tests.
48714         * tests/test-select.c: New file, mostly copied from
48715         tests/test-sys_select.c.
48716         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48717         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48718         (Makefile.am): Remove test_sys_select_LDADD.
48719
48720         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48721         to an undefined symbol, for an error message.
48722         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48723         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48724         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48725         winsock-select.c here.
48726         * modules/sys_select (Files): Remove lib/winsock-select.c.
48727         (Depends-on): Remove alloca.
48728         (Makefile.am): Substitute GNULIB_SELECT.
48729         * modules/select: New file.
48730         * doc/posix-functions/select.texi: Update.
48731
48732 2008-10-05  Bruno Haible  <bruno@clisp.org>
48733
48734         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48735         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48736         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48737         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48738         getdtablesize.
48739         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48740         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48741
48742 2008-10-05  Bruno Haible  <bruno@clisp.org>
48743
48744         * modules/getdtablesize-tests: New file.
48745         * tests/test-getdtablesize.c: New file.
48746
48747         New module 'getdtablesize'.
48748         * lib/unistd.in.h (getdtablesize): New declaration.
48749         * lib/getdtablesize.c: New file.
48750         * m4/getdtablesize.m4: New file.
48751         * modules/getdtablesize: New file.
48752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48753         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48754         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48755         HAVE_GETDTABLESIZE.
48756         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48757
48758 2008-10-05  Bruno Haible  <bruno@clisp.org>
48759
48760         * modules/sched (Makefile.am): Fix typo.
48761         Reported by Simon Josefsson.
48762
48763 2008-10-05  Jim Meyering  <meyering@redhat.com>
48764
48765         bootstrap: check for LT_INIT, too
48766         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48767         are deprecated.  Suggestion from Ralf Wildenhues.
48768
48769 2008-10-05  Bruno Haible  <bruno@clisp.org>
48770
48771         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48772         overriding them by ours.
48773         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48774
48775 2008-10-05  Jim Meyering  <meyering@redhat.com>
48776
48777         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48778         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48779         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48780
48781 2008-10-04  Bruno Haible  <bruno@clisp.org>
48782
48783         * modules/dup2 (License): Change to LGPLv2+.
48784         * modules/sleep (License): Likewise.
48785         * modules/perror (License): Likewise.
48786         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48787         Blake.
48788         * modules/signal (License): Likewise.
48789         * modules/sigprocmask (License): Likewise.
48790         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48791         Meyering.
48792
48793 2008-10-04  Bruno Haible  <bruno@clisp.org>
48794
48795         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48796         Reported by Rainer Tammer <tammer@tammer.net>.
48797
48798 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48799             Bruno Haible  <bruno@clisp.org>
48800
48801         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48802         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48803         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48804
48805 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48806
48807         filevercmp: new module
48808         * lib/filevercmp.h: New function filevercmp comparing version strings.
48809         * lib/filevercmp.c: Implementation of filevercmp function.
48810         * modules/filevercmp: Module metadata.
48811         * tests/test-filevercmp.c: Unit test for new module.
48812         * modules/filevercmp-tests: Unit test metadata.
48813         * MODULES.html.sh: Add filevercmp module.
48814
48815 2008-10-03  Bruno Haible  <bruno@clisp.org>
48816
48817         * lib/c-ctype.h: Add comment.
48818         Reported by Jim Meyering.
48819
48820 2008-10-02  Bruno Haible  <bruno@clisp.org>
48821
48822         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48823
48824 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48825
48826         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48827         name of bootstrap.conf accordingly.
48828
48829 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48830
48831         * build-aux/bootstrap: Install git-merge-changelog configuration
48832         items into .gitconfig if needed.
48833
48834 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48835
48836         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48837         git repository, and initialize/update it accordingly.
48838
48839 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48840
48841         * modules/fsync-tests: New file.
48842         * tests/test-fsync.c: New file.
48843
48844         New module 'fsync'.
48845         * lib/fsync.c: New file.
48846         * m4/fsync.m4: New file.
48847         * modules/fsync: New file.
48848         * lib/unistd.in.h (fsync): New declaration.
48849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48850         GNULIB_FSYNC and HAVE_FSYNC.
48851         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48852         * MODULES.html.sh (posix_functions): Add fsync.
48853         * doc/posix-functions/fsync.texi: Mention the new module.
48854
48855 2008-10-02  Jim Meyering  <meyering@redhat.com>
48856
48857         fts.c: sync with similar code from coreutils' remove.c
48858         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48859         Guard also with "#if defined __linux__", since for now at least,
48860         this code is Linux-kernel-specific.
48861
48862 2008-10-02  Jim Meyering  <meyering@redhat.com>
48863
48864         fts: bug fixes
48865         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48866         Include <sys/vfs.h>, not <sys/statfs.h>.
48867
48868         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48869         Include <sys/vfs.h>, not <sys/statfs.h>.
48870
48871 2008-10-01  Bruno Haible  <bruno@clisp.org>
48872
48873         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48875         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48876         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48877         * doc/posix-functions/posix_spawnp.texi: Likewise.
48878         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48879         whether posix_spawn actually works.
48880         * m4/pipe.m4 (gl_PIPE): Likewise.
48881         * modules/execute (Files): Add m4/posix_spawn.m4.
48882         * modules/pipe (Files): Add m4/posix_spawn.m4.
48883         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48884
48885 2008-10-01  Jim Meyering  <meyering@redhat.com>
48886
48887         remove trailing spaces
48888         * NEWS: Likewise.
48889         * lib/poll.c (poll): Likewise.
48890         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48891         * lib/winsock.c (rpl_close): Likewise.
48892         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48893         * modules/yield: Likewise.
48894         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48895         * tests/test-sys_select.c (connect_to_socket): Likewise.
48896
48897         fts.c: adjust a new interface to be more generally useful
48898         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48899         (fts_build): Adjust caller.
48900
48901 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48902
48903         * modules/cond-tests: New file.
48904         * tests/test-cond.c: New file.
48905
48906 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48907             Bruno Haible  <bruno@clisp.org>
48908
48909         * modules/cond (Dependencies): Add errno, time.
48910         * lib/glthread/cond.h: Include <time.h>.
48911         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48912         across platforms.
48913
48914 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48915             Bruno Haible  <bruno@clisp.org>
48916
48917         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48918
48919 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48920             Bruno Haible  <bruno@clisp.org>
48921
48922         * modules/tls-tests (Depends-on): Add thread, yield.
48923         (configure.ac): Remove all checks.
48924         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48925         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48926         gl_thread_self): Remove definitions. Include glthread/thread.h and
48927         glthread/yield.h instead.
48928         (test_tls): Pass an additional NULL argument to gl_thread_join.
48929
48930 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48931             Bruno Haible  <bruno@clisp.org>
48932
48933         * modules/lock-tests (Depends-on): Add thread, yield.
48934         (configure.ac): Remove all checks.
48935         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48936         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48937         gl_thread_self): Remove definitions. Include glthread/thread.h and
48938         glthread/yield.h instead.
48939         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48940         additional NULL argument to gl_thread_join.
48941
48942 2008-09-30  Bruno Haible  <bruno@clisp.org>
48943
48944         Fix the Win32 implementation of the 'thread' module.
48945         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48946         pointer type.
48947         (gl_thread_self): Invoke gl_thread_self_func.
48948         (gl_thread_self_func): New declaration.
48949         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48950         (do_init_self_key, init_self_key): New functions.
48951         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48952         Remove some fields.
48953         (running_threads, running_lock): Remove variables.
48954         (get_current_thread_handle): New function.
48955         (gl_thread_self_func, wrapper_func, glthread_create_func,
48956         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48957         simplified.
48958
48959 2008-09-30  Bruno Haible  <bruno@clisp.org>
48960
48961         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48962         files.
48963
48964 2008-09-30  Jim Meyering  <meyering@redhat.com>
48965
48966         fts.m4: correct the test for statfs.f_type
48967         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48968         when checking for statfs.f_type.
48969
48970 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48971
48972         tests: avoid some compiler warnings
48973         * tests/test-memchr.c (main): Pass NULL indirectly.
48974         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48975
48976 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48977
48978         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48979         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48980         exactly specified dayshifts.
48981         (dayshift): New rule.
48982         (rel): Add dayshift.
48983         (relative_time_table) [tomorrow, yesterday, today, now]:
48984         Use tDAY_SHIFT in place of tDAY_UNIT.
48985         * tests/test-getdate.c: Add tests for now-disallowed countable
48986         dayshifts, e.g., "4 yesterday ago".
48987
48988 2008-09-29  Bruno Haible  <bruno@clisp.org>
48989
48990         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48991         * tests/test-posix_spawn1.in.sh: Renamed from
48992         tests/test-posix_spawn.in.sh.
48993         * tests/test-posix_spawn2.c: New file.
48994         * tests/test-posix_spawn2.in.sh: New file.
48995         * modules/posix_spawnp-tests (Files): Update.
48996         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48997
48998 2008-09-29  Bruno Haible  <bruno@clisp.org>
48999
49000         Propagate effects of putenv/setenv/unsetenv to child processes.
49001         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49002         * lib/pipe.c (create_pipe): Likewise.
49003
49004 2008-09-29  Bruno Haible  <bruno@clisp.org>
49005
49006         Enable use of shell scripts as executables in mingw.
49007         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49008         run the program as a shell script.
49009         * lib/pipe.c (create_pipe): Likewise.
49010         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49011         resulting array.
49012
49013 2008-09-29  Eric Blake  <ebb9@byu.net>
49014
49015         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49016
49017 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49018
49019         * doc/posix-functions/accept.texi: Update mingw problems.
49020         * doc/posix-functions/bind.texi: Update mingw problems.
49021         * doc/posix-functions/close.texi: Update mingw problems.
49022         * doc/posix-functions/connect.texi: Update mingw problems.
49023         * doc/posix-functions/getpeername.texi: Update mingw problems.
49024         * doc/posix-functions/getsockname.texi: Update mingw problems.
49025         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49026         * doc/posix-functions/ioctl.texi: Update mingw problems.
49027         * doc/posix-functions/listen.texi: Update mingw problems.
49028         * doc/posix-functions/recv.texi: Update mingw problems.
49029         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49030         * doc/posix-functions/select.texi: Update mingw problems.
49031         * doc/posix-functions/send.texi: Update mingw problems.
49032         * doc/posix-functions/sendto.texi: Update mingw problems.
49033         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49034         * doc/posix-functions/socket.texi: Update mingw problems.
49035
49036 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49037             Bruno Haible  <bruno@clisp.org>
49038
49039         * lib/sys_select.in.h: Include sys/time.h.
49040         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49041         * modules/sys_select: Depend on sys_time.
49042         * tests/test-sys_select.c: Test that sys/select.h defines struct
49043         timeval fully.
49044
49045 2008-09-29  Bruno Haible  <bruno@clisp.org>
49046
49047         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49048         * lib/sys_select.in.h: Likewise.
49049
49050 2008-09-29  Bruno Haible  <bruno@clisp.org>
49051
49052         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49053
49054 2008-09-29  Bruno Haible  <bruno@clisp.org>
49055
49056         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49057         Set LIBSOCKET instead of augmenting LIBS.
49058         * modules/sockets (Link): New section.
49059         * modules/sockets-tests (test_sockets_LDADD): New variable.
49060         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49061         * modules/poll-tests (test_poll_LDADD): New variable.
49062         * NEWS: Document the change.
49063
49064 2008-09-29  Bruno Haible  <bruno@clisp.org>
49065
49066         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49067         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49068         ARPA_INET_H directly.
49069         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49070
49071 2008-09-28  Bruno Haible  <bruno@clisp.org>
49072
49073         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49074         from gl_HEADER_SYS_SOCKET.
49075         (gl_HEADER_SYS_SOCKET): Invoke it.
49076         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49077
49078 2008-09-28  Bruno Haible  <bruno@clisp.org>
49079
49080         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49081         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49082         Needed on OSF/1 4.0.
49083
49084 2008-09-28  Bruno Haible  <bruno@clisp.org>
49085
49086         Override open more carefully.
49087         * lib/open.c (orig_open): New function.
49088         (rpl_open): Use orig_open instead of open.
49089         * lib/fcntl.in.h: Add special invocation convention.
49090         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49091         (gl_FUNC_OPEN): Invoke it.
49092
49093         Override freopen more carefully.
49094         * lib/freopen.c (orig_freopen): New function.
49095         (rpl_freopen): Use orig_freopen instead of freopen.
49096         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49097         (gl_FUNC_FREOPEN): Invoke it.
49098
49099         Override fopen more carefully.
49100         * lib/fopen.c (orig_fopen): New function.
49101         (rpl_fopen): Use orig_fopen instead of fopen.
49102         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49103         (gl_FUNC_FOPEN): Invoke it.
49104         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49105
49106 2008-09-28  Bruno Haible  <bruno@clisp.org>
49107
49108         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49109         SIGPIPE.
49110
49111 2008-09-28  Bruno Haible  <bruno@clisp.org>
49112
49113         * tests/test-sigaction.c (handler, main): Disable the check whether
49114         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49115         glibc systems with LinuxThreads.
49116
49117 2008-09-28  Bruno Haible  <bruno@clisp.org>
49118
49119         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49120
49121         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49122         with AIX xlc.
49123         * lib/fcntl.in.h (open): Likewise.
49124         Reported by Rainer Tammer <tammer@tammer.net>.
49125
49126 2008-09-28  Bruno Haible  <bruno@clisp.org>
49127
49128         * modules/posix_spawnp-tests: New file.
49129         * tests/test-posix_spawn.c: New file.
49130         * tests/test-posix_spawn.in.sh: New file.
49131
49132         New module 'posix_spawnp'.
49133         * modules/posix_spawnp: New file.
49134         * lib/spawnp.c: New file, from GNU libc with modifications.
49135         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49136
49137         New module 'posix_spawn'.
49138         * modules/posix_spawn: New file.
49139         * lib/spawn.c: New file, from GNU libc with modifications.
49140         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49141
49142         New module 'posix_spawnattr_destroy'.
49143         * modules/posix_spawnattr_destroy: New file.
49144         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49145         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49146         module.
49147
49148         New module 'posix_spawnattr_setsigmask'.
49149         * modules/posix_spawnattr_setsigmask: New file.
49150         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49151         modifications.
49152         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49153         new module.
49154
49155         New module 'posix_spawnattr_getsigmask'.
49156         * modules/posix_spawnattr_getsigmask: New file.
49157         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49158         modifications.
49159         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49160         new module.
49161
49162         New module 'posix_spawnattr_setsigdefault'.
49163         * modules/posix_spawnattr_setsigdefault: New file.
49164         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49165         modifications.
49166         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49167         new module.
49168
49169         New module 'posix_spawnattr_getsigdefault'.
49170         * modules/posix_spawnattr_getsigdefault: New file.
49171         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49172         modifications.
49173         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49174         new module.
49175
49176         New module 'posix_spawnattr_setschedpolicy'.
49177         * modules/posix_spawnattr_setschedpolicy: New file.
49178         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49179         modifications.
49180         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49181         new module.
49182
49183         New module 'posix_spawnattr_getschedpolicy'.
49184         * modules/posix_spawnattr_getschedpolicy: New file.
49185         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49186         modifications.
49187         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49188         new module.
49189
49190         New module 'posix_spawnattr_setschedparam'.
49191         * modules/posix_spawnattr_setschedparam: New file.
49192         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
49193         modifications.
49194         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
49195         new module.
49196
49197         New module 'posix_spawnattr_getschedparam'.
49198         * modules/posix_spawnattr_getschedparam: New file.
49199         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
49200         modifications.
49201         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
49202         new module.
49203
49204         New module 'posix_spawnattr_setpgroup'.
49205         * modules/posix_spawnattr_setpgroup: New file.
49206         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
49207         modifications.
49208         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
49209         module.
49210
49211         New module 'posix_spawnattr_getpgroup'.
49212         * modules/posix_spawnattr_getpgroup: New file.
49213         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
49214         modifications.
49215         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
49216         module.
49217
49218         New module 'posix_spawnattr_setflags'.
49219         * modules/posix_spawnattr_setflags: New file.
49220         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
49221         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
49222         module.
49223
49224         New module 'posix_spawnattr_getflags'.
49225         * modules/posix_spawnattr_getflags: New file.
49226         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
49227         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
49228         module.
49229
49230         New module 'posix_spawnattr_init'.
49231         * modules/posix_spawnattr_init: New file.
49232         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
49233         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
49234         module.
49235
49236         New module 'posix_spawn_file_actions_destroy'.
49237         * modules/posix_spawn_file_actions_destroy: New file.
49238         * lib/spawn_faction_destroy.c: New file, from GNU libc with
49239         modifications.
49240         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
49241         the new module.
49242
49243         New module 'posix_spawn_file_actions_addopen'.
49244         * modules/posix_spawn_file_actions_addopen: New file.
49245         * lib/spawn_faction_addopen.c: New file, from GNU libc with
49246         modifications.
49247         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
49248         the new module.
49249
49250         New module 'posix_spawn_file_actions_adddup2'.
49251         * modules/posix_spawn_file_actions_adddup2: New file.
49252         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
49253         modifications.
49254         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
49255         the new module.
49256
49257         New module 'posix_spawn_file_actions_addclose'.
49258         * modules/posix_spawn_file_actions_addclose: New file.
49259         * lib/spawn_faction_addclose.c: New file, from GNU libc with
49260         modifications.
49261         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
49262         the new module.
49263
49264         New module 'posix_spawn_file_actions_init'.
49265         * modules/posix_spawn_file_actions_init: New file.
49266         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
49267         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
49268         new module.
49269
49270         New module 'posix_spawn-internal'.
49271         * modules/posix_spawn-internal: New file.
49272         * lib/spawn_int.h: New file, from GNU libc with modifications.
49273         * lib/spawni.c: New file, from GNU libc with modifications.
49274         * m4/posix_spawn.m4: New file.
49275
49276         New module 'spawn'.
49277         * modules/spawn: New file.
49278         * lib/spawn.in.h: New file, from GNU libc with modifications.
49279         * m4/spawn_h.m4: New file.
49280         * doc/posix-headers/spawn.texi: Mention the new module.
49281
49282 2008-09-28  Bruno Haible  <bruno@clisp.org>
49283
49284         * modules/sched-tests: New file.
49285         * tests/test-sched.c: New file.
49286
49287         New module 'sched'.
49288         * modules/sched: New file.
49289         * lib/sched.in.h: New file.
49290         * m4/sched_h.m4: New file.
49291         * doc/posix-headers/sched.texi: Mention the new module.
49292
49293 2008-09-27  Eric Blake  <ebb9@byu.net>
49294
49295         Fix previous patch, and tweak references to $0.
49296         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
49297         (func_version, func_gnulib_dir): Don't call this program
49298         gnulib-tool.
49299         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
49300         with using $0 in function.
49301         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
49302         (func_fatal_error): Reuse the name the user invoked us with.
49303
49304 2008-09-27  Bruno Haible  <bruno@clisp.org>
49305
49306         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
49307         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49308         (gl_ICONV_H): Not here.
49309         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49310         instead of assigning ICONV_H directly.
49311
49312         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49314         WCHAR_H directly.
49315
49316 2008-09-27  Bruno Haible  <bruno@clisp.org>
49317
49318         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49319         * modules/arpa_inet (Depends-on): Add link-warning.
49320         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49321         * modules/unistd (Makefile.am): Likewise.
49322
49323 2008-09-26  Bruno Haible  <bruno@clisp.org>
49324
49325         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49326         variables.
49327         (func_version): Essentially copied from gnulib-tool.
49328         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49329         func_readlink): Copied from gnulib-tool.
49330
49331 2008-09-26  Bruno Haible  <bruno@clisp.org>
49332
49333         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49334         invoking git-version-gen.
49335
49336 2008-09-26  Bruno Haible  <bruno@clisp.org>
49337
49338         * posix-modules: Update to directory names changed on 2008-01-19.
49339         Remove commas in output before splitting into words. No more need to
49340         avoid 'ftruncate' since 2007-02-19.
49341
49342 2008-09-26  Bruno Haible  <bruno@clisp.org>
49343
49344         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49345
49346 2008-09-26  Bruno Haible  <bruno@clisp.org>
49347
49348         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49349         * modules/fwriteerror (Depends-on): Add errno.
49350
49351 2008-09-26  Bruno Haible  <bruno@clisp.org>
49352
49353         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49354         * tests/test-vc-list-files-cvs.sh: Likewise.
49355
49356 2008-09-26  Bruno Haible  <bruno@clisp.org>
49357
49358         * doc/posix-headers/sys_resource.texi: Reorder items.
49359
49360 2008-09-26  Jim Meyering  <meyering@redhat.com>
49361
49362         fts: tweak inode comparison function
49363         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
49364         inode numbers, as documented.
49365
49366         fts: sort dirent entries on inode number before traversing
49367         This avoids a quadratic, seek-related performance penalty when
49368         operating on a directory containing many entries (measurable at 10k;
49369         3.5 hours at 2 million entries with a cold cache) on certain types
49370         of file systems, including ext3 and ext4, but not tmpfs.
49371         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
49372         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
49373         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
49374         (fs_handles_readdir_ordered_dirents_efficiently): New function.
49375         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
49376         (fts_build): Set the stat.st_ino member from D_INO.
49377         If it is likely to be useful, sort dirent entries on inode number.
49378
49379         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49380         and the struct statfs.f_type member.
49381         * modules/fts (Depends-on): Add d-ino.
49382
49383 2008-09-26  Bruno Haible  <bruno@clisp.org>
49384
49385         * modules/sigpipe-die (Depends-on): Add sigpipe.
49386
49387         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49388         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49389         and GNULIB_STDIO_H_SIGPIPE are set.
49390         * lib/stdio-write.c: New file.
49391         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49392         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49393         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49394         REPLACE_STDIO_WRITE_FUNCS.
49395         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49396         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49397         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49398         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49399         * modules/stdio (Files): Add lib/stdio-write.c.
49400         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49401         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49402         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49403         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49404         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49405         REPLACE_FPRINTF_POSIX.
49406         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49407         REPLACE_PRINTF_POSIX.
49408         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49409         REPLACE_VFPRINTF_POSIX.
49410         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49411         REPLACE_VPRINTF_POSIX.
49412         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
49413         SIGPIPE issue.
49414         * doc/posix-functions/fputc.texi: Likewise.
49415         * doc/posix-functions/fputs.texi: Likewise.
49416         * doc/posix-functions/fwrite.texi: Likewise.
49417         * doc/posix-functions/printf.texi: Likewise.
49418         * doc/posix-functions/putc.texi: Likewise.
49419         * doc/posix-functions/putchar.texi: Likewise.
49420         * doc/posix-functions/puts.texi: Likewise.
49421         * doc/posix-functions/vfprintf.texi: Likewise.
49422         * doc/posix-functions/vprintf.texi: Likewise.
49423
49424         * modules/safe-write (Depends-on): Add write.
49425
49426         * modules/sigpipe-tests: New file.
49427         * tests/test-sigpipe.c: New file.
49428         * tests/test-sigpipe.sh: New file.
49429
49430         * modules/write: New file.
49431         * lib/unistd.in.h: Include <sys/types.h>.
49432         (write): New declaration.
49433         * lib/write.c: New file.
49434         * m4/write.m4: New file.
49435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49436         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
49437         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
49438         GNULIB_WRITE, REPLACE_WRITE.
49439         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
49440         and the SIGPIPE issue.
49441
49442         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
49443         (raise): New declaration.
49444         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
49445         (ext_signal): New function.
49446         (rpl_raise): New function.
49447         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49448         GNULIB_SIGNAL_H_SIGPIPE.
49449         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
49450         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
49451
49452         * modules/sigpipe: New file.
49453         * m4/sigpipe.m4: New file.
49454
49455 2008-09-25  Derek Price  <derek@ximbiot.com>
49456             Bruno Haible  <bruno@clisp.org>
49457
49458         * gnulib-tool (func_import): Report all license incompatibilities, not
49459         just the first one.
49460
49461 2008-09-25  Bruno Haible  <bruno@clisp.org>
49462
49463         * gnulib-tool (func_import): When computing the edits, consider not
49464         only the Makefile.ams that exist but also those that will be generated.
49465
49466 2008-09-25  Simon Josefsson  <simon@josefsson.org>
49467
49468         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
49469         fixes gnulib-tool --test warning about duplicate dependency.
49470
49471 2008-09-25  Bruno Haible  <bruno@clisp.org>
49472
49473         * gnulib-tool: Don't ask the user to perform edits in the generated
49474         Makefile.ams.
49475         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
49476         apply to the Makefile.am being generated.
49477         (func_emit_tests_Makefile_am): Execute edits that apply to the
49478         Makefile.am being generated.
49479         (func_import): Setup list of Makefile.am edits before emitting the
49480         Makefile.ams, not at the end.
49481         (func_create_testdir): Update.
49482         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49483
49484 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49485
49486         * gnulib-tool (func_import): Store the --tests-base option in the
49487         comment in gnulib-cache.m4.
49488
49489 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49490
49491         * NEWS: Document increased portability that sys_select now provides.
49492
49493         * lib/sys_select.in.h: Install select wrapper.
49494         * lib/sys_socket.in.h: Use more descriptive name when there is no
49495         select wrapper.
49496         * lib/winsock-select.c: New.
49497         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49498         Require gl_HEADER_SYS_SOCKET.
49499         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49500         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49501         * tests/test-sys_select.c: Add functional tests.
49502
49503 2008-09-24  Eric Blake  <ebb9@byu.net>
49504
49505         open, fopen: close fd leak in last patch
49506         * lib/open.c (rpl_open): Close fd before returning error.
49507         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49508         * doc/posix-functions/open.texi (open): Document that Irix also
49509         has the bug.
49510         * doc/posix-functions/fopen.texi (fopen): Likewise.
49511         Reported by Paolo Bonzini.
49512
49513 2008-09-24  Bruno Haible  <bruno@clisp.org>
49514
49515         Ensure that a filename ending in a slash cannot be used to access a
49516         non-directory.
49517         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49518         to check whether it's really a directory.
49519         * lib/fopen.c: Include fcntl.h, unistd.h.
49520         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49521         and fdopen().
49522         * modules/fopen (Depends-on): Add unistd.
49523         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49524         * tests/test-fopen.c (main): Likewise.
49525         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49526         * doc/posix-functions/fopen.texi: Likewise.
49527         Reported by Eric Blake.
49528
49529 2008-09-23  Eric Blake  <ebb9@byu.net>
49530
49531         c-stack: avoid compiler optimizations when provoking overflow
49532         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49533         recursion harder to optimize, to ensure a stack overflow occurs.
49534         * tests/test-c-stack.c (recurse): Likewise.
49535         Borrowed from libsigsegv.
49536
49537         c-stack: work around Irix sigaltstack bug
49538         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49539         whether sigaltstack uses wrong end of stack_t (copied in part from
49540         libsigsegv).
49541         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49542         Irix bug, without requiring an over-allocation.
49543         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49544         bug.
49545
49546         fopen: document mingw bug on directories
49547         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49548         not allowing a stream visiting a directory, even though reading
49549         from such a stream is not portable.
49550
49551 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49552
49553         * lib/poll.c: Rewrite.
49554         * modules/poll: Depend on alloca.
49555
49556 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49557
49558         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49559         instead define prototypes for a full set of wrappers.  Ensure
49560         that Cygwin does not use the compatibility code, which is only
49561         for MinGW.
49562         * lib/winsock.c: New.
49563         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49564         * modules/sys_socket: Add lib/winsock.c.
49565
49566         * modules/poll-tests: Add errno and perror.
49567         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49568
49569 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49570
49571         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49572
49573 2008-09-23  Bruno Haible  <bruno@clisp.org>
49574
49575         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49576         * doc/glibc-functions/*: Likewise.
49577
49578 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49579
49580         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49581         success.
49582
49583 2008-09-22  Eric Blake  <ebb9@byu.net>
49584             Bruno Haible  <bruno@clisp.org>
49585
49586         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49587         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49588         supply %A but mishandle pseudo-NaN.
49589         Reported by Simon Josefsson.
49590
49591 2008-09-21  Bruno Haible  <bruno@clisp.org>
49592
49593         * tests/test-lock.c (main): Tweak skip message.
49594         * tests/test-tls.c (main): Likewise.
49595
49596 2008-09-21  Bruno Haible  <bruno@clisp.org>
49597
49598         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49599         whether 'struct sigaction' has sa_sigaction here...
49600         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49601         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49602
49603 2008-09-21  Bruno Haible  <bruno@clisp.org>
49604
49605         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49606         section.
49607         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49608         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49609         the new section.
49610         (Support for obsolete systems lacking POSIX:2001): New section.
49611         (String handling <string.h>): Move strdup to the new section.
49612         Suggested by Simon Josefsson and Paolo Bonzini.
49613
49614 2008-09-21  Bruno Haible  <bruno@clisp.org>
49615
49616         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49617         exponents in %e and %g results on 'long double'. Needed for mingw's
49618         improved *printf functions.
49619         * tests/test-vasprintf-posix.c (test_function): Likewise.
49620         * tests/test-snprintf-posix.h (test_function): Likewise.
49621         * tests/test-sprintf-posix.h (test_function): Likewise.
49622         Reported by Eric Blake.
49623
49624 2008-09-21  Bruno Haible  <bruno@clisp.org>
49625
49626         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49627         * tests/test-sprintf-posix.h (test_function): Likewise.
49628
49629 2008-09-21  Bruno Haible  <bruno@clisp.org>
49630
49631         * modules/getpass (Depends-on): Add strdup-posix.
49632
49633         New module 'strdup-posix'.
49634         * modules/strdup-posix: New file.
49635         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49636         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49637         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49638         REPLACE_STRDUP.
49639         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49640         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49641         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49642         strdup-posix.
49643
49644         * modules/strdup (Depends-on): Remove malloc-posix.
49645
49646 2008-09-20  Bruno Haible  <bruno@clisp.org>
49647
49648         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49649         Wildenhues.
49650
49651 2008-09-20  Bruno Haible  <bruno@clisp.org>
49652
49653         Ensure that wint_t gets defined on IRIX 5.3.
49654         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49655         * lib/wctype.in.h (wint_t): Likewise.
49656         (__wctype_wint_t): Remove type.
49657         (isw*): Use wint_t instead of __wctype_wint_t.
49658         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49659         * modules/wchar (Files): Add m4/wint_t.m4.
49660         (Makefile.am): Substitute HAVE_WINT_T.
49661         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49662         * tests/test-wctype.c: Check that wint_t is defined.
49663         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49664         * doc/posix-headers/wctype.texi: Likewise.
49665         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49666
49667 2008-09-18  Bruno Haible  <bruno@clisp.org>
49668
49669         * gnulib-tool (func_exit): Update comment.
49670
49671 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49672
49673         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49674         assumes strdup exists and does not depend on strdup to return
49675         ENOMEM on out of memory conditions.
49676
49677 2008-09-18  Bruno Haible  <bruno@clisp.org>
49678
49679         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49680         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49681         digits for the exponent.
49682
49683 2008-09-18  Jim Meyering  <meyering@redhat.com>
49684             Bruno Haible  <bruno@clisp.org>
49685
49686         * lib/vasnprintf.c (decimal_point_char): Define also if
49687         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49688
49689 2008-09-16  Bruno Haible  <bruno@clisp.org>
49690         and Eric Blake  <ebb9@byu.net>
49691
49692         vasnprintf: support Irix 5.3
49693         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49694         that mishandle long double infinity.
49695         Reported by Tom G. Christensen.
49696
49697 2008-09-16  Bruno Haible  <bruno@clisp.org>
49698
49699         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49700         Solaris 9.
49701         * doc/glibc-functions/alphasort.texi: Likewise.
49702         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49703
49704 2008-09-16  Jim Meyering  <meyering@redhat.com>
49705
49706         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49707         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49708         a umask modification leak out of a subshell.  Otherwise, the
49709         opensolaris /bin/sh would be accepted and thus cause unwarranted
49710         failures in the coreutils test suite.
49711
49712 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49713
49714         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49715         to succeed.
49716
49717 2008-09-16  Jim Meyering  <meyering@redhat.com>
49718
49719         avoid spurious test failure when library is built without ACL support
49720         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49721         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49722         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49723         * tests/test-copy-acl.sh: Likewise.
49724
49725 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49726
49727         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49728         based on character occurrence counts.
49729
49730 2008-09-15  Eric Blake  <ebb9@byu.net>
49731
49732         tests: avoid some compiler warnings
49733         * tests/test-memchr.c (main): Pass NULL indirectly.
49734         * tests/test-closein.c (main): Avoid unused variable.
49735
49736 2008-09-15  Bruno Haible  <bruno@clisp.org>
49737
49738         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49739         are missing on OpenBSD 4.0 individually.
49740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49741
49742 2008-09-15  Bruno Haible  <bruno@clisp.org>
49743
49744         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49745         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49746         * doc/posix-functions/perror.texi: Likewise.
49747         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49748         is missing.
49749         Reported by Eric Blake.
49750
49751         * lib/errno.in.h: Use replacement values >= 2000.
49752         Reported by Eric Blake.
49753
49754 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49755
49756         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49757         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49758         limit.
49759         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49760         compareseq was aborted.
49761
49762 2008-09-14  Bruno Haible  <bruno@clisp.org>
49763
49764         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49765         yvec_edit_count.
49766         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49767         (fstrcmp_bounded): Simplify result computation accordingly.
49768
49769 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49770
49771         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49772         (fstrcmp): Define in terms of fstrcmp_bounded.
49773         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49774         lower_bound argument.
49775         Return quickly if the result is certainly < lower_bound.
49776         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49777
49778 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49779
49780         * lib/diffseq.h (EARLY_ABORT): New macro.
49781         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49782         evaluates to true.
49783
49784 2008-09-14  Bruno Haible  <bruno@clisp.org>
49785
49786         * modules/perror-tests: New file.
49787         * tests/test-perror.sh: New file.
49788         * tests/test-perror.c: New file.
49789
49790         New module 'perror'.
49791         * lib/stdio.in.h (perror): New declaration.
49792         * lib/perror.c: New file.
49793         * m4/perror.m4: New file.
49794         * modules/perror: New file.
49795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49796         * doc/posix-functions/perror.texi: Mention the perror module.
49797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49798         REPLACE_PERROR.
49799         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49800         REPLACE_PERROR.
49801
49802 2008-09-14  Bruno Haible  <bruno@clisp.org>
49803
49804         * modules/stdio (Makefile.am): Reorder to match the order in
49805         lib/stdio.in.h.
49806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49807
49808 2008-09-13  Bruno Haible  <bruno@clisp.org>
49809
49810         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49811
49812 2008-09-13  Bruno Haible  <bruno@clisp.org>
49813
49814         Extend strerror to cover the added errno values.
49815         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49816         (rpl_strerror): Provide error messages for the added errno values and
49817         for the WSA* values.
49818         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49819         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49820         strerror.
49821         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49822         * modules/strerror (Depends-on): Add errno.
49823         * doc/posix-functions/strerror.texi: Document the change.
49824         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49825         and EOVERFLOW.
49826
49827 2008-09-13  Bruno Haible  <bruno@clisp.org>
49828
49829         * modules/EOVERFLOW: Remove file.
49830         * m4/eoverflow.m4: Remove file.
49831         * modules/EOVERFLOW-tests: Remove file.
49832         * tests/test-EOVERFLOW.c: Remove file.
49833         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49834         * modules/ftell (Depends-on): Likewise.
49835         * modules/getdelim (Depends-on): Likewise.
49836         * modules/getugroups (Depends-on): Likewise.
49837         * modules/poll (Depends-on): Likewise.
49838         * modules/snprintf (Depends-on): Likewise.
49839         * modules/sprintf-posix (Depends-on): Likewise.
49840         * modules/vasnprintf (Depends-on): Likewise.
49841         * modules/vasprintf (Depends-on): Likewise.
49842         * modules/vfprintf-posix (Depends-on): Likewise.
49843         * modules/vsnprintf (Depends-on): Likewise.
49844         * modules/vsprintf-posix (Depends-on): Likewise.
49845         * modules/xvasprintf (Depends-on): Likewise.
49846         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49847         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49848         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49849         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49850         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49851         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49852         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49853         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49854         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49855         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49856         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49857         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49858         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49859         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49860         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49861         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49862         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49863         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49864         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49865         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49866         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49867         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49868         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49869         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49870         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49871         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49872         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49873         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49874         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49875         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49876         * MODULES.html.sh: Remove EOVERFLOW.
49877         * NEWS: Mention the change.
49878
49879 2008-09-13  Bruno Haible  <bruno@clisp.org>
49880
49881         * modules/errno-tests: New file.
49882         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49883
49884         * lib/errno.in.h: New file.
49885         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49886         * modules/errno: New file.
49887         * doc/posix-headers/errno.texi: Update documentation.
49888         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49889
49890 2008-09-13  Bruno Haible  <bruno@clisp.org>
49891
49892         * tests/test-poll.c: Use #if for native Windows, rather than testing
49893         __MSVCRT__.
49894
49895 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49896             Bruno Haible  <bruno@clisp.org>
49897
49898         * lib/glob.c: Don't include <pwd.h> on native Windows.
49899         (WINDOWS32): New macro.
49900         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49901
49902 2008-09-13  Bruno Haible  <bruno@clisp.org>
49903
49904         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49905         (ETIMEDOUT): Remove macro.
49906         (glthread_cond_timedwait_multithreaded): New declaration.
49907         (glthread_cond_timedwait): Use it.
49908         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49909         (glthread_cond_timedwait_multithreaded): New function.
49910
49911 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49912
49913         * modules/poll-tests: Do not check for io.h.
49914         * tests/test-poll.c: Check for __MSVCRT__ instead.
49915
49916 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49917
49918         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49919         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49920         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49921
49922 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49923
49924         * modules/poll-tests: New.
49925         * tests/test-poll.c: New.
49926
49927 2008-09-12  Eric Blake  <ebb9@byu.net>
49928
49929         frexp: test for NetBSD failure on -0.0
49930         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49931         not all, bugs from NetBSD 3.0 have been fixed.
49932         * doc/posix-functions/frexp.texi (frexp): Document bug.
49933         Reported by Thomas Klausner.
49934
49935         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49936         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49937         literal -0.0.
49938         Reported by Jonathan C. Patschke <jp@centtech.com>.
49939
49940 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49941
49942         * lib/glthread/cond.h: Use dummy implementation also if
49943         USE_WIN32_THREADS.
49944
49945 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49946
49947         * modules/fnmatch-posix (License): Change to LGPLv2+.
49948         * modules/fnmatch-gnu (License): Likewise.
49949
49950 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49951
49952         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49953
49954 2008-09-11  Jim Meyering  <meyering@redhat.com>
49955
49956         * users.txt: Add gtk-vnc.
49957
49958 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49959
49960         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49961         rotate amounts.
49962
49963         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49964         required for 16-bit and 8-bit rotates.
49965         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49966         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49967         UINT8_MAX instead of hard-coded constants.
49968         Suggested by Paul Eggert.
49969
49970 2008-09-07  Bruno Haible  <bruno@clisp.org>
49971
49972         * tests/test-striconveh.c (main): Check behaviour when converting from
49973         UTF-7.
49974
49975         Make striconveh work better with stateful encodings.
49976         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49977         that iconv does not increment the inptr when returning -1/EINVAL.
49978
49979 2008-09-07  Bruno Haible  <bruno@clisp.org>
49980
49981         * build-aux/config.rpath: Update according to libtool-2.2.6.
49982         * build-aux/config.libpath: Likewise.
49983
49984 2008-09-06  Bruno Haible  <bruno@clisp.org>
49985
49986         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49987         * lib/freadptr.c (freadptr): Likewise.
49988         * lib/freadseek.c (freadptrinc): Likewise.
49989         Reported by Simon Josefsson.
49990
49991 2008-09-06  Bruno Haible  <bruno@clisp.org>
49992
49993         * modules/freadptr (License): Change to LGPLv2+.
49994         * modules/freadseek (License): Likewise.
49995         Suggested by Eric Blake.
49996
49997         * modules/memchr2 (License): Change to LGPLv2+.
49998         Approved by Eric Blake.
49999
50000 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50001             Bruno Haible  <bruno@clisp.org>
50002
50003         Make gnulib-tool work with native 'sed' on AIX.
50004         * gnulib-tool (sed_noop): New variable.
50005         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50006         func_add_or_update, func_create_testdir): Use it to initialize sed
50007         script variables.
50008         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50009
50010 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50011             Bruno Haible  <bruno@clisp.org>
50012
50013         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50014         also works after #include directives.
50015
50016 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50017
50018         getdate.y: reject an out-of-range timezone value
50019         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50020         the range [-24...+24].  When specified with only one or two digits,
50021         * tests/test-getdate.c: Tests for the fix.
50022         * doc/getdate.texi: Document this change.
50023
50024 2008-09-03  Bruno Haible  <bruno@clisp.org>
50025
50026         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50027
50028 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50029
50030         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50031         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50032         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50033         Blake <ebb9@byu.net>.
50034
50035         * tests/test-bitrotate.c: Add more test vectors.
50036
50037 2008-09-02  Eric Blake  <ebb9@byu.net>
50038
50039         vasnprintf-posix: handle large precision via %.*d
50040         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50041         when handling it ourselves.
50042         * tests/test-vasnprintf-posix.c (test_function): Add test.
50043         * tests/test-snprintf-posix.h (test_function): Likewise.
50044         * tests/test-sprintf-posix.h (test_function): Likewise.
50045         * tests/test-vasprintf-posix.c (test_function): Likewise.
50046         Reported by Alain Guibert.
50047
50048 2008-09-01  Eric Blake  <ebb9@byu.net>
50049
50050         c-stack: make configure-time check more robust
50051         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50052         successful sigaction call.
50053         Reported by Tom G. Christensen.
50054
50055 2008-09-01  Bruno Haible  <bruno@clisp.org>
50056
50057         New module 'findprog-lgpl'.
50058         * modules/findprog-lgpl: New file.
50059         * lib/findprog-lgpl.c: New file.
50060         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50061         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50062         to decide whether to use strdup or xstrdup, concatenated_filename or
50063         xconcatenated_filename.
50064
50065 2008-09-01  Bruno Haible  <bruno@clisp.org>
50066
50067         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50068         'xconcat-filename' (GPL).
50069         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50070         (License): Change to LGPLv2+.
50071         * modules/xconcat-filename: New file.
50072         * lib/concat-filename.h (concatenated_filename): Change specification.
50073         (xconcatenated_filename): New declaration.
50074         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50075         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50076         memory situations.
50077         * lib/xconcat-filename.c: New file.
50078         * NEWS: Mention the change.
50079         * lib/findprog.c: Include concat-filename.h, not filename.h.
50080         (find_in_path): Use xconcatenated_filename instead of
50081         concatenated_filename.
50082         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50083         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50084         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50085         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50086         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50087         instead of concatenated_filename.
50088         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50089         (execute_java_class): Use xconcatenated_filename instead of
50090         concatenated_filename.
50091         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50092         * modules/javacomp (Depends-on): Likewise.
50093         * modules/javaexec (Depends-on): Likewise.
50094
50095 2008-09-01  Bruno Haible  <bruno@clisp.org>
50096
50097         Split module 'filename' into 'filename' and 'concat-filename'.
50098         * modules/filename: Keep only lib/filename.h.
50099         (License): Change to LGPLv2+.
50100         * modules/concat-filename: New file, extracted from modules/filename.
50101         * lib/filename.h (concatenated_filename): Remove declaration.
50102         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50103         * lib/concat-filename.c: Include concat-filename.h.
50104         * NEWS: Mention the change.
50105
50106 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50107
50108         * lib/bitrotate.h (rotl8, rotr8): Add.
50109
50110         * modules/bitrotate (configure.ac): Need
50111         AC_REQUIRE([AC_C_INLINE]).
50112         (Description): Mention stdint.h.  Reported by Bruno Haible
50113         <bruno@clisp.org>.
50114
50115         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50116         Paolo Bonzini <bonzini@gnu.org>.
50117
50118 2008-08-31  Bruno Haible  <bruno@clisp.org>
50119
50120         Assume Solaris specific bi-arch conventions on Solaris systems.
50121         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50122         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50123         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50124         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50125         like acl_libdirstem.
50126         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50127         acl_libdirstem.
50128         * NEWS: Mention the change.
50129         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50130
50131 2008-08-31  Jim Meyering  <meyering@redhat.com>
50132
50133         * lib/strftime.h: Add comments describing the two added arguments.
50134
50135         remove duplicate #include directives
50136         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50137         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50138
50139 2008-08-31  Bruno Haible  <bruno@clisp.org>
50140
50141         New module 'sigpipe-die'.
50142         * modules/sigpipe-die: New file.
50143         * lib/sigpipe-die.h: New file.
50144         * lib/sigpipe-die.c: New file.
50145         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50146
50147 2008-08-31  Bruno Haible  <bruno@clisp.org>
50148
50149         Don't override previously installed signal handlers.
50150         * lib/fatal-signal.c (saved_sigactions): New variable.
50151         (uninstall_handlers): Reset the signal to the saved handler, not
50152         to SIG_DFL (except when ignored).
50153         (install_handlers): Save the previous handlers.
50154
50155 2008-08-30  Bruno Haible  <bruno@clisp.org>
50156
50157         * gnulib-tool (func_reset_sigpipe): New function.
50158         (func_get_automake_snippet, func_modules_transitive_closure,
50159         func_import): Invoke it before a join command that reads from stdin,
50160         to avoid "echo: write error: Broken pipe" error messages on stderr.
50161         Reported by Sam Steingold <sds@gnu.org>.
50162
50163 2008-08-30  Bruno Haible  <bruno@clisp.org>
50164
50165         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50166         Code copied from m4/open.m4.
50167         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50168         access and the filename ends in a slash. Code copied from lib/open.c.
50169         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50170         * tests/test-fopen.c (main): Check against bug with trailing slash.
50171
50172 2008-08-29  Bruno Haible  <bruno@clisp.org>
50173
50174         Avoid some "gcc -pedantic" warnings.
50175         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50176         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50177         * lib/dirent.in.h: Likewise.
50178         * lib/fcntl.in.h: Likewise.
50179         * lib/float.in.h: Likewise.
50180         * lib/iconv.in.h: Likewise.
50181         * lib/inttypes.in.h: Likewise.
50182         * lib/locale.in.h: Likewise.
50183         * lib/math.in.h: Likewise.
50184         * lib/netinet_in.in.h: Likewise.
50185         * lib/search.in.h: Likewise.
50186         * lib/signal.in.h: Likewise.
50187         * lib/stdarg.in.h: Likewise.
50188         * lib/stdint.in.h: Likewise.
50189         * lib/stdio.in.h: Likewise.
50190         * lib/stdlib.in.h: Likewise.
50191         * lib/string.in.h: Likewise.
50192         * lib/strings.in.h: Likewise.
50193         * lib/sys_select.in.h: Likewise.
50194         * lib/sys_socket.in.h: Likewise.
50195         * lib/sys_stat.in.h: Likewise.
50196         * lib/sys_time.in.h: Likewise.
50197         * lib/sysexits.in.h: Likewise.
50198         * lib/time.in.h: Likewise.
50199         * lib/unistd.in.h: Likewise.
50200         * lib/wchar.in.h: Likewise.
50201         * lib/wctype.in.h: Likewise.
50202         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
50203         * modules/fchdir (Makefile.am): Likewise.
50204         * modules/fcntl (Makefile.am): Likewise.
50205         * modules/float (Makefile.am): Likewise.
50206         * modules/iconv_open (Makefile.am): Likewise.
50207         * modules/inttypes (Makefile.am): Likewise.
50208         * modules/locale (Makefile.am): Likewise.
50209         * modules/math (Makefile.am): Likewise.
50210         * modules/netinet_in (Makefile.am): Likewise.
50211         * modules/search (Makefile.am): Likewise.
50212         * modules/signal (Makefile.am): Likewise.
50213         * modules/stdarg (Makefile.am): Likewise.
50214         * modules/stdint (Makefile.am): Likewise.
50215         * modules/stdio (Makefile.am): Likewise.
50216         * modules/stdlib (Makefile.am): Likewise.
50217         * modules/string (Makefile.am): Likewise.
50218         * modules/strings (Makefile.am): Likewise.
50219         * modules/sys_select (Makefile.am): Likewise.
50220         * modules/sys_socket (Makefile.am): Likewise.
50221         * modules/sys_stat (Makefile.am): Likewise.
50222         * modules/sys_time (Makefile.am): Likewise.
50223         * modules/sysexits (Makefile.am): Likewise.
50224         * modules/time (Makefile.am): Likewise.
50225         * modules/unistd (Makefile.am): Likewise.
50226         * modules/wchar (Makefile.am): Likewise.
50227         * modules/wctype (Makefile.am): Likewise.
50228         Reported by Reuben Thomas <rrt@sc3d.org>.
50229
50230 2008-08-29  Bruno Haible  <bruno@clisp.org>
50231
50232         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
50233         any more.
50234
50235 2008-08-29  Simon Josefsson  <simon@josefsson.org>
50236
50237         * MODULES.html.sh (Misc): Add bitrotate.
50238
50239         * modules/bitrotate: New file.
50240
50241         * lib/bitrotate.h: New file.
50242
50243         * modules/bitrotate-tests: New file.
50244
50245         * tests/test-bitrotate.c: New file.
50246
50247         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
50248         on the bitrotate module.
50249
50250         * lib/arctwo.c: Use new bitrotate module.
50251
50252 2008-08-29  Jim Meyering  <meyering@redhat.com>
50253
50254         bootstrap: merge changes from coreutils
50255         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
50256         of copied files.  Remove a kludge, now that this is fixed.
50257         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
50258         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
50259         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
50260
50261 2008-08-29  Bruno Haible  <bruno@clisp.org>
50262
50263         * MODULES.html.sh: Remove --cvs-urls option.
50264
50265 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
50266
50267         maint.mk: adjust to file name change
50268         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
50269
50270 2008-08-28  Jim Meyering  <meyering@redhat.com>
50271
50272         * modules/getndelim2 (License): Relicense to LGPLv2+.
50273         Approved by Richard Stallman for the version of 1995, and by
50274         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
50275
50276 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
50277
50278         * lib/getdelim.c (flockfile, funlockfile): Make all of them
50279         dummy if one is not available.  Do not touch them if
50280         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
50281         (getc_maybe_unlocked): New.
50282         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
50283
50284 2008-08-26  Eric Blake  <ebb9@byu.net>
50285
50286         doc/INSTALL: resync from autoconf
50287         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
50288         (INSTALL_PRELUDE): Delete; this is done more efficiently by
50289         moving...
50290         * install.texi [!autoconf]: ...here.  Resync from autoconf.
50291         * INSTALL: Regenerate.
50292         * INSTALL.ISO: New file.
50293         * INSTALL.UTF-8: Likewise.
50294
50295 2008-08-26  Jim Meyering  <meyering@redhat.com>
50296
50297         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
50298         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
50299         these definitions conditional, so that they may be overridden, too.
50300
50301 2008-08-26  Bruno Haible  <bruno@clisp.org>
50302
50303         Generate INSTALL file variants with prettier quotes.
50304         * doc/Makefile (INSTALL_PRELUDE): New macro.
50305         (INSTALL): Use it.
50306         (INSTALL.ISO, INSTALL.UTF-8): New rules.
50307
50308 2008-08-26  Bruno Haible  <bruno@clisp.org>
50309
50310         Run makeinfo in an English locale.
50311         * doc/Makefile (MAKEINFO): New variable.
50312
50313 2008-08-26  Bruno Haible  <bruno@clisp.org>
50314
50315         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50316         Suggested by Eric Blake.
50317
50318 2008-08-25  Bruno Haible  <bruno@clisp.org>
50319
50320         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50321
50322 2008-08-25  Eric Blake  <ebb9@byu.net>
50323
50324         c-stack: test that stack overflow can be caught
50325         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50326         that platform allows handling stack overflow; at least OS/2 EMX
50327         has sigaltstack, but crashes before transferring control to
50328         handler on stack overflow.
50329         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50330         check for HAVE_STACK_OVERFLOW_HANDLING.
50331         Reported by Elbert Pol.
50332
50333 2008-08-25  Bruno Haible  <bruno@clisp.org>
50334
50335         * doc/posix-functions/strftime.texi: Fix description of strftime
50336         module.
50337
50338 2008-08-24  Bruno Haible  <bruno@clisp.org>
50339
50340         * tests/uniwidth/test-uc_width2.c: New file.
50341         * tests/uniwidth/test-uc_width2.sh: New file.
50342         * modules/uniwidth/width-tests (Files): Add the new files.
50343         (TESTS): Add uniwidth/test-uc_width2.sh.
50344         (TESTS_ENVIRONMENT): New variable.
50345         (check_PROGRAMS): Add test-uc_width2.
50346         (test_uc_width2_SOURCES): New variable.
50347
50348         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50349         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50350         not 0x00AB.
50351         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50352
50353 2008-08-22  Eric Blake  <ebb9@byu.net>
50354
50355         test-lock, test-tls: mention why a test is skipped
50356         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50357         skipped.
50358         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
50359
50360         count-one-bits: relax license
50361         * modules/count-one-bits (License): Relicense to LGPLv2+.
50362         Suggested by Ludovic Courtès, approved by Ben Pfaff.
50363
50364 2008-08-22  Andreas Schwab  <schwab@suse.de>
50365
50366         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50367         Remove spurious space in assignment.
50368
50369 2008-08-21  Simon Josefsson  <simon@josefsson.org>
50370
50371         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
50372         Paul Eggert <eggert@CS.UCLA.EDU>.
50373
50374 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
50375
50376         * modules/gettext: Add m4/threadlib.m4.
50377
50378 2008-08-19  Eric Blake  <ebb9@byu.net>
50379
50380         test-c-stack: fix compilation failure on FreeBSD 5.0
50381         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50382         headers before <sys/resource.h>.
50383         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50384         the bug.
50385         Reported by Nelson H. F. Beebe.
50386
50387         strverscmp: migrate from "strverscmp.h" to <string.h>
50388         * modules/string (Makefile.am): Add new hooks.
50389         * modules/strverscmp (Files): Remove strverscmp.h.
50390         (Depends-on): Add string.
50391         (configure.ac): Add indicator.
50392         (Include): Mention new header.
50393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50394         defaults.
50395         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50396         results.
50397         * lib/strverscmp.h: Delete.
50398         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50399         * tests/test-strverscmp.c (includes): Adjust client.
50400         * lib/check-version.c (includes): Likewise.
50401         * NEWS: Document the change.
50402
50403         strverscmp: add unit test
50404         * modules/strverscmp-tests: New file.
50405         * tests/test-strverscmp.c: Likewise.
50406
50407 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50408
50409         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50410         regarding Windows crypto stuff, from Mono.
50411
50412 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
50413
50414         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
50415         if present, for intel RND.  Return error on failures.
50416
50417 2008-08-18  Ben Pfaff  <blp@gnu.org>
50418
50419         gitlog-to-changelog: give better diagnostic for failed pipe-open
50420         * build-aux/gitlog-to-changelog: Improve error message: suggest
50421         that the version of Git may be too old.
50422
50423 2008-08-18  Simon Josefsson  <simon@josefsson.org>
50424
50425         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
50426         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
50427
50428 2008-08-18  Bruno Haible  <bruno@clisp.org>
50429
50430         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
50431         pthread_in_use().
50432
50433 2008-08-18  Bruno Haible  <bruno@clisp.org>
50434
50435         * lib/glthread/threadlib.c: Include <pthread.h>.
50436
50437 2008-08-18  Bruno Haible  <bruno@clisp.org>
50438
50439         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
50440         glthread_recursive_lock_* macros.
50441         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
50442         Fix syntax error.
50443
50444 2008-08-18  Bruno Haible  <bruno@clisp.org>
50445
50446         * lib/glthread/thread.c: Avoid forcing a context switch right after
50447         thread creation.
50448
50449 2008-08-17  Bruno Haible  <bruno@clisp.org>
50450
50451         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
50452         * lib/glthread/thread.h: Provide Win32 specific implementation.
50453         * modules/thread (Files): Add lib/glthread/thread.c.
50454         (Depends-on): Add lock.
50455         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
50456
50457 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50458
50459         New module 'yield'.
50460         * modules/yield: New file.
50461         * lib/glthread/yield.h: New file.
50462         * m4/yield.m4: New file.
50463         * MODULES.html.sh (Multithreading): Add yield.
50464
50465 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50466
50467         New module 'thread'.
50468         * modules/thread: New file.
50469         * lib/glthread/thread.h: New file.
50470         * m4/thread.m4: New file.
50471         * MODULES.html.sh (Multithreading): Add thread.
50472
50473 2008-08-17  Bruno Haible  <bruno@clisp.org>
50474
50475         * lib/glthread/lock.h: Include <stdlib.h> always.
50476         * lib/glthread/tls.h: Likewise.
50477         * lib/glthread/cond.h: Likewise.
50478
50479 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50480
50481         New module 'cond'.
50482         * modules/cond: New file.
50483         * lib/glthread/cond.h: New file.
50484         * lib/glthread/cond.c: New file.
50485         * m4/cond.m4: New file.
50486         * MODULES.html.sh (Multithreading): Add cond.
50487
50488 2008-08-16  Eric Blake  <ebb9@byu.net>
50489
50490         c-stack: fix regression on Irix 5.3 from 2008-06-21
50491         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50492         sa_sigaction...
50493         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50494         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50495         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50496         * modules/signal (Makefile.am): Use the value.
50497         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50498         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50499         * doc/posix-headers/signal.texi (signal.h): Document this
50500         portability issue.
50501         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50502         Reported by Tom G. Christensen.
50503
50504 2008-08-17  Bruno Haible  <bruno@clisp.org>
50505
50506         New module 'threadlib'.
50507         * modules/threadlib: New file.
50508         * lib/glthread/threadlib.c: New file, extracted from
50509         lib/glthread/lock.c.
50510         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50511         functions.
50512         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50513         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50514         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50515         macros.
50516         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50517         (gl_DISABLE_THREADS): Remove macro.
50518         * modules/lock (Files): Remove build-aux/config.rpath.
50519         (Depends-on): Remove havelib. Add threadlib.
50520         (configure.ac-early): Remove section.
50521         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50522         * modules/tls (Depends-on): Remove lock. Add threadlib.
50523         (Link): New section, copied from threadlib.
50524         * MODULES.html.sh (Multithreading): Add threadlib.
50525
50526 2008-08-14  Bruno Haible  <bruno@clisp.org>
50527
50528         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50529         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50530         glthread_rwlock_unlock, glthread_rwlock_destroy,
50531         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50532         glthread_recursive_lock_destroy): Define as macros always.
50533         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50534         glthread_lock_lock.
50535         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50536         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50537         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50538         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50539         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50540         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50541         (glthread_recursive_lock_lock_func): Renamed from
50542         glthread_recursive_lock_lock.
50543         (glthread_recursive_lock_unlock_func): Renamed from
50544         glthread_recursive_lock_unlock.
50545         (glthread_recursive_lock_destroy_func): Renamed from
50546         glthread_recursive_lock_destroy.
50547
50548 2008-08-14  Bruno Haible  <bruno@clisp.org>
50549
50550         * lib/glthread/lock.h: Renamed from lib/lock.h.
50551         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50552         * lib/glthread/tls.h: Renamed from lib/tls.h.
50553         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50554         * lib/fstrcmp.c: Update includes.
50555         * lib/strsignal.c: Update includes.
50556         * modules/lock (Files, Makefile.am): Update.
50557         (Include): Change to "glthread/lock.h".
50558         * modules/tls (Files, Makefile.am): Update.
50559         (Include): Change to "glthread/tls.h".
50560         * tests/test-lock.c: Update includes.
50561         * tests/test-tls.c: Update includes.
50562         * NEWS: Mention the renamed header files.
50563
50564 2008-08-11  Jim Meyering  <meyering@redhat.com>
50565
50566         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50567
50568 2008-08-11  Eric Blake  <ebb9@byu.net>
50569
50570         test-c-stack: avoid C99-ism
50571         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50572         before statement.
50573         Reported by Alain Guibert.
50574
50575 2008-08-10  Jim Meyering  <meyering@redhat.com>
50576
50577         ensure that return value of uinttostr et al are not ignored
50578         * lib/inttostr.h (__GNUC_PREREQ): Define.
50579         (__attribute_warn_unused_result__): Define.
50580         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50581
50582 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50583
50584         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50585         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50586
50587 2008-08-07  Jim Meyering  <meyering@redhat.com>
50588
50589         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50590
50591         * modules/mkstemp (License): Relicense under LGPLv2+.
50592         * modules/tempname (License): Likewise.
50593
50594 2008-08-06  Bruno Haible  <bruno@clisp.org>
50595
50596         * lib/poll.c (poll): Further micro-optimization.
50597
50598 2008-08-06  Jim Meyering  <meyering@redhat.com>
50599
50600         inet_pton.c: use locale-independent tolower
50601         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50602         (inet_pton6): Use c_tolower rather than tolower.
50603         * modules/inet_pton (Depends-on): Add c-ctype.
50604
50605 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50606
50607         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50608         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50609
50610 2008-08-06  Jim Meyering  <meyering@redhat.com>
50611
50612         * modules/inet_pton (License): Relicense under LGPLv2+.
50613
50614 2008-08-03  Bruno Haible  <bruno@clisp.org>
50615
50616         Additional non-aborting API for lock and tls.
50617         * lib/lock.h: Include <errno.h>.
50618         (glthread_lock_init): New macro/function.
50619         (gl_lock_init): Define as wrapper around glthread_lock_init.
50620         (glthread_lock_lock): New macro/function.
50621         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50622         (glthread_lock_unlock): New macro/function.
50623         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50624         (glthread_lock_destroy): New macro/function.
50625         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50626         (glthread_rwlock_init): New macro/function.
50627         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50628         (glthread_rwlock_rdlock): New macro/function.
50629         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50630         (glthread_rwlock_wrlock): New macro/function.
50631         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50632         (glthread_rwlock_unlock): New macro/function.
50633         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50634         (glthread_rwlock_destroy): New macro/function.
50635         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50636         (glthread_recursive_lock_init): New macro/function.
50637         (gl_recursive_lock_init): Define as wrapper around
50638         glthread_recursive_lock_init.
50639         (glthread_recursive_lock_lock): New macro/function.
50640         (gl_recursive_lock_lock): Define as wrapper around
50641         glthread_recursive_lock_lock.
50642         (glthread_recursive_lock_unlock): New macro/function.
50643         (gl_recursive_lock_unlock): Define as wrapper around
50644         glthread_recursive_lock_unlock.
50645         (glthread_recursive_lock_destroy): New macro/function.
50646         (gl_recursive_lock_destroy): Define as wrapper around
50647         glthread_recursive_lock_destroy.
50648         (glthread_once): New macro/function.
50649         (gl_once): Define as wrapper around glthread_once.
50650         Update function declarations.
50651         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50652         glthread_rwlock_init. Return error code.
50653         (glthread_rwlock_rdlock_multithreaded): Renamed from
50654         glthread_rwlock_rdlock. Return error code.
50655         (glthread_rwlock_wrlock_multithreaded): Renamed from
50656         glthread_rwlock_wrlock. Return error code.
50657         (glthread_rwlock_unlock_multithreaded): Renamed from
50658         glthread_rwlock_unlock. Return error code.
50659         (glthread_rwlock_destroy_multithreaded): Renamed from
50660         glthread_rwlock_destroy. Return error code.
50661         (glthread_recursive_lock_init_multithreaded): Renamed from
50662         glthread_recursive_lock_init. Return error code.
50663         (glthread_recursive_lock_lock_multithreaded): Renamed from
50664         glthread_recursive_lock_lock. Return error code.
50665         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50666         glthread_recursive_lock_unlock. Return error code.
50667         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50668         glthread_recursive_lock_destroy. Return error code.
50669         (glthread_once_call): Make static.
50670         (glthread_once_multithreaded): Renamed from glthread_once.
50671         * lib/tls.h: Include <errno.h>.
50672         (glthread_tls_key_init): New macro/function.
50673         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50674         (glthread_tls_set): New macro/function.
50675         (gl_tls_set): Define as wrapper around glthread_tls_set.
50676         (glthread_tls_key_destroy): New macro/function.
50677         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50678         Update function declarations.
50679         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50680         glthread_tls_get.
50681         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50682
50683 2008-08-04  Eric Blake  <ebb9@byu.net>
50684
50685         gnumakefile: use space, not TAB, outside of targets
50686         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50687
50688 2008-08-02  Jim Meyering  <meyering@redhat.com>
50689
50690         getdate.y: avoid locale-dependent date parsing failure
50691         In Turkish locales, getdate would fail to recognize keywords
50692         containing a lowercase "i".  The solution is not to rely on
50693         locale-sensitive case-conversion.
50694         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50695         (lookup_word): Use c_toupper in place of toupper.
50696         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50697         Reported by Vefa Bicakci <bicave@superonline.com> in
50698         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50699         * modules/getdate (Depends-on): Add c-ctype.
50700
50701 2008-08-02  Bruno Haible  <bruno@clisp.org>
50702
50703         * gnulib-tool (func_import): When updating or creating a .gitignore
50704         file, prepend each added line with a slash, and ignore leading slashes
50705         from the existing lines.
50706         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50707
50708 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50709
50710         Portability fix for GNU make 3.79.1.
50711         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50712         versions do not understand.
50713
50714 2008-08-01  Bruno Haible  <bruno@clisp.org>
50715
50716         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50717         * tests/test-isnanf.h (zero): New variable.
50718         (main): Avoid literal -0.0f.
50719         * tests/test-isnand.h (zero): New variable.
50720         (main): Avoid literal -0.0.
50721         * tests/test-isnanl.h (zero): New variable.
50722         (main): Avoid literal -0.0L.
50723         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50724         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50725         -0.0, -0.0L.
50726         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50727         (test_signbitd): Avoid literal -0.0.
50728         (test_signbitl): Avoid literal -0.0L.
50729         * tests/test-ceilf1.c (zero): New variable.
50730         (main): Avoid literal -0.0f.
50731         * tests/test-ceill.c (zero): New variable.
50732         (main): Avoid literal -0.0L.
50733         * tests/test-floorf1.c (zero): New variable.
50734         (main): Avoid literal -0.0f.
50735         * tests/test-floorl.c (zero): New variable.
50736         (main): Avoid literal -0.0L.
50737         * tests/test-roundf1.c (zero): New variable.
50738         (main): Avoid literal -0.0f.
50739         * tests/test-round1.c (zero): New variable.
50740         (main): Avoid literal -0.0.
50741         * tests/test-roundl.c (zero): New variable.
50742         (main): Avoid literal -0.0L.
50743         * tests/test-truncf1.c (zero): New variable.
50744         (main): Avoid literal -0.0f.
50745         * tests/test-trunc1.c (zero): New variable.
50746         (main): Avoid literal -0.0.
50747         * tests/test-truncl.c (zero): New variable.
50748         (main): Avoid literal -0.0L.
50749         * tests/test-frexp.c (zero): New variable.
50750         (main): Avoid literal -0.0.
50751         * tests/test-frexpl.c (zero): New variable.
50752         (main): Avoid literal -0.0L.
50753         * tests/test-ldexpl.c (zero): New variable.
50754         (main): Avoid literal -0.0L.
50755         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50756         (zerod, zerol): New variables.
50757         (test_function): Avoid literals -0.0, -0.0L.
50758         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50759         (zerod, zerol): New variables.
50760         (test_function): Avoid literals -0.0, -0.0L.
50761         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50762         (zerod, zerol): New variables.
50763         (test_function): Avoid literals -0.0, -0.0L.
50764         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50765         (zerod, zerol): New variables.
50766         (test_function): Avoid literals -0.0, -0.0L.
50767         * tests/test-strtod.c (zero): New variable.
50768         (main): Avoid literal -0.0.
50769         Reported by Jonathan C. Patschke <jp@centtech.com>.
50770
50771 2008-07-31  Jim Meyering  <meyering@redhat.com>
50772
50773         sha256.h: correct definition of SHA224_DIGEST_SIZE
50774         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50775         Reported by Paulie Pena IV <paulie4@gmail.com>.
50776         Define as 224 / 8, rather than as a literal.
50777         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50778         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50779         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50780
50781 2008-07-31  Bruno Haible  <bruno@clisp.org>
50782
50783         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50784         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50785         Reported by Jonathan Patschke <jp@centtech.com>.
50786
50787 2008-07-31  Bruno Haible  <bruno@clisp.org>
50788
50789         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50790         Reported by Paolo Bonzini <bonzini@gnu.org>.
50791
50792 2008-07-30  Eric Blake  <ebb9@byu.net>
50793
50794         test-strtod: allow compilation without -lm
50795         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50796         Reported by Dennis Clarke <blastwave@gmail.com>.
50797
50798 2008-07-28  Jim Meyering  <meyering@redhat.com>
50799
50800         bootstrap: work also when there are no .po files in po/
50801         * build-aux/bootstrap (update_po_files): Complete the change
50802         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50803
50804 2008-07-27  Jim Meyering  <meyering@redhat.com>
50805
50806         * users.txt: Add zile.
50807
50808 2008-07-26  Ben Pfaff  <blp@gnu.org>
50809
50810         Add missing dependencies on new m4/exponent[fdl].m4 files.
50811         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50812         * modules/isnand-nolibm: Add m4/exponentd.m4.
50813         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50814         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50815         m4/isnan[fdl].m4, because the macros actually used moved.
50816         Reported by Jim Meyering.
50817
50818 2008-07-14  Ben Pfaff  <blp@gnu.org>
50819
50820         Add isinf module.
50821         * lib/isinf.c: New file.
50822         * lib/math.in.h: Define isinf macro if we have decided to replace
50823         it.
50824         * m4/isinf.m4: New file.
50825         * m4/math_h.m4: Initialize and substitute variables for isinf
50826         module.
50827         * modules/isinf: New file.
50828         * modules/isinf-tests: New file.
50829         * modules/math: Add substitutions for new module.
50830         * tests/test-isinf.c: New file.
50831         * doc/posix-functions/isinf.texi: Mention new module.
50832         * MODULES.html.sh: Mention new module.
50833
50834 2008-07-14  Ben Pfaff  <blp@gnu.org>
50835
50836         Factor out some macros for use by additional modules.
50837         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50838         exponentf.m4.
50839         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50840         exponentd.m4.
50841         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50842         file exponentl.m4.
50843         * m4/exponentf.m4: New file.
50844         * m4/exponentd.m4: New file.
50845         * m4/exponentl.m4: New file.
50846         * modules/isnanf: Use new file m4/exponentf.m4.
50847         * modules/isnand: Use new file m4/exponentd.m4.
50848         * modules/isnanl: Use new file m4/exponentl.m4.
50849
50850 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50851
50852         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50853         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50854         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50855         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50856
50857         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50858         readlink on platforms without PATH_MAX.
50859
50860 2008-07-21  Eric Blake  <ebb9@byu.net>
50861
50862         Warn, not fail, on stale version.
50863         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50864
50865         Don't allow installation with stale devel version number.
50866         * top/GNUmakefile (_is-install-target): New macro.
50867         (_curr-ver): Forbid installation with stale version number.
50868
50869 2008-07-20  Bruno Haible  <bruno@clisp.org>
50870
50871         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50872         TESTS_ENVIRONMENT.
50873         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50874
50875 2008-07-20  Bruno Haible  <bruno@clisp.org>
50876
50877         * lib/c-stack.h (c_stack_action): Add documentation.
50878         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50879
50880 2008-07-20  Bruno Haible  <bruno@clisp.org>
50881
50882         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50883         * modules/readlink (License): Likewise.
50884
50885 2008-07-17  Eric Blake  <ebb9@byu.net>
50886
50887         * modules/c-stack (Link): Fix typo.
50888
50889         Make c-stack use libsigsegv, when available.
50890         * modules/c-stack (Depends-on): Add libsigsegv.
50891         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50892         needed.
50893         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50894         (segv_handler, overflow_handler, c_stack_action)
50895         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50896         implementation when libsigsegv is available, but only when using
50897         the library is necessary.
50898         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50899         comment, explaining why XSI check fails on Linux.
50900         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50901         * tests/test-c-stack2.sh: Tweak skip message.
50902         * NEWS: Document new link-time requirements.
50903
50904 2008-07-16  Eric Blake  <ebb9@byu.net>
50905
50906         c-stack: Expose false positives when not using libsigsegv.
50907         * modules/c-stack-tests (Files): Expand test.
50908         * tests/test-c-stack.c (main): Add means to conditionally trigger
50909         non-overflow SIGSEGV.
50910         * tests/test-c-stack2.sh: New file.
50911
50912 2008-07-14  Bruno Haible  <bruno@clisp.org>
50913
50914         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50915         Reported by Eric Blake.
50916
50917 2008-07-14  Sam Steingold  <sds@gnu.org>
50918             Bruno Haible  <bruno@clisp.org>
50919
50920         New module libsigsegv.
50921         * modules/libsigsegv: New file.
50922         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50923         modifications.
50924         * MODULES.html.sh (Signal handling): New section.
50925
50926 2008-07-14  Bruno Haible  <bruno@clisp.org>
50927
50928         * modules/unictype/ctype-* (Description): Add the word "function".
50929         Improves the resulting doc in MODULES.html.
50930
50931 2008-07-12  Ben Pfaff  <blp@gnu.org>
50932
50933         Add longlong module.
50934         * modules/longlong: New file.
50935
50936 2008-07-12  Bruno Haible  <bruno@clisp.org>
50937
50938         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50939         to empty.
50940
50941 2008-07-10  Ben Pfaff  <blp@gnu.org>
50942
50943         Add isnan module.
50944         * doc/posix-functions/isnan.texi: Mention new module.
50945         * lib/math.in.h: Define isnan macro if we have decided to replace
50946         it.
50947         * m4/isnan.m4: New file.
50948         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50949         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50950         also.
50951         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50952         redundancy.
50953         * m4/math_h.m4: Initialize and substitute variables for isnan
50954         module.
50955         * modules/isnan: New file.
50956         * modules/isnan-tests: New file.
50957         * modules/math: Add substitutions for new module.
50958         * tests/test-isnan.c: New file.
50959         * MODULES.html.sh: Mention new module.
50960
50961 2008-07-10  Ben Pfaff  <blp@gnu.org>
50962
50963         Add isnanf module.
50964         * lib/isnanf.m4: New file.
50965         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50966         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50967         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50968         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50969         * modules/isnanf: New file.
50970         * modules/isnanf-tests: New file.
50971         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50972         files.
50973         * tests/test-isnanf-nolibm.c: factored most of its contents into
50974         new file tests/test-isnanf.h.
50975         * tests/test-isnanf.h: New file.
50976         * tests/test-isnanf.c: New file.
50977         * MODULES.html.sh: Mention new module.
50978         * doc/glibc-functions/isnanf.texi: Mention new module.
50979
50980 2008-07-10  Ben Pfaff  <blp@gnu.org>
50981
50982         Add isnand module.
50983         * lib/isnand.h: New file.
50984         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50985         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50986         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50987         functionality also.
50988         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50989         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50990         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50991         * modules/isnand: New file.
50992         * modules/isnand-tests: New file.
50993         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50994         files.
50995         * tests/test-isnand-nolibm.c: factored most of its contents into
50996         new file tests/test-isnand.h.
50997         * tests/test-isnand.h: New file.
50998         * tests/test-isnand.c: New file.
50999         * MODULES.html.sh: Mention new module.
51000
51001 2008-07-10  Ben Pfaff  <blp@gnu.org>
51002
51003         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51004         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51005         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51006         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51007         * modules/isnanf-nolibm: Update references to renamed files.
51008         * modules/isnand-nolibm: Likewise.
51009         * modules/isnanf-nolibm-tests: Likewise.
51010         * modules/isnand-nolibm-tests: Likewise.
51011         * lib/frexp.c: Likewise.
51012         * lib/isfinite.c: Likewise.
51013         * lib/signbitd.c: Likewise.
51014         * lib/signbitf.c: Likewise.
51015         * lib/vasnprintf.c: Likewise.
51016         * tests/test-ceilf1.c: Likewise.
51017         * tests/test-ceilf2.c: Likewise.
51018         * tests/test-floorf1.c: Likewise.
51019         * tests/test-floorf2.c: Likewise.
51020         * tests/test-frexp.c: Likewise.
51021         * tests/test-round1.c: Likewise.
51022         * tests/test-round2.c: Likewise.
51023         * tests/test-roundf1.c: Likewise.
51024         * tests/test-strtod.c: Likewise.
51025         * tests/test-trunc1.c: Likewise.
51026         * tests/test-trunc2.c: Likewise.
51027         * tests/test-truncf1.c: Likewise.
51028         * tests/test-truncf2.c: Likewise.
51029         * NEWS: Mention the renamed header files.
51030
51031 2008-07-11  Jim Meyering  <meyering@redhat.com>
51032
51033         vc-list-files: make the last-resort awk code more portable
51034         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51035         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51036         does not support it.
51037
51038 2008-07-10  Eric Blake  <ebb9@byu.net>
51039
51040         Work with tar's bootstrap.
51041         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51042         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51043         an m4 comment.
51044
51045 2008-07-09  Jim Meyering  <meyering@redhat.com>
51046
51047         posix-shell.m4: fix typo that made this test malfunction
51048         * m4/posix-shell.m4: Remove capitalization in variable name.
51049
51050 2008-07-08  Bruno Haible  <bruno@clisp.org>
51051
51052         * m4/onceonly.m4: Update comments.
51053         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51054
51055 2008-07-04  Jim Meyering  <meyering@redhat.com>
51056
51057         * users.txt: Add vc-dwim.
51058         (bison, coreutils): Use the gitweb URL.
51059
51060 2008-07-03  Jim Meyering  <meyering@redhat.com>
51061
51062         * users.txt: Add libffcall.  From Sam Steingold.
51063
51064 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51065
51066         getdate.y: do not ignore TZ with relative day, month or year offset
51067         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51068         relative-date-handling, since otherwise, the latter would clobber the
51069         sole output (an updated Start value) of the tz-handling block.
51070         * tests/test-getdate.c: Tests for the fix
51071
51072 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51073
51074         Recognize 'foo_LIBRARIES += libgnu.a'.
51075         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51076         makefile snippet has already specified an installation location,
51077         also using '+='.
51078
51079 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51080
51081         getdate.y: factor out common actions
51082         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51083         Use them in place of open-coded actions.
51084
51085 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51086
51087         Add self-test for getdate module.
51088         * modules/getdate-tests: New file.
51089         * tests/test-getdate.c: New file.
51090
51091 2008-06-29  Bruno Haible  <bruno@clisp.org>
51092
51093         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51094         .gitignore.
51095         Reported by Sylvain Beucler <beuc@beuc.net>.
51096
51097 2008-06-29  Bruno Haible  <bruno@clisp.org>
51098
51099         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51100         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51101
51102 2008-06-29  Bruno Haible  <bruno@clisp.org>
51103
51104         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51105         EXTRA_DIST.
51106         Reported by Sylvain Beucler <beuc@beuc.net>.
51107
51108 2008-06-26  Jim Meyering  <meyering@redhat.com>
51109
51110         make several modules depend on the "open" module
51111         This provides slightly increased consistency when opening-for-write
51112         the name of a non-directory spelled with a trailing slash.
51113         * modules/chdir-safer: Likewise.
51114         * modules/chown: Likewise.
51115         * modules/clean-temp: Likewise.
51116         * modules/copy-file: Likewise.
51117         * modules/fchdir: Likewise.
51118         * modules/fcntl-safer: Likewise.
51119         * modules/pipe: Likewise.
51120         * modules/utime: Likewise.
51121         Prompted by Eric Blake and Bruno Haible.
51122
51123 2008-06-24  Andreas Schwab  <schwab@suse.de>
51124
51125         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51126         literals can be used as initializers for global variables.
51127
51128 2008-06-23  Eric Blake  <ebb9@byu.net>
51129
51130         Make gnulib-cache.m4 easier to diff.
51131         * gnulib-tool (func_import): Allow newlines when reading cached
51132         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51133
51134 2008-06-23  Bruno Haible  <bruno@clisp.org>
51135
51136         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51137         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51138         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51139         m4/signalblocking.m4.
51140         (gl_PREREQ_SIGACTION): Don't invoke it.
51141         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51142         gl_PREREQ_SIG_HANDLER_H.
51143         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51144         Don't check for sigaction here.
51145
51146 2008-06-23  Bruno Haible  <bruno@clisp.org>
51147
51148         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51149         (install_handlers): Don't set the SA_RESETHAND flag.
51150
51151 2008-06-23  Bruno Haible  <bruno@clisp.org>
51152
51153         * m4/sigaction.m4: Comment fixes.
51154         * lib/signal.in.h: Likewise.
51155
51156 2008-06-23  Eric Blake  <ebb9@byu.net>
51157
51158         Fix typo.
51159         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51160
51161         Avoid SA_ namespace.
51162         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51163         Reported by Ralf Wildenhues.
51164
51165         Avoid test failure due to SA_RESTORER.
51166         * tests/test-sigaction.c (SA_MASK): New macro.
51167         (main): Avoid failing due to extension flags being set.
51168         Reported by Jim Meyering.
51169
51170         Revert use of sig-handler.h in sigprocmask.c.
51171         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51172         it requires the existence of struct sigaction.
51173         * lib/sigprocmask.c (handler_t): Restore typedef.
51174         (rpl_signal, old_handlers): Use local type.
51175
51176 2008-06-22  Bruno Haible  <bruno@clisp.org>
51177
51178         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51179         conditionally.
51180         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51181
51182 2008-06-22  Bruno Haible  <bruno@clisp.org>
51183
51184         * doc/posix-functions/siginterrupt.texi: Move note.
51185
51186         * lib/signal.in.h (SA_RESTART): New macro.
51187         * lib/sigaction.c: Update comment.
51188
51189         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
51190
51191         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
51192         (gl_PREREQ_SIGPROCMASK): Invoke it.
51193         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
51194
51195         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
51196
51197         * lib/sigprocmask.c: Update a comment.
51198
51199 2008-06-21  Eric Blake  <ebb9@byu.net>
51200
51201         Use sigaction module rather than signal().
51202         * modules/c-stack (Depends-on): Add sigaction.
51203         * modules/fatal-signal (Depends-on): Likewise.
51204         * modules/nanosleep (Depends-on): Likewise.
51205         * modules/sigprocmask (Files): Add sig-handler.h.
51206         * modules/sigaction (Files): Likewise.
51207         * lib/sig-handler.h (get_handler): New file, suggested by Paul
51208         Eggert.
51209         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
51210         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
51211         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
51212         (init_fatal_signals): Likewise.
51213         * lib/nanosleep.c (rpl_nanosleep): Likewise.
51214         (siginterrupt): Delete fallback.
51215         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
51216         instead.
51217         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
51218         siginterrupt.
51219
51220         New module sigaction, for mingw.
51221         * modules/sigaction: New module...
51222         * modules/sigaction-tests: ...and its test.
51223         * m4/sigaction.m4: New file.
51224         * lib/sigaction.c: Likewise.
51225         * tests/test-sigaction.c: Likewise.
51226         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
51227         * modules/signal (Makefile.am): Likewise.
51228         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
51229         needed.
51230         * doc/posix-headers/signal.texi (signal.h): Mention provided
51231         types.
51232         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
51233         that sigaction is preferable.
51234         * doc/posix-functions/sigaction.texi (sigaction): Mention new
51235         module.
51236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51237         sigaction.
51238
51239         Improve robustness of sigprocmask by overriding signal.
51240         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
51241         is in use.
51242         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
51243         (SIGKILL, SIGSTOP): Provide fallbacks.
51244         (rpl_signal): Implement.
51245         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
51246         signal can be called inside handlers.
51247
51248         Fix nanosleep module on mingw.
51249         * modules/nanosleep (Depends-on): Add sys_select.
51250         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
51251
51252         Fix licensing of sigprocmask.
51253         * modules/raise (License): Relicense as LGPL.
51254
51255 2008-06-21  Bruno Haible  <bruno@clisp.org>
51256
51257         * lib/propername.c (proper_name_utf8): Don't use the transliterated
51258         result if it contains question marks.
51259         Reported by Michael Geng <linux@michaelgeng.de>.
51260
51261 2008-06-19  Bruno Haible  <bruno@clisp.org>
51262
51263         Fix CVS-ism.
51264         * doc/gnulib.texi: Include updated-stamp.texi.
51265         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
51266         (updated-stamp.texi): New rule.
51267         (gnulib.info): Depend on it.
51268         * doc/.gitignore: Add updated-stamp.texi.
51269         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
51270
51271 2008-06-19  Bruno Haible  <bruno@clisp.org>
51272
51273         * doc/Makefile (gnulib.info): Update and simplify dependencies.
51274         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51275
51276 2008-06-19  Eric Blake  <ebb9@byu.net>
51277
51278         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
51279         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
51280         Reported by Stepan Kasal.
51281
51282 2008-06-18  Bruno Haible  <bruno@clisp.org>
51283
51284         * lib/fatal-signal.c (init_fatal_signals): Add comment.
51285         Reported by Eric Blake.
51286
51287 2008-06-18  Eric Blake  <ebb9@byu.net>
51288
51289         Work around cygwin 1.5.25 strsignal bug.
51290         * tests/test-strsignal.c: Allow for const char *.
51291         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
51292
51293 2008-06-18  Simon Josefsson  <simon@josefsson.org>
51294
51295         * users.txt: Update URL to article and add author/date
51296         information.
51297
51298 2008-06-17  Bruno Haible  <bruno@clisp.org>
51299
51300         New macro gl_DISABLE_THREADS.
51301         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
51302         if the user did not pass --enable-threads or --disable-threads option.
51303         (gl_DISABLE_THREADS): New macro.
51304         Reported by Eric Blake <ebb9@byu.net>.
51305
51306 2008-06-17  Bruno Haible  <bruno@clisp.org>
51307
51308         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51309         when the macro ignores it.
51310         Based on a patch by Eric Blake <ebb9@byu.net>.
51311
51312 2008-06-17  Bruno Haible  <bruno@clisp.org>
51313
51314         * modules/tls (License): Change to LGPLv2+.
51315         Reported by Eric Blake.
51316
51317 2008-06-17  Eric Blake  <ebb9@byu.net>
51318
51319         Simplify c-stack prerequisites.
51320         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51321         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51322         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51323         check.
51324         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51325         <sys/resource.h>.
51326
51327         Move c-stack test into testsuite.
51328         * modules/c-stack-tests: New file.
51329         * lib/c-stack.c [DEBUG]: Move test program...
51330         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51331         fail test if sigaltstack is lacking.
51332         * tests/test-c-stack.sh: New driver file.
51333
51334 2008-06-16  Eric Blake  <ebb9@byu.net>
51335
51336         Use raise module consistently.
51337         * modules/fatal-signal (Depends-on): Add raise.
51338         * modules/sigprocmask (Depends-on): Likewise.
51339         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51340         * lib/sigprocmask.c (sigprocmask): Likewise.
51341         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51342         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51343
51344         Fix compliance bug in sigpending.
51345         * lib/sigprocmask.c (sigpending): Return pending array via
51346         parameter, not return value.
51347
51348 2008-06-14  Eric Blake  <ebb9@byu.net>
51349
51350         Improve obstack-printf test code.
51351         * tests/test-obstack-printf.c (test_function): Fix comment, and
51352         simplify usage of obstack_* in macros.  Add a test for coverage.
51353         Reported by Bruno Haible.
51354
51355 2008-06-14  Bruno Haible  <bruno@clisp.org>
51356
51357         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
51358         array size as a constant, not as a const variable.
51359         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
51360         AC_USE_SYSTEM_EXTENSIONS.
51361         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51362         Test whether the obstack_printf function actually exists.
51363         * modules/obstack-printf (Depends-on): Add extensions.
51364         (Include): Remove obstack.h.
51365         * modules/obstack-printf-posix (Depends-on): Add extensions.
51366         (Include): Remove obstack.h.
51367
51368 2008-06-13  Eric Blake  <ebb9@byu.net>
51369
51370         Add obstack-printf and obstack-printf-posix modules.
51371         * modules/obstack-printf: New file.
51372         * modules/obstack-printf-posix: Likewise.
51373         * MODULES.html.sh (Misc): Mention them.
51374         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51375         Likewise.
51376         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51377         Likewise.
51378         * modules/stdio (Makefile.am): Accomodate new modules.
51379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51380         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51381         Declare.
51382         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51383         functions.
51384         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51385         (gl_REPLACE_OBSTACK_PRINTF): New macros
51386         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51387         * tests/test-obstack-printf.c: New file.
51388         * modules/obstack-printf-tests: Likewise.
51389         * modules/obstack-printf-posix-tests: Likewise.
51390
51391 2008-06-11  Bruno Haible  <bruno@clisp.org>
51392
51393         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51394         * lib/open.c: Include errno.h.
51395         (open): Fail when attempting to write to a file that has a trailing
51396         slash.
51397         * tests/test-open.c (main): Test against trailing slash bug.
51398         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51399
51400 2008-06-10  Bruno Haible  <bruno@clisp.org>
51401
51402         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51403         for $? to work inside the trap command, with various /bin/sh-s.
51404         * tests/test-vc-list-files-cvs.sh: Likewise.
51405
51406 2008-06-10  Bruno Haible  <bruno@clisp.org>
51407
51408         * lib/acl-internal.h: Don't include gettext.h here.
51409         * lib/set-mode-acl.c: Include gettext.h here.
51410         * lib/copy-acl.c: Likewise.
51411
51412 2008-06-10  Bruno Haible  <bruno@clisp.org>
51413
51414         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
51415         * lib/wait-process.c (wait_subprocess): Likewise.
51416         * lib/execute.h (execute): Add termsigp argument.
51417         * lib/execute.c (execute): Likewise.
51418         * lib/csharpcomp.c (compile_csharp_using_pnet,
51419         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
51420         * lib/csharpexec.c (execute_csharp_using_pnet,
51421         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
51422         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
51423         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
51424         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
51425         is_jikes_present): Update.
51426         * lib/javaexec.c (execute_java_class): Update.
51427         * lib/javaversion.c (execute_and_read_line): Update.
51428         * NEWS: Document the changes.
51429         Reported by Eric Blake.
51430
51431 2008-06-10  Eric Blake  <ebb9@byu.net>
51432
51433         Add missing include.
51434         * tests/test-strstr.c (includes): Add <signal.h>.
51435         * tests/test-strcasestr.c (includes): Likewise.
51436         * tests/test-memmem.c (includes): Likewise.
51437
51438 2008-06-10  Bruno Haible  <bruno@clisp.org>
51439
51440         * lib/wait-process.c (wait_subprocess): Add an assertion.
51441
51442 2008-06-10  Bruno Haible  <bruno@clisp.org>
51443
51444         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
51445
51446 2008-06-10  Bruno Haible  <bruno@clisp.org>
51447
51448         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
51449         using alarm().
51450         * tests/test-strcasestr.c (main): Likewise.
51451         * tests/test-strstr.c (main): Likewise.
51452
51453 2008-06-09  Bruno Haible  <bruno@clisp.org>
51454
51455         Work around the Solaris 10 ACE ACLs ABI change.
51456         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
51457         declare if ACL_NO_TRIVIAL is present.
51458         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
51459         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
51460         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
51461         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
51462         define if ACL_NO_TRIVIAL is present.
51463         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
51464         and use the current ABI.
51465         (file_has_acl): Use same #if condition as elsewhere.
51466         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
51467         in use, and use the current ABI.
51468         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
51469         Reported by Jim Meyering.
51470
51471 2008-06-09  Eric Blake  <ebb9@byu.net>
51472
51473         Work around environments that (stupidly) ignore SIGALRM.
51474         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
51475         before using alarm().
51476         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51477         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51478         Reported by Ian Beckwith <ianb@erislabs.net>.
51479
51480         Produce autobuild blurb earlier in log.
51481         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51482
51483 2008-06-09  Jim Meyering  <meyering@redhat.com>
51484         and OndÅ™ej Vašík  <ovasik@redhat.com>
51485
51486         utimens.c: correct kernel bug work-around
51487         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51488         failure, not success, and the kernel bug we're trying to work
51489         around affects not just the utimensat call, but also the fallback
51490         futimens call.
51491         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51492         not success.
51493         [HAVE_FUTIMENS]: Use the same work-around, here.
51494
51495 2008-06-09  Jim Meyering  <meyering@redhat.com>
51496
51497         add more guards around definition of ACE_-related code
51498         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51499         ALLOW and ACE_OWNER are also defined.
51500
51501 2008-06-08  Bruno Haible  <bruno@clisp.org>
51502
51503         * lib/acl-internal.h: Add me as co-author.
51504         * lib/file-has-acl.c: Likewise.
51505         * lib/set-mode-acl.c: Likewise.
51506         * lib/copy-acl.c: Likewise.
51507
51508 2008-06-08  Bruno Haible  <bruno@clisp.org>
51509
51510         Add support for AIX ACLs.
51511         * lib/acl-internal.h (acl_nontrivial): New declaration.
51512         * lib/file-has-acl.c (acl_nontrivial): New function.
51513         (file_has_acl): Add implementation using AIX 4 ACL API.
51514         * lib/set-mode-acl.c (qset_acl): Likewise.
51515         * lib/copy-acl.c (qcopy_acl): Likewise.
51516
51517 2008-06-08  Bruno Haible  <bruno@clisp.org>
51518
51519         Add support for HP-UX ACLs.
51520         * lib/acl-internal.h (acl_nontrivial): New declaration.
51521         * lib/file-has-acl.c (acl_nontrivial): New function.
51522         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51523         * lib/set-mode-acl.c (qset_acl): Likewise.
51524         * lib/copy-acl.c (qcopy_acl): Likewise.
51525
51526 2008-06-08  Bruno Haible  <bruno@clisp.org>
51527
51528         Add support for Cygwin ACLs.
51529         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51530         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51531         the chmod_or_fchmod call.
51532         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51533
51534 2008-06-08  Bruno Haible  <bruno@clisp.org>
51535
51536         Fix bug with setuid modes in Solaris 10+ code.
51537         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51538         succeeded, when the mode contains some special bits.
51539
51540 2008-06-08  Bruno Haible  <bruno@clisp.org>
51541
51542         Add support for Solaris 7..10 ACLs.
51543         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51544         declarations.
51545         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51546         functions.
51547         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51548         * lib/set-mode-acl.c (qset_acl): Likewise.
51549         * lib/copy-acl.c (qcopy_acl): Likewise.
51550
51551 2008-06-08  Bruno Haible  <bruno@clisp.org>
51552
51553         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51554         declaration.
51555         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51556         (acl_access_nontrivial): Remove MacOS X case.
51557         (file_has_acl): Use acl_extended_nontrivial.
51558         * lib/copy-acl.c (qcopy_acl): Likewise.
51559
51560 2008-06-08  Bruno Haible  <bruno@clisp.org>
51561
51562         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51563
51564 2008-06-08  Jim Meyering  <meyering@redhat.com>
51565
51566         * modules/acl (Maintainer): Add Bruno Haible.
51567
51568 2008-06-07  Bruno Haible  <bruno@clisp.org>
51569
51570         Improve support for Tru64 ACLs.
51571         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51572         ACL on OSF/1.
51573
51574 2008-06-07  Bruno Haible  <bruno@clisp.org>
51575
51576         Add support for MacOS X ACLs.
51577         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51578         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51579         * lib/set-mode-acl.c (qset_acl): Likewise.
51580         * lib/copy-acl.c (qcopy_acl): Likewise.
51581
51582 2008-06-07  Bruno Haible  <bruno@clisp.org>
51583
51584         Fix memory leak introduced on 2008-05-22.
51585         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51586         use.
51587
51588 2008-06-07  Bruno Haible  <bruno@clisp.org>
51589
51590         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51591         to construct an empty ACL.
51592
51593 2008-06-07  Bruno Haible  <bruno@clisp.org>
51594
51595         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51596         precisely.
51597         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51598
51599 2008-06-07  Bruno Haible  <bruno@clisp.org>
51600
51601         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51602         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51603
51604 2008-06-07  Bruno Haible  <bruno@clisp.org>
51605
51606         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51607         regardless of POSIX.
51608         * doc/posix-functions/_longjmp.texi: Likewise.
51609         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51610         SystemV platform in this case.
51611
51612 2008-06-06  Eric Blake  <ebb9@byu.net>
51613
51614         Document abort() bugs.
51615         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51616
51617         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51618         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51619         sigsetjmp.
51620         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51621         siglongjmp, but only as a macro.
51622         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51623         is obsolete.
51624         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51625
51626         Tweak documentation to cover cygwin argz bugs.
51627         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51628         argz bug fix; no code change needed since no cygwin releases
51629         occurred between the last fix and the bug being tested.
51630         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51631         module and recently fixed cygwin bugs.
51632         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51633         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51634         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51635         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51636         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51637         Likewise.
51638         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51639         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51640         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51641         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51642         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51643         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51644         Likewise.
51645
51646         Avoid gcc warning on cygwin.
51647         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51648         !ACL_NO_TRIVIAL]: Avoid unused variable.
51649
51650 2008-06-05  Eric Blake  <ebb9@byu.net>
51651
51652         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51653         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51654         git-version-gen fails to come up with a version.
51655         Reported by Simon Josefsson.
51656
51657 2008-06-05  Jim Meyering  <meyering@redhat.com>
51658             Paul Eggert  <eggert@cs.ucla.edu>
51659
51660         utimens.c: work around a probable Linux kernel bug
51661         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51662         appears to be a kernel bug that causes utimensat to return 280
51663         instead of 0, indicating success.
51664
51665 2008-06-04  Bruno Haible  <bruno@clisp.org>
51666
51667         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51668         2008-06-01 commit.
51669
51670 2008-06-04  Bruno Haible  <bruno@clisp.org>
51671
51672         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51673         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51674         (file_has_acl): Use it. Save errno afterwards.
51675         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51676
51677 2008-06-03  Bruno Haible  <bruno@clisp.org>
51678
51679         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51680         draft code. Simplify #ifs.
51681         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51682         Put Solaris code after POSIX-draft code. Fix comments regarding
51683         Solaris 10, HP-UX. Mention Cygwin.
51684         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51685
51686 2008-06-03  Eric Blake  <ebb9@byu.net>
51687
51688         Provide fallback for older kernels.
51689         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51690         Provide runtime fallback if kernel lacks support.
51691         Reported by Mike Frysinger.
51692
51693 2008-06-02  Bruno Haible  <bruno@clisp.org>
51694
51695         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51696         it exists.
51697
51698 2008-06-02  Bruno Haible  <bruno@clisp.org>
51699
51700         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51701         * lib/copy-acl.c (qcopy_acl): Update comment.
51702
51703 2008-06-02  Bruno Haible  <bruno@clisp.org>
51704
51705         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51706         like ACL APIs.
51707
51708 2008-06-02  Bruno Haible  <bruno@clisp.org>
51709
51710         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51711         * tests/test-set-mode-acl.sh: Likewise.
51712         * tests/test-copy-acl.sh: Likewise.
51713         * tests/test-copy-file.sh: Likewise.
51714
51715 2008-06-02  Bruno Haible  <bruno@clisp.org>
51716
51717         * tests/test-file-has-acl.sh: Remove unused code.
51718
51719 2008-06-01  Bruno Haible  <bruno@clisp.org>
51720
51721         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51722         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51723         messages.
51724         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51725
51726 2008-06-01  Bruno Haible  <bruno@clisp.org>
51727
51728         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51729         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51730         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51731         APIs.
51732         * modules/acl-tests (configure.ac): Remove tests now contained in
51733         m4/acl.m4.
51734
51735 2008-06-02  Jim Meyering  <meyering@redhat.com>
51736
51737         announce-gen: use a better key-server host name
51738         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51739         it may be more consistently reliable.  Suggested by Werner Koch
51740         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51741
51742 2008-06-01  Bruno Haible  <bruno@clisp.org>
51743
51744         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51745         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51746
51747 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51748
51749         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51750
51751 2008-06-01  Bruno Haible  <bruno@clisp.org>
51752
51753         New ACL tests.
51754         * tests/test-file-has-acl.sh: New file.
51755         * tests/test-file-has-acl.c: New file.
51756         * tests/test-set-mode-acl.sh: New file.
51757         * tests/test-set-mode-acl.c: New file.
51758         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51759         * tests/test-copy-acl.c: New file.
51760         * modules/acl-tests: New file, based on modules/copy-file-tests.
51761         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51762         (Depends-on): Add acl-tests.
51763         (configure.ac): Remove checks.
51764         (Makefile.am): Don't create test-sameacls program here any more.
51765
51766 2008-06-01  Bruno Haible  <bruno@clisp.org>
51767
51768         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51769         * tests/test-sameacls.c: Include progname.h.
51770         (main): Invoke set_program_name. Portability fixes for MacOS X,
51771         Solaris, HP-UX.
51772
51773 2008-06-01  Bruno Haible  <bruno@clisp.org>
51774
51775         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51776         function.
51777         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51778
51779 2008-06-01  Bruno Haible  <bruno@clisp.org>
51780
51781         * modules/rpmatch (Depends-on): Add strdup.
51782
51783 2008-06-01  Bruno Haible  <bruno@clisp.org>
51784
51785         * lib/pipe.c: Include unistd-safer.h.
51786         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51787         * modules/pipe (Depends-on): Add unistd-safer.
51788
51789 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51790
51791         * modules/autobuild (configure.ac): Call AB_INIT.
51792
51793 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51794
51795         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51796         Suggested by Bruno Haible <bruno@clisp.org>.
51797
51798 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51799
51800         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51801         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51802         <bruno@clisp.org>.
51803
51804 2008-05-29  Eric Blake  <ebb9@byu.net>
51805
51806         Prefer new POSIX 200x interfaces over futimesat.
51807         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51808         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51809         when available.
51810         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51811
51812 2008-05-28  Bruno Haible  <bruno@clisp.org>
51813
51814         * modules/stpcpy (License): Change to LGPLv2+.
51815         Requested by David Lutterkort <dlutter@redhat.com>.
51816
51817 2008-05-27  Bruno Haible  <bruno@clisp.org>
51818
51819         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51820         current mingw.
51821         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51822
51823 2008-05-27  Bruno Haible  <bruno@clisp.org>
51824
51825         * modules/iconv_open (Link): New section, from module 'iconv'.
51826         * modules/striconv (Link): Likewise.
51827         * modules/striconveh (Link): Likewise.
51828         * modules/xstriconv (Link): Likewise.
51829         * modules/unicodeio (Link): Likewise.
51830         * modules/propername (Link): Likewise.
51831         Reported by Jim Meyering.
51832
51833 2008-05-26  Jim Meyering  <meyering@redhat.com>
51834
51835         sha256: do not artificially restrict buffer length to be < 2^32
51836         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51837         uint32_t to size_t.
51838         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51839         to match.
51840
51841         avoid unaligned access errors, e.g., on sparc
51842         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51843         direct access through a possibly-unaligned uint64* pointer.
51844         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51845         direct access through a possibly-unaligned uint32* pointer.
51846         Prompted by this patch from Tom "spot" Callaway:
51847         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51848
51849         sha512.c: fix typo in comment
51850         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51851
51852 2008-05-25  Bruno Haible  <bruno@clisp.org>
51853
51854         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51855         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51856         (Makefile.am): Update lib_SOURCES.
51857
51858 2008-05-25  Bruno Haible  <bruno@clisp.org>
51859
51860         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51861
51862 2008-05-25  Jim Meyering  <meyering@redhat.com>
51863
51864         useless-if-before-free: freed expr may have white-space differences
51865         * build-aux/useless-if-before-free: Recognize cases in which the
51866         freed expression differs from the tested one in embedded white
51867         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51868         $1 was used, so we can't make any regexp shy.  Improved tests now
51869         detect this.
51870
51871         useless-if-before-free: accept white space in the expression.
51872         * build-aux/useless-if-before-free: For now, any white space
51873         in the expression must be identical in the free argument.
51874
51875         useless-if-before-free: efficiency tweak
51876         * build-aux/useless-if-before-free: Make the expression-matching
51877         regexp "shy".
51878         Make the *outer* regexp shy, not the expr-matching one.
51879
51880         update code-in-comment to accept cast of free arg
51881         * build-aux/useless-if-before-free: Update regexp.
51882
51883 2008-05-25  Bruno Haible  <bruno@clisp.org>
51884
51885         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51886         * modules/copy-file-tests (Files, Makefile.am): Update.
51887         * tests/test-copy-file.c (func_test_copy): Update.
51888
51889 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51890
51891         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51892
51893 2008-05-23  Bruno Haible  <bruno@clisp.org>
51894
51895         Improve support for ACLs on OSF/1.
51896         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51897         Remove fallback for unknown flavors of ACLs.
51898
51899 2008-05-22  Bruno Haible  <bruno@clisp.org>
51900
51901         Add support for ACLs on OSF/1.
51902         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51903         replacements.
51904         (acl_free_text): New macro fallback.
51905         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51906         acl_free.
51907         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51908         acl_free_text function. Require AC_C_INLINE.
51909
51910 2008-05-22  Bruno Haible  <bruno@clisp.org>
51911
51912         Make copy_acl work on MacOS X 10.5.
51913         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51914         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51915         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51916         If MODE_INSIDE_ACL, don't assume that every system has the same text
51917         representation for ACLs as FreeBSD.
51918         * lib/copy-acl.c (copy_acl): Add support for platforms with
51919         !MODE_INSIDE_ACL.
51920         * lib/file-has-acl.c (file_has_acl): Likewise.
51921         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51922         FreeBSD, MacOS X, or IRIX, respectively.
51923
51924 2008-05-22  Bruno Haible  <bruno@clisp.org>
51925
51926         * lib/acl.h: Don't include <sys/acl.h>.
51927         (GETACLCNT): Move fallback to lib/acl-internal.h.
51928         * lib/acl-internal.h: Include <sys/acl.h> here.
51929         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51930
51931 2008-05-22  Bruno Haible  <bruno@clisp.org>
51932
51933         Split off copy_acl function to separate file.
51934         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51935         * lib/acl.c (copy_acl): Moved function to separate file.
51936         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51937         * modules/acl (Files): Add lib/copy-acl.c.
51938         (Makefiles.am): Augment lib_SOURCES.
51939
51940 2008-05-22  Bruno Haible  <bruno@clisp.org>
51941
51942         * modules/copy-file-tests: New file.
51943         * tests/test-copy-file.sh: New file.
51944         * tests/test-copy-file.c: New file.
51945         * tests/test-copy-file-sameacls.c: New file.
51946
51947 2008-05-22  Eric Blake  <ebb9@byu.net>
51948
51949         Avoid gcc warning.
51950         * tests/test-memcmp.c (main): Pass NULL indirectly.
51951
51952 2008-05-21  Bruno Haible  <bruno@clisp.org>
51953
51954         Add reference doc about ACLs.
51955         * doc/acl-resources.txt: New file.
51956         * doc/acl-cygwin.txt: New file.
51957
51958 2008-05-21  Bruno Haible  <bruno@clisp.org>
51959
51960         Avoid one more warning from gcc.
51961         * lib/vasnprintf.c (IF_LINT): Update comments.
51962         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51963
51964 2008-05-21  Jim Meyering  <meyering@redhat.com>
51965
51966         avoid a warning from gcc
51967         * lib/vasnprintf.c (IF_LINT): Define.
51968         (scale10_round_decimal_long_double):
51969         Use it to avoid a "may be used uninitialized" warning.
51970         (scale10_round_decimal_double): Likewise.
51971
51972 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51973
51974         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51975         declared.
51976
51977 2008-05-20  Bruno Haible  <bruno@clisp.org>
51978
51979         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51980         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51981
51982 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51983
51984         * modules/memcmp-tests: New file.
51985         * tests/test-memcmp.c: New file.
51986
51987 2008-05-19  Bruno Haible  <bruno@clisp.org>
51988
51989         * modules/propername (Notice, configure.ac): Put quoted "..." into
51990         --keyword option.
51991         * lib/propername.h: Update comments accordingly.
51992         Reported by Eric Blake.
51993
51994 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51995
51996         * modules/getpass-gnu (Depends-on): Add fseeko.
51997
51998 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51999
52000         * modules/base64-tests: New file.
52001
52002 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52003
52004         * lib/base64.c (base64_decode_ctx): If a decode context structure
52005         was passed in use it to ignore newlines.  If a context structure
52006         was _not_ passed in, continue to treat newlines as garbage (this
52007         is the historical behavior).  Formerly base64_decode.
52008         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52009         takes a decode context structure.
52010         * lib/base64.h (base64_decode): Macro for four-argument calls.
52011         (base64_decode_alloc): Likewise.
52012         * lib/base64.c (base64_decode_ctx): If a decode context structure
52013         was passed in use it to ignore newlines.  If a context structure
52014         was _not_ passed in, continue to treat newlines as garbage (this
52015         is the historical behavior).  Formerly base64_decode.
52016         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52017         takes a decode context structure.
52018         * lib/base64.h (base64_decode): Macro for four-argument calls.
52019         (base64_decode_alloc): Likewise.
52020
52021 2008-05-19  Jim Meyering  <meyering@redhat.com>
52022
52023         avoid a warning from gcc
52024         * lib/trim.c (IF_LINT): Define.
52025         (trim2): Use it to avoid a "may be used uninitialized" warning.
52026
52027         Fix doc typo.
52028         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52029
52030 2008-05-19  Bruno Haible  <bruno@clisp.org>
52031
52032         * doc/glibc-functions/getpass.texi: Document limits of other
52033         implementations.
52034
52035 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52036             Bruno Haible <bruno@clisp.org>
52037
52038         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52039
52040 2008-05-18  Bruno Haible  <bruno@clisp.org>
52041
52042         * modules/propername: New file, from GNU gettext.
52043         * lib/propername.h: New file, from GNU gettext.
52044         * lib/propername.c: New file, from GNU gettext.
52045         * MODULES.html.sh (Internationalization functions): Add propername.
52046
52047 2008-05-16  Jim Meyering  <meyering@redhat.com>
52048             Bruno Haible  <bruno@clisp.org>
52049
52050         Avoid some warnings from "gcc -Wshadow".
52051         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52052
52053 2008-05-15  Eric Blake  <ebb9@byu.net>
52054
52055         Extend previous patch to cygwin 1.7.0.
52056         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52057         fast implementation in cygwin >= 1.7.0.
52058         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52059         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52060
52061 2008-05-15  Bruno Haible  <bruno@clisp.org>
52062
52063         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52064         implementation in glibc >= 2.9.
52065         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52066         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52067
52068 2008-05-15  Bruno Haible  <bruno@clisp.org>
52069
52070         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52071         (Unicode string functions): Add unilbrk/*.
52072         Reported by Karl Berry.
52073
52074 2008-05-15  Eric Blake  <ebb9@byu.net>
52075
52076         Fix violation of <stdbool.h> replacement in regex.
52077         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52078         * lib/regexec.c (re_search_internal): Likewise.
52079         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52080
52081 2008-05-15  Jim Meyering  <meyering@redhat.com>
52082
52083         avoid distracting test output when git or cvs is not found
52084         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52085         * tests/test-vc-list-files-git.sh: Likewise.
52086
52087 2008-05-15  Eric Blake  <ebb9@byu.net>
52088
52089         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52090         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52091         glibc version.
52092         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52093         * doc/posix-functions/strstr.texi (strstr): Likewise.
52094         * lib/str-two-way.h (MAX): Sychronize with glibc.
52095
52096 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52097
52098         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52099         opr.ctx_type.
52100         (calc_first): Initialize constraint field.
52101         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52102         Fix grammar.
52103         (duplicate_node): Merge constraint field for all node types.
52104         (calc_eclosure_iter): Look at constraint field for all node types.
52105         * lib/regex_internal.c (create_cd_newstate): Don't look at
52106         opr.ctx_type.
52107
52108 2008-05-14  Bruno Haible  <bruno@clisp.org>
52109
52110         Help GCC to do better code generation.
52111         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52112         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52113         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52114         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52115         Declare with attribute 'malloc' if supported.
52116
52117 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52118
52119         use "echo STR|wc -c" rather than unportable "expr length STR"
52120         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52121         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52122
52123 2008-05-14  Jim Meyering  <meyering@redhat.com>
52124
52125         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52126         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52127         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52128         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52129         via Collin Lasse.
52130
52131 2008-05-14  Eric Blake  <ebb9@byu.net>
52132
52133         Avoid quadratic growth in gl_LIBSOURCES.
52134         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52135         Suggested by Bruno Haible.
52136
52137         Test xmemdup0.
52138         * modules/xmemdup0-tests: New file.
52139         * tests/test-xmemdup0.c: Likewise.
52140
52141 2008-05-13  Eric Blake  <ebb9@byu.net>
52142
52143         Split xmemdup0 into its own module.
52144         * modules/xmemdup0: New file.
52145         * lib/xmemdup0.h: Likewise.
52146         * lib/xmemdup0.c: Likewise.
52147         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52148         * lib/xalloc.h (xmemdup0): Remove.
52149         * lib/xmalloc.c (xmemdup0): Likewise.
52150
52151 2008-05-13  Eric Blake  <ebb9@byu.net>
52152             Bruno Haible  <bruno@clisp.org>
52153
52154         Reduce number of forks required during autoconf.
52155         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52156         and gl_LIBSOURCES_DIR.
52157         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52158         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52159         m4_syscmd per file.
52160         <m4_foreach_w>: Move...
52161         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52162
52163 2008-05-13  Eric Blake  <ebb9@byu.net>
52164
52165         * gnulib-tool: Fix various comment typos.
52166
52167 2008-05-12  Bruno Haible  <bruno@clisp.org>
52168
52169         Tailor the linebreaking algorithm.
52170         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52171
52172 2008-05-12  Bruno Haible  <bruno@clisp.org>
52173
52174         Update to Unicode 5.0.0.
52175         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52176         LBP_JV, LBP_JT. Redistribute values.
52177         (unilbrk_table): Change size.
52178         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52179         Unicode TR#14 rev. 22.
52180         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52181         LBP_JV, LBP_JT. Redistribute values.
52182         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52183         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52184         Update.
52185         * lib/unilbrk/lbrkprop1.h: Regenerated.
52186         * lib/unilbrk/lbrkprop2.h: Regenerated.
52187         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52188         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
52189         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
52190         Likewise.
52191         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
52192         Likewise.
52193         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
52194         result.
52195         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
52196         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
52197         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
52198         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
52199         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
52200         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
52201
52202 2008-05-11  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
52205
52206 2008-05-11  Bruno Haible  <bruno@clisp.org>
52207
52208         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
52209         * modules/unilbrk/gen-lbrk: New file.
52210
52211 2008-05-11  Bruno Haible  <bruno@clisp.org>
52212
52213         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
52214         * m4/sha512.m4 (gl_SHA512): Likewise.
52215
52216 2008-05-11  Jim Meyering  <meyering@redhat.com>
52217
52218         New modules: crypto/sha256, crypto/sha512 (from coreutils)
52219         * modules/crypto/sha256: New file.
52220         * modules/crypto/sha512: Likewise.
52221         * lib/sha256.c: Likewise.
52222         * lib/sha256.h: Likewise.
52223         * lib/sha512.c: Likewise.
52224         * lib/sha512.h: Likewise.
52225         * lib/u64.h: Likewise.
52226         * m4/sha256.m4: Likewise.
52227         * m4/sha512.m4: Likewise.
52228         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
52229
52230 2008-05-10  Bruno Haible  <bruno@clisp.org>
52231
52232         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
52233         (Input/Output <stdio.h>): Add xprintf.
52234         (Signal handling <signal.h>): Add strsignal.
52235         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
52236         (Core language properties): Add func.
52237         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
52238         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
52239         strings.
52240         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
52241         (Input/output): New section.
52242         (File system functions): Add openat-die, stat-macros.
52243         (Networking functions): Add sockets.
52244         (Unicode string functions): Add unictype/*.
52245         (Support for building libraries and executables): Add gperf.
52246         (Support for building documentation): Add agpl-3.0.
52247         (Misc): Add nocrash.
52248
52249 2008-05-10  Bruno Haible  <bruno@clisp.org>
52250
52251         * modules/unictype/gen-ctype: New file.
52252
52253 2008-05-10  Jim Meyering  <meyering@redhat.com>
52254
52255         Make chdir-safer.c more efficient on a system with no symlinks.
52256         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
52257         also if ELOOP is zero.  Suggested by Bruno Haible.
52258
52259         Make chdir-safer.c slightly safer.
52260         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
52261         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
52262
52263         Avoid compile failure on systems without ELOOP (like mingw).
52264         * lib/chdir-safer.c (ELOOP): Define if not already defined.
52265         Reported by Bruno Haible.
52266
52267 2008-05-10  Bruno Haible  <bruno@clisp.org>
52268
52269         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
52270         (is_utf8_encoding): Use a case-insensitive comparison.
52271         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
52272         streq.
52273
52274 2008-05-10  Bruno Haible  <bruno@clisp.org>
52275
52276         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
52277         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
52278         * lib/unilbrk/ulc-common.h (iconv_string_length,
52279         iconv_string_keeping_offsets): Remove declarations.
52280         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
52281         Don't include <iconv.h>, streq.h, xsize.h.
52282         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
52283         conversion.
52284         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
52285         <iconv.h>, streq.h, xsize.h.
52286         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
52287         conversion.
52288         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
52289         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
52290         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
52291         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
52292
52293 2008-05-10  Bruno Haible  <bruno@clisp.org>
52294
52295         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
52296         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
52297
52298         * modules/unilbrk/u32-width-linebreaks-tests: New file.
52299         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
52300
52301         * modules/unilbrk/u16-width-linebreaks-tests: New file.
52302         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
52303
52304         * modules/unilbrk/u8-width-linebreaks-tests: New file.
52305         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
52306
52307         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52308         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52309
52310         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52311         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52312
52313         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52314         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52315
52316         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52317         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52318
52319 2008-05-10  Bruno Haible  <bruno@clisp.org>
52320
52321         Split up 'linebreak' module.
52322         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52323         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52324         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52325         modifications.
52326         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52327         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52328         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52329         lib/linebreak.c.
52330         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52331         lib/linebreak.c.
52332         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52333         lib/linebreak.c.
52334         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52335         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52336         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52337         lib/linebreak.c.
52338         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52339         lib/linebreak.c.
52340         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52341         lib/linebreak.c.
52342         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52343         lib/linebreak.c.
52344         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52345         lib/linebreak.c.
52346         * modules/unilbrk/base: New file.
52347         * modules/unilbrk/tables: New file.
52348         * modules/unilbrk/u8-possible-linebreaks: New file.
52349         * modules/unilbrk/u16-possible-linebreaks: New file.
52350         * modules/unilbrk/u32-possible-linebreaks: New file.
52351         * modules/unilbrk/ulc-common: New file.
52352         * modules/unilbrk/ulc-possible-linebreaks: New file.
52353         * modules/unilbrk/u8-width-linebreaks: New file.
52354         * modules/unilbrk/u16-width-linebreaks: New file.
52355         * modules/unilbrk/u32-width-linebreaks: New file.
52356         * modules/unilbrk/ulc-width-linebreaks: New file.
52357         * lib/linebreak.h: Remove file.
52358         * lib/linebreak.c: Remove file.
52359         * m4/linebreak.m4: Remove file.
52360         * modules/linebreak: Remove file.
52361         * NEWS: Mention the changes.
52362
52363 2008-05-09  Eric Blake  <ebb9@byu.net>
52364
52365         Add xmemdup0.
52366         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
52367         implementation.
52368         * lib/xmalloc.c (xmemdup0): New C implementation.
52369
52370 2008-05-08  Bruno Haible  <bruno@clisp.org>
52371
52372         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
52373
52374 2008-05-07  Eric Blake  <ebb9@byu.net>
52375
52376         Support cross-compilation of <wctype.h>.
52377         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52378         AC_CACHE_CHECK.
52379
52380 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52381
52382         * build-aux/vc-list-files: Add support for bzr.
52383
52384 2008-05-03  Jim Meyering  <meyering@redhat.com>
52385
52386         avoid failed assertion with tight malloc
52387         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52388
52389 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52390
52391         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52392         are needed from arpa/inet.h.
52393         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52394         Reported by Bruno Haible.
52395
52396 2008-05-02  Jim Meyering  <meyering@redhat.com>
52397
52398         avoid compilation error on FreeBSD 6
52399         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52400
52401 2008-05-01  Jim Meyering  <meyering@redhat.com>
52402
52403         useless-if-before-free: correct --help's exit status description
52404         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52405         for one or more matches, etc.  Reported by Bruno Haible.
52406
52407         vc-list-files: make the stand-alone gnulib test work
52408         * modules/vc-list-files-tests (configure.ac):
52409         Define and AC_SUBST abs_aux_dir.
52410         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52411         $(abs_top_srcdir) to each script and having each of them
52412         duplicate the work of setting PATH, set PATH here, using
52413         the new variable, abs_aux_dir instead.
52414         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
52415         * tests/test-vc-list-files-git.sh: Likewise.
52416         Reported by Bruno Haible.
52417
52418 2008-05-01  Bruno Haible  <bruno@clisp.org>
52419
52420         * lib/getndelim2.c (getndelim2): Fix newsize computation during
52421         reallocation. Rename 'done' to 'found_delimiter'.
52422
52423 2008-05-01  Jim Meyering  <meyering@redhat.com>
52424
52425         vc-list-files: accommodate /bin/sh like the one from Solaris 10
52426         * build-aux/vc-list-files: Use `...`, not $(...).
52427
52428 2008-04-30  Jim Meyering  <meyering@redhat.com>
52429
52430         add tests for vc-list-files
52431         * modules/vc-list-files-tests: New module.
52432         * tests/test-vc-list-files-cvs.sh: New file.
52433         * tests/test-vc-list-files-git.sh: New file.
52434
52435         avoid a warning from gcc
52436         * lib/getndelim2.c (IF_LINT): Define.
52437         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
52438
52439         vc-list-files: work properly with build-aux/cvsu, too
52440         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
52441         to all cvs-based clauses.
52442
52443         vc-list-files: work properly in the CVS+awk case, too
52444         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
52445
52446         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
52447         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
52448         take more than one file argument, so .  Add quotes, just in case $dir
52449         ever contains a shell meta-character.  Prompted by Soren Hansen in
52450         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
52451
52452 2008-04-29  Eric Blake  <ebb9@byu.net>
52453
52454         Optimize getndelim2 to use block operations when possible.
52455         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
52456         freadseek, and memchr2.
52457         * lib/getndelim2.c (getndelim2): Use them for block reads.
52458
52459 2008-04-29  Bruno Haible  <bruno@clisp.org>
52460
52461         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
52462         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52463         * modules/inet_ntop (Depends-on): Add extensions.
52464         * modules/inet_pton (Depends-on): Likewise.
52465         Reported by Simon Josefsson.
52466
52467 2008-04-29  Jim Meyering  <meyering@redhat.com>
52468
52469         When the is more than one match in a block, match all of them.
52470         * build-aux/useless-if-before-free: Iterate through each block
52471         until there are no more matches.
52472
52473         Fix broken useless-if-before-free script.
52474         * build-aux/useless-if-before-free: Fix typo: missing "?" after
52475         the expression to match cast of argument to free-like function.
52476
52477 2008-04-29  Eric Blake  <ebb9@byu.net>
52478
52479         Use new header.
52480         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
52481
52482 2008-04-29  Jim Meyering  <meyering@redhat.com>
52483
52484         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52485         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52486         by gnulib to exist and to declare e.g., inet_ntop.
52487         Don't include "inet_ntop.h", now removed.
52488
52489         * m4/arpa_inet_h.m4: Remove trailing blanks.
52490
52491 2008-04-29  Eric Blake  <ebb9@byu.net>
52492
52493         Silence valgrind on safe reads beyond potential array bounds.
52494         * lib/rawmemchr.valgrind: New file.
52495         * lib/strchrnul.valgrind: Likewise.
52496         * modules/rawmemchr (Files): Distribute new file.
52497         * modules/strchrnul (Files): Likewise.
52498         Suggested by Bruno Haible.
52499
52500 2008-04-29  Bruno Haible  <bruno@clisp.org>
52501
52502         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52503         (inet_ntop, inet_pton): Change portability warning's wording.
52504         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52505         Invoke gl_CHECK_NEXT_HEADERS.
52506         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52507         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52508         set ARPA_INET_H.
52509         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52510         * modules/arpa_inet (Description): No longer only for systems that
52511         lack it.
52512         (Depends-on): Add include_next.
52513         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52514         HAVE_ARPA_INET_H.
52515
52516 2008-04-29  Jim Meyering  <meyering@redhat.com>
52517
52518         * modules/mkdir (License): Re-license as LGPLv2+.
52519
52520 2008-04-29  Bruno Haible  <bruno@clisp.org>
52521
52522         * modules/rawmemchr (Maintainer): Set to Eric.
52523         * modules/strchrnul (Maintainer): Likewise.
52524
52525 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52526
52527         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52528         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52529
52530         * modules/arpa_inet (arpa/inet.h): Use them.
52531
52532 2008-04-28  Eric Blake  <ebb9@byu.net>
52533
52534         Test getndelim2.
52535         * modules/getndelim2-tests: New file.
52536         * tests/test-getndelim2.c: Likewise.
52537         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52538         stream.
52539         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52540
52541         * MODULES.html.sh: Document new module.
52542
52543 2008-04-20  Bruno Haible  <bruno@clisp.org>
52544
52545         * lib/c-stack.c (die): Use raise.
52546         * modules/c-stack (Depends-on): Add raise.
52547
52548 2008-04-28  Bruno Haible  <bruno@clisp.org>
52549
52550         Expect rpmatch to be declared.
52551         * lib/yesno.c (rpmatch): Remove declaration.
52552
52553         Declare rpmatch.
52554         * lib/stdlib.in.h (rpmatch): New declaration.
52555         * lib/rpmatch.c: Include <stdlib.h> first.
52556         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52557         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52559         HAVE_RPMATCH.
52560         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52562         (Include): Set to <stdlib.h>.
52563         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52564         HAVE_RPMATCH.
52565         * NEWS: Document the change.
52566
52567 2008-04-28  Bruno Haible  <bruno@clisp.org>
52568
52569         Change rpmatch to use nl_langinfo when appropriate.
52570         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52571         (N_): New macro.
52572         (localized_pattern): New function/macro.
52573         (try): Remove match, nomatch arguments. Copy the pattern into safe
52574         memory before caching it.
52575         (rpmatch): Use localized_pattern. Add translator comments.
52576         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52577         Suggested by Eric Blake.
52578         * modules/rpmatch (Depends-on): Add stdbool.
52579
52580 2008-04-28  Eric Blake  <ebb9@byu.net>
52581
52582         Add rawmemchr module, matching glibc.
52583         * modules/string (Makefile.am): New indicator.
52584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52585         * lib/string.in.h (rawmemchr): Declare when appropriate.
52586         * modules/rawmemchr: New file.
52587         * m4/rawmemchr.m4: Likewise.
52588         * lib/rawmemchr.c: Likewise.
52589         * modules/rawmemchr-tests: Likewise.
52590         * tests/test-rawmemchr.c: Likewise.
52591         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52592         module.
52593         * modules/strchrnul (Depends-on): Add rawmemchr.
52594         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52595
52596         Whitespace cleanup.
52597         * tests/test-strchrnul.c: Reindent.
52598         * lib/strchrnul.c: Likewise.
52599
52600         Optimize and test strchrnul.
52601         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52602         * modules/strchrnul-tests: New file.
52603         * tests/test-strchrnul.c: Likewise.
52604
52605         Remove intprops dependency.
52606         * modules/memchr (Depends-on): Remove intprops.
52607         * modules/memrchr (Depends-on): Likewise.
52608         * modules/memchr2 (Depends-on): Likewise.
52609         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52610         * lib/memrchr.c (__memrchr): Likewise.
52611         * lib/memrchr2.c (memchr2): Likewise.
52612         Reported by Simon Josefsson.
52613
52614 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52615
52616         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52617         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52618
52619 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52620
52621         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52622
52623         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52624
52625         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52626
52627         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52628         declarations.
52629         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52630
52631         * m4/inet_pton.m4: Don't check for header files.
52632
52633         * m4/inet_ntop.m4: Don't check for header files.
52634
52635 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52636
52637         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52638         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52639         trigger for cygwin).
52640         Reported by Bruno Haible  <bruno@clisp.org>.
52641
52642 2008-04-28  Bruno Haible  <bruno@clisp.org>
52643
52644         * doc/posix-functions/strdup.texi: Mention mingw problem.
52645
52646 2008-04-27  Bruno Haible  <bruno@clisp.org>
52647
52648         * modules/stat-time-tests (Depends-on): Add sleep.
52649         * tests/test-stat-time.c (force_unlink): New function.
52650         (cleanup): Use it.
52651         (test_mtime): Remove the ctime related tests.
52652         (test_ctime): New function, containing the ctime related tests.
52653         (main): Call test_ctime, except on native Windows platforms.
52654
52655 2008-04-27  Bruno Haible  <bruno@clisp.org>
52656
52657         * lib/rpmatch.c (rpmatch): Add some comments.
52658         Reported by James Youngman <jay@gnu.org>.
52659
52660 2008-04-27  Bruno Haible  <bruno@clisp.org>
52661
52662         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52663         quiet NaNs.
52664
52665 2008-04-27  Bruno Haible  <bruno@clisp.org>
52666
52667         Make test-yesno.sh work on mingw.
52668         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52669         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52670         (main): Set stdin to binary mode.
52671         * modules/yesno-tests (Depends-on): Add binary-io.
52672
52673 2008-04-27  Bruno Haible  <bruno@clisp.org>
52674
52675         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52676         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52677         argument that lie outside the IEEE 854 domain.
52678         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52679         (gl_ISFINITE): Use it.
52680         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52681
52682 2008-04-27  Bruno Haible  <bruno@clisp.org>
52683
52684         Allow local renaming in config.h.
52685         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52686
52687 2008-04-27  Bruno Haible  <bruno@clisp.org>
52688
52689         * lib/memchr.c (__memchr): Change type of 'i'.
52690         * lib/memchr2.c (memchr2): Likewise.
52691
52692 2008-04-26  Eric Blake  <ebb9@byu.net>
52693         and Bruno Haible  <bruno@clisp.org>
52694
52695         Optimize and test memrchr.
52696         * modules/memrchr (Depends-on): Add intprops.
52697         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52698         * modules/memrchr-tests: New file.
52699         * tests/test-memrchr.c: New file.
52700
52701 2008-04-26  Bruno Haible  <bruno@clisp.org>
52702
52703         Add tentative support for DragonFly BSD.
52704         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52705         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52706         fp.
52707         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52708         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52709         * lib/fpurge.c (fpurge): Likewise.
52710         * lib/freadable.c (freaadable): Likewise.
52711         * lib/freadahead.c (freadahead): Likewise.
52712         * lib/freading.c (freading): Likewise.
52713         * lib/freadptr.c (freadptr): Likewise.
52714         * lib/freadseek.c (freadptrinc): Likewise.
52715         * lib/fseeko.c (fseeko): Likewise.
52716         * lib/fseterr.c (fseterr): Likewise.
52717         * lib/fwritable.c (fwritable): Likewise.
52718         * lib/fwriting.c (fwriting): Likewise.
52719
52720 2008-04-26  Bruno Haible  <bruno@clisp.org>
52721
52722         * lib/stdio-impl.h: New file.
52723         * lib/fbufmode.c: Include stdio-impl.h.
52724         (fbufmode): Use fp_, remove redundant #defines.
52725         * lib/fflush.c: Include stdio-impl.h.
52726         (clear_ungetc_buffer): Remove redundant #defines.
52727         * lib/fpurge.c: Include stdio-impl.h.
52728         (fpurge): Remove redundant #defines.
52729         * lib/freadable.c: Include stdio-impl.h.
52730         (freadable): Remove redundant #defines.
52731         * lib/freadahead.c: Include stdio-impl.h.
52732         (freadahead): Remove redundant #defines.
52733         * lib/freading.c: Include stdio-impl.h.
52734         (freading): Remove redundant #defines.
52735         * lib/freadptr.c: Include stdio-impl.h.
52736         (freadptr): Remove redundant #defines.
52737         * lib/freadseek.c: Include stdio-impl.h.
52738         (freadptrinc): Remove redundant #defines.
52739         * lib/fseeko.c: Include stdio-impl.h.
52740         (rpl_fseeko): Remove redundant #defines.
52741         * lib/fseterr.c: Include stdio-impl.h.
52742         (fseterr): Remove redundant #defines.
52743         * lib/fwritable.c: Include stdio-impl.h.
52744         (fwritable: Remove redundant #defines.
52745         * lib/fwriting.c: Include stdio-impl.h.
52746         (fwriting): Remove redundant #defines.
52747         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52748         * modules/fflush (Files): Likewise.
52749         * modules/fpurge (Files): Likewise.
52750         * modules/freadable (Files): Likewise.
52751         * modules/freadahead (Files): Likewise.
52752         * modules/freading (Files): Likewise.
52753         * modules/freadptr (Files): Likewise.
52754         * modules/freadseek (Files): Likewise.
52755         * modules/fseeko (Files): Likewise.
52756         * modules/fseterr (Files): Likewise.
52757         * modules/fwritable (Files): Likewise.
52758         * modules/fwriting (Files): Likewise.
52759
52760 2008-04-26  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52763         restore_seek_optimization, update_fpos_cache): New functions, extracted
52764         from rpl_fflush.
52765         (rpl_fflush): Use them.
52766         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52767         (gl_REPLACE_FFLUSH): Use it.
52768
52769 2008-04-26  Bruno Haible  <bruno@clisp.org>
52770
52771         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52772         on Solaris.
52773         * tests/test-xstrtoimax.sh: Likewise.
52774         * tests/test-xstrtoumax.sh: Likewise.
52775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52776
52777 2008-04-26  Bruno Haible  <bruno@clisp.org>
52778
52779         * modules/memchr-tests: New file.
52780         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52781
52782 2008-04-26  Eric Blake  <ebb9@byu.net>
52783             Bruno Haible  <bruno@clisp.org>
52784
52785         * lib/memchr.c: Include intprops.h.
52786         (__memchr): Optimize parallel detection of matching bytes. Rename local
52787         variables. Add explanatory comments.
52788
52789 2008-04-26  Bruno Haible  <bruno@clisp.org>
52790
52791         Fix module 'memchr', broken since 2000-10-28.
52792         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52793
52794 2008-04-26  Bruno Haible  <bruno@clisp.org>
52795
52796         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52797         comments.
52798
52799 2008-04-25  Eric Blake  <ebb9@byu.net>
52800
52801         Use native fstatat on cygwin 1.7.0.
52802         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52803         first.
52804
52805 2008-04-23  Eric Blake  <ebb9@byu.net>
52806
52807         Improve memchr2 performance.
52808         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52809         NUL bytes.
52810         * modules/memchr2 (Depends-on): Use intprops.h.
52811
52812 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52813
52814         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52815         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52816         <blp@cs.stanford.edu>.
52817
52818 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52819
52820         * lib/arpa_inet.in.h: New file.
52821
52822         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52823         (Makefile.am): Sed in substitute header file.
52824
52825         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52826         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52827
52828         * modules/inet_ntop (configure.ac): Use
52829         gl_ARPA_INET_MODULE_INDICATOR.
52830
52831         * modules/inet_pton (configure.ac): Use
52832         gl_ARPA_INET_MODULE_INDICATOR.
52833
52834 2008-04-22  Jim Meyering  <meyering@redhat.com>
52835
52836         * modules/verify (License): Re-license as LGPLv2+.
52837
52838 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52839
52840         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52841         parameter to void* as per POSIX standard (MinGW uses char*).
52842
52843 2008-04-21  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52846         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52847         Define to replacements if REPLACE_ISWCNTRL is 1.
52848         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52849         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52850         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52851         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52852         what it fixes.
52853         * doc/posix-functions/iswalpha.texi: Likewise.
52854         * doc/posix-functions/iswblank.texi: Likewise.
52855         * doc/posix-functions/iswcntrl.texi: Likewise.
52856         * doc/posix-functions/iswdigit.texi: Likewise.
52857         * doc/posix-functions/iswgraph.texi: Likewise.
52858         * doc/posix-functions/iswlower.texi: Likewise.
52859         * doc/posix-functions/iswprint.texi: Likewise.
52860         * doc/posix-functions/iswpunct.texi: Likewise.
52861         * doc/posix-functions/iswspace.texi: Likewise.
52862         * doc/posix-functions/iswupper.texi: Likewise.
52863         * doc/posix-functions/iswxdigit.texi: Likewise.
52864         Reported by Alain Guibert.
52865
52866 2008-04-21  Bruno Haible  <bruno@clisp.org>
52867
52868         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52869         Patch by Alain Guibert.
52870
52871 2008-04-21  Bruno Haible  <bruno@clisp.org>
52872
52873         Fix test failures on mingw.
52874         * tests/test-xstrtol.c (print_no_progname): New function.
52875         (main): Install it in error_print_progname hook.
52876         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52877         * tests/test-xstrtoimax.sh: Likewise.
52878         * tests/test-xstrtoumax.sh: Likewise.
52879
52880 2008-04-21  Bruno Haible  <bruno@clisp.org>
52881
52882         Fix test failure on mingw.
52883         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52884
52885 2008-04-21  Bruno Haible  <bruno@clisp.org>
52886
52887         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52888         Actually assign a value.
52889
52890 2008-04-20  Bruno Haible  <bruno@clisp.org>
52891
52892         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52893         take 2.
52894         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52895         'canonicalize-lgpl' module is also used.
52896         * lib/canonicalize-lgpl.c: Undo last change.
52897         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52898
52899 2008-04-20  Bruno Haible  <bruno@clisp.org>
52900
52901         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52902         config.h. Provide _mkdir based fallback for mingw.
52903         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52904         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52905         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52906         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52907         rather than defining mkdir in config.h.
52908         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52909         (gl_SYS_STAT_H_DEFAULTS): New macro.
52910         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52911         HAVE_IO_H any more.
52912         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52913         HAVE_DECL_MKDIR and HAVE_IO_H.
52914
52915 2008-04-20  Bruno Haible  <bruno@clisp.org>
52916
52917         * lib/isapipe.c: Port to native Windows platforms.
52918
52919 2008-04-20  Bruno Haible  <bruno@clisp.org>
52920
52921         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52922
52923 2008-04-21  Eric Blake  <ebb9@byu.net>
52924
52925         Work around preprocessors that don't handle UINTMAX_MAX.
52926         * lib/memchr2.c (memchr2): Avoid embedded #if.
52927         Reported by Alain Guibert, fix suggested by Bruno Haible.
52928
52929 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52930
52931         * doc/posix-functions/strftime.texi (strftime): Explain better
52932         Windows incompatibility.  Suggested by Micah Cowan
52933         <micah@cowan.name>.
52934
52935 2008-04-20  Bruno Haible  <bruno@clisp.org>
52936
52937         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52938         unistr/u8-mblen.
52939
52940 2008-04-20  Bruno Haible  <bruno@clisp.org>
52941
52942         Fix test failure on platforms with non-GNU iconv.
52943         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52944         (U_TO_U8): Use it, rather than u16_to_u8.
52945         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52946         units at the end of the input string.
52947         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52948
52949 2008-04-20  Bruno Haible  <bruno@clisp.org>
52950
52951         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52952         when the resulting length is 0.
52953         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52954
52955 2008-04-20  Bruno Haible  <bruno@clisp.org>
52956
52957         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52958         works.
52959         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52960
52961 2008-04-20  Bruno Haible  <bruno@clisp.org>
52962
52963         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52964         * modules/tsearch-tests (configure.ac): Test for initstate function.
52965
52966 2008-04-20  Bruno Haible  <bruno@clisp.org>
52967
52968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52969         for nlink_t if missing.
52970         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52971
52972 2008-04-19  Bruno Haible  <bruno@clisp.org>
52973
52974         Work around snprintf bug on Linux libc5.
52975         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52976         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52977         gl_SNPRINTF_SIZE1.
52978         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52979         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52980         that test failed.
52981         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52982         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52983         * modules/snprintf (Files): Add m4/printf.m4.
52984         * modules/vsnprintf (Files): Likewise.
52985         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52986         * doc/posix-functions/vsnprintf.texi: Likewise.
52987
52988 2008-04-19  Bruno Haible  <bruno@clisp.org>
52989
52990         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52991         from 0.0058 to less than 10^-7.
52992
52993 2008-04-19  Bruno Haible  <bruno@clisp.org>
52994
52995         Fix rounding when a precision is given.
52996         * lib/vasnprintf.c (is_borderline): New function.
52997         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52998         9...9x.
52999         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53000         %e, %g.
53001         * tests/test-vasprintf-posix.c (test_function): Likewise.
53002         * tests/test-snprintf-posix.h (test_function): Likewise.
53003         * tests/test-sprintf-posix.h (test_function): Likewise.
53004         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53005         * tests/test-printf-posix.h (test_function): Likewise.
53006         * tests/test-printf-posix.output: Update.
53007         Reported by John Darrington <john@darrington.wattle.id.au> via
53008         Ben Pfaff <blp@cs.stanford.edu>.
53009
53010 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53011
53012         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53013         Suggested by Bruno Haible <bruno@clisp.org>.
53014
53015 2008-04-17  Bruno Haible  <bruno@clisp.org>
53016
53017         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53018         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53019         implementation.
53020         Patch by Bruce Merry <bmerry@gmail.com>.
53021
53022 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53023
53024         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53025         doesn't work under Windows.
53026
53027 2008-04-16  Bruno Haible  <bruno@clisp.org>
53028
53029         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53030         New macros.
53031         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53032         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53033         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53034         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53035         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53036         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53037         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53038         macros.
53039         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53040         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53041         Northern Sotho, Uighur.
53042
53043 2008-04-16  Bruno Haible  <bruno@clisp.org>
53044
53045         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53046         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53047         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53048         Reported by Daniel Bergström <daniel@octocode.com>.
53049
53050 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53051             Bruno Haible  <bruno@clisp.org>
53052
53053         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53054         function.
53055         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53056         New functions, mostly extracted from gl_locale_name_default.
53057         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53058
53059 2008-04-16  Eric Blake  <ebb9@byu.net>
53060
53061         Adjust strtod detection to catch glibc 2.7 bug.
53062         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53063         Reported by John Gatewood Ham.
53064
53065 2008-04-16  Bruno Haible  <bruno@clisp.org>
53066
53067         Add tentative support for Linux libc5.
53068         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53069         * lib/fpurge.c (fpurge): Likewise.
53070         * lib/freadable.c (freadable): Likewise.
53071         * lib/freadahead.c (freadahead): Likewise.
53072         * lib/freading.c (freading): Likewise.
53073         * lib/freadptr.c (freadptr): Likewise.
53074         * lib/freadseek.c (freadptrinc): Likewise.
53075         * lib/fseeko.c (rpl_fseeko): Likewise.
53076         * lib/fseterr.c (fseterr): Likewise.
53077         * lib/fwritable.c (fwritable): Likewise.
53078         * lib/fwriting.c (fwriting): Likewise.
53079         Reported by Alain Guibert <alguibert+bts@free.fr>.
53080
53081 2008-04-15  Bruno Haible  <bruno@clisp.org>
53082
53083         * modules/mathl (configure.ac): Define module indicator.
53084
53085 2008-04-15  Bruno Haible  <bruno@clisp.org>
53086
53087         * lib/logl.c (logl): Remove unused variables.
53088
53089 2008-04-15  Bruno Haible  <bruno@clisp.org>
53090
53091         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53092         fails.
53093
53094 2008-04-15  Bruno Haible  <bruno@clisp.org>
53095
53096         * lib/trim.c (trim2): Fix argument of isspace() macro.
53097
53098 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53099
53100         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53101         to 0.
53102         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53103
53104 2008-04-14  Bruno Haible  <bruno@clisp.org>
53105
53106         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53107         AC_LANG_PROGRAM argument.
53108         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53109         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53111         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53112         * m4/math_h.m4 (gl_MATH_H): Likewise.
53113         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53114         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53115         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53116         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53117         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53118         * m4/regex.m4 (gl_REGEX): Likewise.
53119         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53120         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53121         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53122         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53123         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53124         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53125         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53127
53128 2008-04-14  Jim Meyering  <meyering@redhat.com>
53129
53130         test-strtod: fix typos: s/abs/fabs/
53131         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53132
53133 2008-04-13  Bruno Haible  <bruno@clisp.org>
53134
53135         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53136         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53137         module is also used and while not building the reloc-wrapper.
53138
53139 2008-04-13  Bruno Haible  <bruno@clisp.org>
53140
53141         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53142
53143 2008-04-13  Bruno Haible  <bruno@clisp.org>
53144
53145         Fix AIX compilation failure introduced on 2008-04-02.
53146         * tests/test-frexp.c (exp): Undefine before redefining.
53147         * tests/test-frexpl.c (exp): Likewise.
53148
53149 2008-04-13  Bruno Haible  <bruno@clisp.org>
53150
53151         Work around a HP-UX stdio bug.
53152         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53153         * tests/test-ftello.c (main): Likewise.
53154         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53155         * doc/posix-functions/ftello.texi: Likewise.
53156
53157 2008-04-13  Bruno Haible  <bruno@clisp.org>
53158
53159         Make test-signbit pass on HP-UX/hppa.
53160         * tests/test-signbit.c (minus_zerol): New variable.
53161         (test_signbitl): Use it.
53162
53163 2008-04-13  Bruno Haible  <bruno@clisp.org>
53164
53165         Make truncl work on OSF/1 4.0.
53166         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53167         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53168         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53169         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53170         HAVE_DECL_TRUNCL.
53171         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53172         HAVE_DECL_TRUNCL.
53173         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53174
53175 2008-04-13  Bruno Haible  <bruno@clisp.org>
53176
53177         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53178
53179 2008-04-13  Bruno Haible  <bruno@clisp.org>
53180
53181         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53182         expression, so as to avoid HP-UX 11 cc compiler bug.
53183
53184 2008-04-13  Bruno Haible  <bruno@clisp.org>
53185
53186         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53187
53188 2008-04-13  Bruno Haible  <bruno@clisp.org>
53189
53190         * lib/git-merge-changelog.c: Remove empty declaration outside of
53191         functions.
53192
53193 2008-04-13  Bruno Haible  <bruno@clisp.org>
53194
53195         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
53196
53197 2008-04-13  Bruno Haible  <bruno@clisp.org>
53198
53199         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
53200         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
53201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
53202         also if it exists but lacks definitions of the SHUT_* macros.
53203         * modules/sys_socket (Description): Update.
53204         Reported by Elbert Pol <e.pol@chello.nl>.
53205
53206 2008-04-13  Bruno Haible  <bruno@clisp.org>
53207
53208         * lib/localcharset.c (OS2): Don't redefine if already defined.
53209         Reported by Elbert Pol <e.pol@chello.nl>.
53210
53211 2008-04-13  Bruno Haible  <bruno@clisp.org>
53212
53213         * lib/binary-io.h [__EMX__]: Include <io.h>.
53214         Reported by Elbert Pol <e.pol@chello.nl>.
53215
53216 2008-04-12  Bruno Haible  <bruno@clisp.org>
53217
53218         * lib/fpucw.h: Enable the definitions also for x86_64.
53219         Needed for NetBSD/x86_64.
53220         Reported by Thomas Klausner <tk@giga.or.at>.
53221
53222 2008-04-12  Bruno Haible  <bruno@clisp.org>
53223
53224         * tests/test-strtod.c: Include isnand.h.
53225         (main): Use isnand instead of isnan.
53226         Reported by Jim Meyering.
53227
53228 2008-04-12  Bruno Haible  <bruno@clisp.org>
53229
53230         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
53231         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53232
53233 2008-04-12  Jim Meyering  <meyering@redhat.com>
53234
53235         * m4/math_h.m4 (gl_MATH_H): Fix typos.
53236
53237 2008-04-12  Bruno Haible  <bruno@clisp.org>
53238
53239         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
53240         Reported by Elbert Pol <e.pol@chello.nl>.
53241
53242 2008-04-12  Eric Blake  <ebb9@byu.net>
53243
53244         Work around Solaris 10 math.h bug.
53245         * m4/math_h.m4 (gl_MATH_H): Check for bug.
53246         (gl_MATH_H_DEFAULTS): Set up default.
53247         * modules/math (Makefile.am): Replace new indicators.
53248         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
53249         * tests/test-math.c (main): Test this.
53250         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
53251         * doc/posix-headers/math.texi (math.h): Mention bug.
53252         Reported by Nelson H. F. Beebe and Jim Meyering.
53253
53254 2008-04-11  Bruno Haible  <bruno@clisp.org>
53255
53256         Adapt to future versions of Apple GCC.
53257         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
53258         Reported by Peter O'Gorman <peter@pogma.com>.
53259
53260 2008-04-11  Bruno Haible  <bruno@clisp.org>
53261
53262         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
53263
53264 2008-04-11  Bruno Haible  <bruno@clisp.org>
53265
53266         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
53267
53268         * modules/getaddrinfo-tests (Makefile.am): Define
53269         test_getaddrinfo_LDADD.
53270
53271 2008-04-11  Bruno Haible  <bruno@clisp.org>
53272
53273         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
53274         (init): Fix syntax error.
53275         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
53276         is declared.
53277
53278 2008-04-11  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
53281         * modules/glob (Depends-on): Add stdbool.
53282
53283 2008-04-11  Bruno Haible  <bruno@clisp.org>
53284
53285         * lib/trim.c: Include <string.h>.
53286
53287 2008-04-11  Eric Blake  <ebb9@byu.net>
53288
53289         Avoid compile failure on OS/2.
53290         * lib/regex_internal.h (internal_function): Disable optimization
53291         on OS/2 (__EMX__), where it caused compiler error.
53292         Reported by Elbert Pol.
53293
53294 2008-04-11  Bruno Haible  <bruno@clisp.org>
53295
53296         Flush the standard error stream before aborting. Needed on mingw.
53297         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
53298         * tests/test-array_list.c (ASSERT): Likewise.
53299         * tests/test-array_oset.c (ASSERT): Likewise.
53300         * tests/test-avltree_list.c (ASSERT): Likewise.
53301         * tests/test-avltree_oset.c (ASSERT): Likewise.
53302         * tests/test-avltreehash_list.c (ASSERT): Likewise.
53303         * tests/test-binary-io.c (ASSERT): Likewise.
53304         * tests/test-byteswap.c (ASSERT): Likewise.
53305         * tests/test-c-ctype.c (ASSERT): Likewise.
53306         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
53307         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53308         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53309         * tests/test-c-strstr.c (ASSERT): Likewise.
53310         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53311         * tests/test-canonicalize.c (ASSERT): Likewise.
53312         * tests/test-carray_list.c (ASSERT): Likewise.
53313         * tests/test-ceilf1.c (ASSERT): Likewise.
53314         * tests/test-ceilf2.c (ASSERT): Likewise.
53315         * tests/test-ceill.c (ASSERT): Likewise.
53316         * tests/test-count-one-bits.c (ASSERT): Likewise.
53317         * tests/test-fbufmode.c (ASSERT): Likewise.
53318         * tests/test-fflush2.c (ASSERT): Likewise.
53319         * tests/test-floorf1.c (ASSERT): Likewise.
53320         * tests/test-floorf2.c (ASSERT): Likewise.
53321         * tests/test-floorl.c (ASSERT): Likewise.
53322         * tests/test-fopen.c (ASSERT): Likewise.
53323         * tests/test-fpending.c (ASSERT): Likewise.
53324         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53325         * tests/test-fpurge.c (ASSERT): Likewise.
53326         * tests/test-freadable.c (ASSERT): Likewise.
53327         * tests/test-freadahead.c (ASSERT): Likewise.
53328         * tests/test-freading.c (ASSERT): Likewise.
53329         * tests/test-freadptr.c (ASSERT): Likewise.
53330         * tests/test-freadptr2.c (ASSERT): Likewise.
53331         * tests/test-freadseek.c (ASSERT): Likewise.
53332         * tests/test-freopen.c (ASSERT): Likewise.
53333         * tests/test-frexp.c (ASSERT): Likewise.
53334         * tests/test-frexpl.c (ASSERT): Likewise.
53335         * tests/test-fseek.c (ASSERT): Likewise.
53336         * tests/test-fseeko.c (ASSERT): Likewise.
53337         * tests/test-fstrcmp.c (ASSERT): Likewise.
53338         * tests/test-ftell.c (ASSERT): Likewise.
53339         * tests/test-ftello.c (ASSERT): Likewise.
53340         * tests/test-func.c (ASSERT): Likewise.
53341         * tests/test-fwritable.c (ASSERT): Likewise.
53342         * tests/test-fwriting.c (ASSERT): Likewise.
53343         * tests/test-getdelim.c (ASSERT): Likewise.
53344         * tests/test-getline.c (ASSERT): Likewise.
53345         * tests/test-i-ring.c (ASSERT): Likewise.
53346         * tests/test-iconv-utf.c (ASSERT): Likewise.
53347         * tests/test-iconv.c (ASSERT): Likewise.
53348         * tests/test-isfinite.c (ASSERT): Likewise.
53349         * tests/test-isnand.c (ASSERT): Likewise.
53350         * tests/test-isnanf.c (ASSERT): Likewise.
53351         * tests/test-isnanl.h (ASSERT): Likewise.
53352         * tests/test-ldexpl.c (ASSERT): Likewise.
53353         * tests/test-linked_list.c (ASSERT): Likewise.
53354         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53355         * tests/test-localename.c (ASSERT): Likewise.
53356         * tests/test-lseek.c (ASSERT): Likewise.
53357         * tests/test-mbscasecmp.c (ASSERT): Likewise.
53358         * tests/test-mbscasestr1.c (ASSERT): Likewise.
53359         * tests/test-mbscasestr2.c (ASSERT): Likewise.
53360         * tests/test-mbscasestr3.c (ASSERT): Likewise.
53361         * tests/test-mbscasestr4.c (ASSERT): Likewise.
53362         * tests/test-mbschr.c (ASSERT): Likewise.
53363         * tests/test-mbscspn.c (ASSERT): Likewise.
53364         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
53365         * tests/test-mbspbrk.c (ASSERT): Likewise.
53366         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
53367         * tests/test-mbsrchr.c (ASSERT): Likewise.
53368         * tests/test-mbsspn.c (ASSERT): Likewise.
53369         * tests/test-mbsstr1.c (ASSERT): Likewise.
53370         * tests/test-mbsstr2.c (ASSERT): Likewise.
53371         * tests/test-mbsstr3.c (ASSERT): Likewise.
53372         * tests/test-memchr2.c (ASSERT): Likewise.
53373         * tests/test-memmem.c (ASSERT): Likewise.
53374         * tests/test-open.c (ASSERT): Likewise.
53375         * tests/test-printf-frexp.c (ASSERT): Likewise.
53376         * tests/test-printf-frexpl.c (ASSERT): Likewise.
53377         * tests/test-printf-posix.c (ASSERT): Likewise.
53378         * tests/test-quotearg.c (ASSERT): Likewise.
53379         * tests/test-rbtree_list.c (ASSERT): Likewise.
53380         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53381         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53382         * tests/test-round1.c (ASSERT): Likewise.
53383         * tests/test-roundf1.c (ASSERT): Likewise.
53384         * tests/test-roundl.c (ASSERT): Likewise.
53385         * tests/test-signbit.c (ASSERT): Likewise.
53386         * tests/test-sleep.c (ASSERT): Likewise.
53387         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53388         * tests/test-snprintf.c (ASSERT): Likewise.
53389         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53390         * tests/test-stat-time.c (ASSERT): Likewise.
53391         * tests/test-strcasestr.c (ASSERT): Likewise.
53392         * tests/test-strerror.c (ASSERT): Likewise.
53393         * tests/test-striconv.c (ASSERT): Likewise.
53394         * tests/test-striconveh.c (ASSERT): Likewise.
53395         * tests/test-striconveha.c (ASSERT): Likewise.
53396         * tests/test-strsignal.c (ASSERT): Likewise.
53397         * tests/test-strstr.c (ASSERT): Likewise.
53398         * tests/test-strtod.c (ASSERT): Likewise.
53399         * tests/test-trunc1.c (ASSERT): Likewise.
53400         * tests/test-trunc2.c (ASSERT): Likewise.
53401         * tests/test-truncf1.c (ASSERT): Likewise.
53402         * tests/test-truncf2.c (ASSERT): Likewise.
53403         * tests/test-truncl.c (ASSERT): Likewise.
53404         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53405         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53406         * tests/test-vasnprintf.c (ASSERT): Likewise.
53407         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53408         * tests/test-vasprintf.c (ASSERT): Likewise.
53409         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53410         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53411         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53412         * tests/test-vsnprintf.c (ASSERT): Likewise.
53413         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
53414         * tests/test-wcwidth.c (ASSERT): Likewise.
53415         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
53416         * tests/test-xprintf-posix.c (ASSERT): Likewise.
53417         * tests/test-xvasprintf.c (ASSERT): Likewise.
53418         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
53419         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
53420         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
53421         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
53422         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
53423         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
53424         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
53425         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
53426         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
53427         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
53428         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
53429         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
53430         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
53431         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
53432         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
53433         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
53434         * tests/unictype/test-block_list.c (ASSERT): Likewise.
53435         * tests/unictype/test-block_of.c (ASSERT): Likewise.
53436         * tests/unictype/test-block_test.c (ASSERT): Likewise.
53437         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
53438         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
53439         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
53440         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
53441         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
53442         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
53443         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
53444         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
53445         * tests/unictype/test-combining.c (ASSERT): Likewise.
53446         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
53447         * tests/unictype/test-digit.c (ASSERT): Likewise.
53448         * tests/unictype/test-mirror.c (ASSERT): Likewise.
53449         * tests/unictype/test-numeric.c (ASSERT): Likewise.
53450         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
53451         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
53452         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
53453         * tests/unictype/test-scripts.c (ASSERT): Likewise.
53454         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
53455         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
53456         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
53457         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
53458         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
53459         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
53460         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
53461         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
53462         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
53463         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
53464         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
53465         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
53466         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
53467         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
53468         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
53469         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
53470         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
53471         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
53472         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
53473         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
53474         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
53475         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
53476         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
53477         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
53478         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
53479         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
53480         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
53481         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53482         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53483         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53484         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53485         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53486         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53487         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53488         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53489         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53490         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53491         Reported by Eric Blake.
53492
53493 2008-04-11  Bruno Haible  <bruno@clisp.org>
53494
53495         * lib/wchar.in.h: Tweak comment.
53496
53497 2008-04-11  Bruno Haible  <bruno@clisp.org>
53498
53499         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53500         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53501         gl_COMMON.
53502         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53503
53504 2008-04-11  Bruno Haible  <bruno@clisp.org>
53505
53506         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53507
53508 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53509
53510         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53511         of attempting to use non-existing /dev/*random.  Based on patch
53512         from Adam Strzelecki <ono@java.pl> in
53513         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53514
53515 2008-04-08  Bruno Haible  <bruno@clisp.org>
53516
53517         Add tentative support for emx+gcc.
53518         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53519         * lib/fpurge.c (fpurge): Likewise.
53520         * lib/freadable.c (freadable): Likewise.
53521         * lib/freadahead.c (freadahead): Likewise.
53522         * lib/freading.c (freading): Likewise.
53523         * lib/freadptr.c (freadptr): Likewise.
53524         * lib/freadseek.c (freadptrinc): Likewise.
53525         * lib/fseeko.c (rpl_fseeko): Likewise.
53526         * lib/fseterr.c (fseterr): Likewise.
53527         * lib/fwritable.c (fwritable): Likewise.
53528         * lib/fwriting.c (fwriting): Likewise.
53529         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53530
53531 2008-04-09  Eric Blake  <ebb9@byu.net>
53532
53533         Avoid some autoconf warnings.
53534         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53535         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53536         * m4/afs.m4 (gl_AFS): Likewise.
53537         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53538         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53539         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53540         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53541         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53542         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53543         (AC_CHECK_DECLS_ONCE): Likewise.
53544         Rename file...
53545         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53546         gnulib-tool requires autoconf 2.59 or better.
53547         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53548
53549 2008-04-08  Eric Blake  <ebb9@byu.net>
53550
53551         Use 'git describe --match' if present (added in git 1.5.5).
53552         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53553         if possible.
53554
53555 2008-04-08  Bruno Haible  <bruno@clisp.org>
53556
53557         Add tentative support for OpenServer.
53558         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53559         _ptr, _cnt.
53560         * lib/fpurge.c (fpurge): Likewise.
53561         * lib/freadable.c (freadable): Likewise.
53562         * lib/freadahead.c (freadahead): Likewise.
53563         * lib/freading.c (freading): Likewise.
53564         * lib/freadptr.c (freadptr): Likewise.
53565         * lib/freadseek.c (freadptrinc): Likewise.
53566         * lib/fseeko.c (rpl_fseeko): Likewise.
53567         * lib/fseterr.c (fseterr): Likewise.
53568         * lib/fwritable.c (fwritable): Likewise.
53569         * lib/fwriting.c (fwriting): Likewise.
53570         Reported by Roger Cornelius <rac@tenzing.org> and
53571         Brian K. White <brian@aljex.com>.
53572
53573 2008-04-06  Jim Meyering  <meyering@redhat.com>
53574
53575         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53576
53577 2008-04-06  Bruno Haible  <bruno@clisp.org>
53578
53579         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53580         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53581         * tests/test-printf-posix.sh: Likewise.
53582         * tests/test-vfprintf-posix.sh: Likewise.
53583         * tests/test-vprintf-posix.sh: Likewise.
53584         * tests/test-xprintf-posix.sh: Likewise.
53585
53586 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53587
53588         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53589         hide error from 'ls', needed on OS/2.
53590         Report by Elbert Pol <elbert.pol@gmail.com>.
53591
53592 2008-04-04  Eric Blake  <ebb9@byu.net>
53593
53594         Make test-fseeko.c failures meaningful.
53595         * tests/test-fseeko.c: Print line number on failure.
53596         * tests/test-fseek.c: Likewise.
53597         Reported by Nelson H. F. Beebe.
53598
53599         Improve strtod bug detection check.
53600         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53601         required for Solaris 10.
53602         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53603
53604 2008-04-04  Bruno Haible  <bruno@clisp.org>
53605
53606         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53607         by m4/setenv.m4.
53608
53609 2008-04-03  Eric Blake  <ebb9@byu.net>
53610
53611         Ensure sane .version contents.
53612         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53613         version string.
53614         * build-aux/git-version-gen: Improve documentation.
53615
53616         Make GNU make output nicer.
53617         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53618         MAKECMDGOALS to enforce message for all command line targets.  Set
53619         srcdir for use in maint.mk.
53620
53621         Another maintainer tweak.
53622         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53623         a target that regenerates version.
53624
53625 2008-04-03  Jim Meyering  <meyering@redhat.com>
53626
53627         vc-list-files: don't cause coreutils "make po-check" failure
53628         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53629
53630 2008-04-03  Eric Blake  <ebb9@byu.net>
53631
53632         Allow VPATH usage of vc-list-files.
53633         * build-aux/vc-list-files (scriptversion): Add timestamp.
53634         (options): Add --help, --version, -C.
53635         (CVS): Support installed cvsu.
53636
53637 2008-04-02  Bruno Haible  <bruno@clisp.org>
53638
53639         Avoid some "statement with no effect" warnings from gcc.
53640         * tests/test-wctype.c (main): Explicitly ignore unused values.
53641         Reported by Jim Meyering.
53642
53643 2008-04-02  Jim Meyering  <meyering@redhat.com>
53644
53645         Avoid some warnings from "gcc -Wshadow".
53646         * tests/test-frexp.c (exp): Define to a different identifier.
53647         * tests/test-frexpl.c (exp): Likewise.
53648
53649 2008-04-03  Jim Meyering  <meyering@redhat.com>
53650
53651         bootstrap: remove dangling *.[ch] symlinks from lib
53652         * build-aux/bootstrap [dangling symlink removal]: Move find's
53653         -depth option to precede all others, to avoid a warning.
53654         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53655
53656 2008-04-02  Bruno Haible  <bruno@clisp.org>
53657
53658         Avoid some warnings from "gcc -Wshadow".
53659         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53660         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53661         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53662         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53663         Reported by Jim Meyering.
53664
53665 2008-04-01  Bruno Haible  <bruno@clisp.org>
53666
53667         Fix test to work on IRIX 6.5 with cc.
53668         * tests/test-math.c (numeric_equal): New function.
53669         (main): Use it.
53670
53671 2008-04-01  Bruno Haible  <bruno@clisp.org>
53672
53673         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53674
53675 2008-04-01  Bruno Haible  <bruno@clisp.org>
53676
53677         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53678         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53679         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53680         (Depends-on): Remove math.
53681
53682         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53683         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53684         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53685         (Depends-on): Remove math.
53686
53687         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53688         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53689         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53690         (Depends-on): Remove math.
53691         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53692         (Depends-on): Remove math.
53693
53694         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53695         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53696         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53697         (Depends-on): Remove math.
53698         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53699         (Depends-on): Remove math.
53700
53701         * tests/test-round1.c: Include nan.h.
53702         (main): Use NaNd instead of NAN.
53703         * modules/round-tests (Files): Add tests/nan.h.
53704
53705         * tests/test-trunc1.c: Include nan.h.
53706         (main): Use NaNd instead of NAN.
53707         * modules/trunc-tests (Files): Add tests/nan.h.
53708
53709         * tests/test-roundf1.c: Include nan.h.
53710         (main): Use NaNf instead of NAN.
53711         * modules/roundf-tests (Files): Add tests/nan.h.
53712
53713         * tests/test-truncf1.c: Include nan.h.
53714         (main): Use NaNf instead of NAN.
53715         * modules/truncf-tests (Files): Add tests/nan.h.
53716
53717         * tests/test-ceilf1.c: Include nan.h.
53718         (main): Use NaNf instead of NAN.
53719         * modules/ceilf-tests (Files): Add tests/nan.h.
53720
53721         * tests/test-floorf1.c: Include nan.h.
53722         (main): Use NaNf instead of NAN.
53723         * modules/floorf-tests (Files): Add tests/nan.h.
53724
53725         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53726         (main): Use NaNf instead of NAN.
53727         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53728
53729         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53730         (main): Use NaNd instead of NAN.
53731         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53732
53733         * tests/test-frexp.c: Include nan.h.
53734         (main): Use NaNd instead of NAN.
53735         * modules/frexp-tests (Files): Add tests/nan.h.
53736
53737         * lib/isnan.c: Don't include <math.h>.
53738         (FUNC): Don't use NAN macro.
53739         * modules/isnand-nolibm (Depends-on): Remove math.
53740         * modules/isnanf-nolibm (Depends-on): Remove math.
53741         * modules/isnanl (Depends-on): Remove math.
53742         * modules/isnanl-nolibm (Depends-on): Remove math.
53743
53744         * tests/nan.h: New file.
53745
53746 2008-04-01  Eric Blake  <ebb9@byu.net>
53747
53748         Fix typos.
53749         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53750         values to be the right type.
53751
53752         For now, cater to gnulib strtod inaccuracies.
53753         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53754         fractional results.  While not as nice from a QoI perspective, it
53755         is a quicker patch than correctly implementing decimal to binary
53756         rounding.
53757
53758 2008-03-31  Eric Blake  <ebb9@byu.net>
53759
53760         Guarantee a definition of NAN.
53761         * lib/math.in.h (NAN): Define if missing.
53762         * tests/test-math.c (main): Test it.
53763         * doc/posix-headers/math.texi (math.h): Document this.
53764         * lib/isnan.c (rpl_isnand): Use it.
53765         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53766         * tests/test-floorf1.c (NaN): Likewise.
53767         * tests/test-frexp.c (NaN): Likewise.
53768         * tests/test-isnand.c (NaN): Likewise.
53769         * tests/test-isnanf.c (NaN): Likewise.
53770         * tests/test-round1.c (NaN): Likewise.
53771         * tests/test-roundf1.c (NaN): Likewise.
53772         * tests/test-snprintf-posix.h (NaN): Likewise.
53773         * tests/test-sprintf-posix.h (NaN): Likewise.
53774         * tests/test-trunc1.c (NaN): Likewise.
53775         * tests/test-truncf1.c (NaN): Likewise.
53776         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53777         * tests/test-vasprintf-posix.c (NaN): Likewise.
53778         * modules/isnand-nolibm (Depends-on): Add math.
53779         * modules/isnanf-nolibm (Depends-on): Likewise.
53780         * modules/isnanl (Depends-on): Likewise.
53781         * modules/isnanl-nolibm (Depends-on): Likewise.
53782         * modules/snprintf-posix-tests (Depends-on): Likewise.
53783         * modules/sprintf-posix-tests (Depends-on): Likewise.
53784         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53785         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53786         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53787         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53788
53789 2008-03-31  Bruno Haible  <bruno@clisp.org>
53790
53791         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53792         * doc/posix-functions/strtod.texi: Likewise.
53793
53794 2008-03-31  Bruno Haible  <bruno@clisp.org>
53795
53796         * tests/test-strtod.c (main): Don't use C99 syntax.
53797
53798 2008-03-31  Bruno Haible  <bruno@clisp.org>
53799
53800         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53801         Reported by Eric Blake.
53802
53803 2008-03-31  Jim Meyering  <meyering@redhat.com>
53804
53805         Don't compare actual signbit return values.
53806         * tests/test-strtod.c (main): Rather, compare only their
53807         zero/non-zero nature.
53808
53809 2008-03-31  Eric Blake  <ebb9@byu.net>
53810
53811         More strtod documentation.
53812         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53813         failures as distinct bugs.
53814
53815 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53816
53817         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53818         Problem reported by Erik Benada in
53819         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53820
53821 2008-03-30  Bruno Haible  <bruno@clisp.org>
53822
53823         * tests/test-strtod.c: Add comments about which assertion fails on which
53824         platform.
53825         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53826
53827 2008-03-30  Eric Blake  <ebb9@byu.net>
53828
53829         Test signbit behavior on zeros.
53830         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53831         (test_signbitd, test_signbitl): Likewise.
53832
53833         More strtod touchups.
53834         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53835         sign of negative underflow, for now.  Use .5, not .1.
53836         * doc/posix-functions/strtod.texi (strtod): Mention these
53837         limitations.
53838         Reported by Jim Meyering.
53839
53840 2008-03-30  Bruno Haible  <bruno@clisp.org>
53841
53842         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53843         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53844
53845 2008-03-30  Bruno Haible  <bruno@clisp.org>
53846
53847         Avoid failure when attempting to return empty iconv results on some
53848         platforms.
53849         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53850         allocation, don't report ENOMEM when the resulting string is empty.
53851
53852 2008-03-30  Bruno Haible  <bruno@clisp.org>
53853
53854         Fix buffer overrun.
53855         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53856         Don't consider the width for tmp_length. Check count against tmp_length
53857         before doing the padding. Ensure enough allocation during padding.
53858
53859 2008-03-30  Eric Blake  <ebb9@byu.net>
53860
53861         strtod touchups.
53862         * lib/strtod.c (strtod): Avoid compiler warnings.
53863         Reported by Jim Meyering.
53864
53865 2008-03-30  Bruno Haible  <bruno@clisp.org>
53866
53867         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53868         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53869         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53870         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53871         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53872         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53873         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53874         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53875
53876         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53877         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53878         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53879         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53880         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53881         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53882         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53883         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53884
53885         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53886         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53887         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53888         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53889         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53890         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53891         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53892         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53893
53894         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53895         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53896
53897         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53898         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53899
53900         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53901         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53902
53903         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53905         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53906
53907         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53909         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53910
53911         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53912         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53913         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53914
53915         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53916         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53917         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53918
53919         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53920         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53921         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53922         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53923         (Depends-on): Add EOVERFLOW.
53924         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53925         (Depends-on): Add EOVERFLOW.
53926         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53927         (Depends-on): Add EOVERFLOW.
53928         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53929         (Depends-on): Add EOVERFLOW.
53930         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53931         (Depends-on): Add EOVERFLOW.
53932         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53933         (Depends-on): Add EOVERFLOW.
53934         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53935         (Depends-on): Add EOVERFLOW.
53936         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53937         (Depends-on): Add EOVERFLOW.
53938
53939         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53940         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53941         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53942
53943         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53944         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53945         * modules/snprintf (Depends-on): Add EOVERFLOW.
53946
53947         * lib/poll.c (EOVERFLOW): Remove fallback.
53948         * modules/poll (Depends-on): Add EOVERFLOW.
53949
53950         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53951         * modules/getugroups (Depends-on): Add EOVERFLOW.
53952
53953         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53954         * modules/getdelim (Depends-on): Add EOVERFLOW.
53955
53956         * lib/ftell.c (EOVERFLOW): Remove fallback.
53957         * modules/ftell (Depends-on): Add EOVERFLOW.
53958
53959         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53960         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53961         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53962
53963         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53964
53965         * modules/EOVERFLOW-tests: New file.
53966         * tests/test-EOVERFLOW.c: New file.
53967
53968         * modules/EOVERFLOW: New file.
53969         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53970
53971 2008-03-30  Bruno Haible  <bruno@clisp.org>
53972
53973         Fix bug introduced on 2007-06-10.
53974         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53975         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53976
53977 2008-03-30  Bruno Haible  <bruno@clisp.org>
53978
53979         Improve freadseek's efficiency after ungetc.
53980         * lib/freadseek.c: Include freadahead.h.
53981         (freadptrinc): New function, extracted from freadseek.
53982         (freadseek): Use it in a loop. Use freadahead to determine the number
53983         of loop iterations.
53984         * modules/freadseek (Depends-on): Add freadahead.
53985         (configure.ac): Require AC_C_INLINE.
53986
53987 2008-03-30  Bruno Haible  <bruno@clisp.org>
53988
53989         * lib/freadseek.c (freadseek): Don't ignore the return value of
53990         freadptr.
53991
53992 2008-03-29  Eric Blake  <ebb9@byu.net>
53993
53994         Add hex float support.
53995         * modules/strtod (Depends-on): Add c-ctype.
53996         (Link): Mention POW_LIB.
53997         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53998         whitespace between 'e' and exponent.
53999         * tests/test-strtod.c (main): Enable hex float tests.
54000         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54001         now provides.
54002
54003         Document various strtod bugs, with some fixes.
54004         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54005         "-0x", "inf", "nan", and hex constants.
54006         * doc/posix-functions/atof.texi (atof): Likewise.
54007         * modules/stdlib (Makefile.am): Support strtod.
54008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54009         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54010         detect additional strtod bugs.
54011         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54012         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54013         bool where appropriate.  Parse 'inf' and 'nan'.
54014         * tests/test-strtod.c: New file.
54015         * modules/strtod (Depends-on): Add stdbool, stdlib.
54016         (configure.ac): Turn on module indicator.
54017         * modules/strtod-tests: New module.
54018
54019 2008-03-29  Eric Blake  <ebb9@byu.net>
54020
54021         Fix ftell on mingw.
54022         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54023         * modules/ftell-tests (Depends-on): Add binary-io.
54024         * modules/ftello-tests (Depends-on): Likewise.
54025         * tests/test-ftell.c (main): Enhance test to cover behavior after
54026         ungetc.  Enforce binary mode.
54027         * tests/test-ftello.c (main): Likewise.
54028
54029         Pass test-freadseek on cygwin.
54030         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54031         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54032         ungetc buffer.
54033
54034         * tests/test-fflush2.c (main): Fix typo.
54035
54036 2008-03-29  Bruno Haible  <bruno@clisp.org>
54037
54038         * tests/test-fflush2.c (main): Temporarily disable the contents of
54039         this test.
54040         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54041         Reported by Eric Blake.
54042
54043 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54044
54045         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54046         (GC_SHA224_DIGEST_SIZE): Add.
54047
54048         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54049         (gc_hash_digest_length): Likewise.
54050         (gc_hash_buffer): Likewise.
54051
54052 2008-03-25  Bruno Haible  <bruno@clisp.org>
54053
54054         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54055         detail which gettext release to use.
54056         Reported by Simon Josefsson.
54057
54058 2008-03-26  Jim Meyering  <meyering@redhat.com>
54059
54060         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54061         * modules/gnumakefile (clean-GNUmakefile): Also, use
54062         test ... && ... || : syntax rather than if-then ... fi.
54063
54064         gnumakefile: Don't double-quote-expand $(VPATH) value.
54065         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54066
54067 2008-03-24  Eric Blake  <ebb9@byu.net>
54068
54069         Alter GNUmakefile to install into top directory.
54070         * modules/maintainer-makefile: Split, and add dependency...
54071         * modules/gnumakefile: to this new module.
54072         * build-aux/GNUmakefile: Move...
54073         * top/GNUmakefile: ...here.
54074         * build-aux/maint.mk: Move...
54075         * top/maint.mk: ...here.
54076         * MODULES.html.sh (Support for maintaining...): Document new
54077         module.
54078
54079 2008-03-23  Bruno Haible  <bruno@clisp.org>
54080
54081         * gnulib-tool: New options --vc-files, --no-vc-files.
54082         (func_usage): Document them.
54083         (vc_files): New variable.
54084         (func_import): Consider vc_files.
54085         (func_create_testdir): Set vc_files to empty.
54086         Suggested by Jim Meyering and Karl Berry.
54087
54088 2008-03-23  Bruno Haible  <bruno@clisp.org>
54089
54090         Fix regex compilation error on HP-UX 11.
54091         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54092         * modules/regex (Files): Add m4/mbstate_t.m4.
54093         Reported by Ton Voon <ton.voon@altinity.com>.
54094
54095 2008-03-23  Bruno Haible  <bruno@clisp.org>
54096
54097         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54098
54099 2008-03-23  Eric Blake  <ebb9@byu.net>
54100             Bruno Haible  <bruno@clisp.org>
54101
54102         Install files from top/ in the destination directory.
54103         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54104         augmentation also for the files from top/.
54105         (func_import, func_create_testdir): Rewrite file names:
54106         top/filename -> filename.
54107
54108 2008-03-23  Bruno Haible  <bruno@clisp.org>
54109
54110         Tweak "gnulib --version" output.
54111         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54112
54113 2008-03-23  Bruno Haible  <bruno@clisp.org>
54114
54115         Tweak "gnulib --version" output.
54116         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54117         rather than contents of ChangeLog, when possible.
54118
54119 2008-03-21  Eric Blake  <ebb9@byu.net>
54120
54121         More --version tweaks.
54122         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54123         date of last ChangeLog entry.
54124
54125 2008-03-21  Jim Meyering  <meyering@redhat.com>
54126
54127         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54128
54129 2008-03-20  Eric Blake  <ebb9@byu.net>
54130
54131         VPATH fix.
54132         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54133
54134 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54135
54136         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54137         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54138
54139 2008-03-20  Eric Blake  <ebb9@byu.net>
54140
54141         Sync GNUmakefile with coreutils.
54142         * build-aux/GNUmakefile (have-Makefile): Rename...
54143         (_have-Makefile): ...to this, for namespace consideration.
54144         (GNUmakefile.cfg): Include, if present.
54145         (_autoreconf): Define a default.
54146         (_is-dist-target): New rule for rebuilds to pick up intra-release
54147         version.
54148         (maint-cfg.mk): Rename...
54149         (cfg.mk): ...to this.
54150
54151 2008-03-18  Jim Meyering  <meyering@redhat.com>
54152
54153         New script and module: mktempd
54154         * MODULES.html.sh (maint+release support): Add mktempd.
54155         * build-aux/mktempd: New file.
54156         * modules/mktempd: New file.
54157
54158 2008-03-15  Jim Meyering  <meyering@redhat.com>
54159
54160         Undo last change.
54161         * lib/sha1.c, lib/md5.c: 63 != ~63.
54162         Reported by Andreas Schwab.
54163
54164         sha1.c, md5.c: Hoist a redundant expression.
54165         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54166         "ctx->buflen" only once, before calling *_process_block.
54167         * lib/md5.c (md5_process_bytes): Likewise.
54168
54169 2008-03-14  Eric Blake  <ebb9@byu.net>
54170
54171         Bump copyright year in files generated by gnulib-tool.
54172         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54173         gnulib-tool, rather than hard-coding it.
54174
54175         Fix 'gnulib-tool --version' output to work with git.
54176         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54177         (startup): ...here.
54178         (func_version): Use it to invoke git-version-gen, rather than
54179         relying on CVS keyword expansion.  Modernize wording.
54180         (cvsdatestamp, last_checkin_date, version): Kill unused
54181         variables.
54182
54183 2008-03-12  Jim Meyering  <meyering@redhat.com>
54184
54185         Recognize optional cast of the argument to free.
54186         * build-aux/useless-if-before-free: Update regexps.
54187
54188         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
54189
54190 2008-03-11  Bruno Haible  <bruno@clisp.org>
54191
54192         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
54193         by a single package.
54194         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
54195         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
54196         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
54197         Reported by Sam Steingold <sds@gnu.org>.
54198
54199 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54200
54201         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
54202         repositories.
54203
54204 2008-03-11  Bruno Haible  <bruno@clisp.org>
54205
54206         Avoid conflicts between local macro definitions.
54207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54208         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
54209
54210 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
54211             Bruno Haible  <bruno@clisp.org>
54212
54213         Make va_copy work with some version of xlc on AIX 5.1.
54214         * lib/stdarg.in.h: New file.
54215         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
54216         On AIX, use a <stdarg.h> file substitute.
54217         * modules/stdarg (Files): Add lib/stdarg.in.h.
54218         (Depends-on): Add include_next.
54219         (Makefile.am): Build a stdarg.h substitute if requested.
54220         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
54221
54222 2008-03-10  Bruno Haible  <bruno@clisp.org>
54223
54224         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
54225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54226         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54227
54228 2008-03-10  Bruno Haible  <bruno@clisp.org>
54229
54230         * modules/stdlib (Depends-on): Add include_next, remove
54231         absolute-header.
54232
54233 2008-03-09  Bruno Haible  <bruno@clisp.org>
54234
54235         * lib/freadahead.h (freadahead): Document more precisely.
54236         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
54237         the sum of both buffer sizes.
54238         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
54239         * NEWS: Document the change.
54240
54241 2008-03-09  Bruno Haible  <bruno@clisp.org>
54242
54243         Extend freadptr to return also the buffer size.
54244         * lib/freadptr.h (freadptr): Add sizep argument.
54245         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
54246         (freadptr): Add sizep argument. Determine buffer size like freadahead
54247         does.
54248         * tests/test-freadptr.c: Don't include freadahead.h.
54249         (main): Adapt for new calling convention of freadptr.
54250         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
54251         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
54252         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
54253         tests/test-freadptr2.sh.
54254         (Depends): Remove freadahead.
54255         (TESTS): Add test-freadptr2.sh.
54256         (check_PROGRAMS): Add test-freadptr2.
54257
54258 2008-03-09  Bruno Haible  <bruno@clisp.org>
54259
54260         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
54261         Report and solution by Simon Josefsson.
54262
54263 2008-03-06  Bruno Haible  <bruno@clisp.org>
54264
54265         Make fflush after ungetc work on BSD platforms.
54266         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
54267         * tests/test-fflush2.c: New file.
54268         * tests/test-fflush2.sh: New file.
54269         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
54270         tests/test-fflush2.c.
54271         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
54272         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
54273
54274 2008-03-06  Eric Blake  <ebb9@byu.net>
54275
54276         Likewise for ftello.
54277         * modules/ftello (Dependencies): Add extensions.
54278         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
54279
54280 2008-03-06  Bruno Haible  <bruno@clisp.org>
54281
54282         * modules/fseeko (Dependencies): Add extensions.
54283         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
54284         Needed on glibc systems.
54285
54286 2008-03-06  Bruno Haible  <bruno@clisp.org>
54287
54288         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
54289         email address.
54290         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54291
54292 2008-03-06  Bruno Haible  <bruno@clisp.org>
54293
54294         * users.txt: Add libgnupdf.
54295
54296 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54297
54298         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
54299         (Header File Substitutes, Function Substitutes,
54300         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
54301         (Build robot for gnulib): Fix typo.
54302
54303 2008-03-06  Bruno Haible  <bruno@clisp.org>
54304
54305         * doc/gnulib-tool.texi (VCS Issues): Small updates.
54306         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54307
54308 2008-03-06  Bruno Haible  <bruno@clisp.org>
54309
54310         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54311         * doc/gnulib.texi: Include it.
54312
54313 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54314
54315         * modules/func (License): Change license to unlimited; there was
54316         no LGPL parts in the module anyway.
54317
54318 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54319
54320         * modules/__func__: Renamed to modules/func.
54321         * modules/__func__-tests: Renamed to modules/func-tests.
54322         * tests/test-__func__.c: Renamed to tests/test-func.c.
54323         * m4/__func__.m4: Renamed to m4/func.m4.
54324         * doc/gnulib.texi (__func__): Section renamed to func.
54325         Suggested by Eric Blake <ebb9@byu.net>.
54326
54327 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54328
54329         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54330         about __func__.  Make example self-contained.  Suggested by Eric
54331         Blake <ebb9@byu.net>.
54332
54333         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54334         Suggested by Eric Blake <ebb9@byu.net>.
54335
54336 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54337
54338         * modules/__func__: New file.
54339         * modules/__func__-tests: New file.
54340         * tests/test-__func__.c: New file.
54341         * m4/__func__.m4: New file.
54342         * doc/gnulib.texi (__func__): Document __func__ module.
54343
54344 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54345
54346         * modules/byteswap (License): Re-license as LGPLv2+.
54347
54348 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54349
54350         * doc/Makefile: Add pdf target.
54351
54352 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54353
54354         * modules/inline (License): Use 'unlimited', since there are only
54355         *.m4 files in this module.
54356
54357 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54358             Bruno Haible  <bruno@clisp.org>
54359
54360         Add support for HP C 7.1 on OpenVMS 8.3.
54361         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
54362
54363 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54364
54365         Update VMS specifics.
54366         * lib/getopt.c [VMS]: Remove include of unixlib.h.
54367
54368 2008-03-02  Jim Meyering  <meyering@redhat.com>
54369
54370         Remove the last dependency on the "free" module.
54371         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
54372         Reported by Bob Proulx.
54373
54374         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
54375
54376         Remove useless "if" tests before free.  Deprecate "free" module.
54377         * doc/posix-functions/free.texi: Mention that this
54378         module is no longer useful.
54379         * modules/free (Notice): Say this module is obsolete.
54380         * modules/readutmp (Depends-on): Remove free.
54381         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54382         * lib/putenv.c (putenv): Likewise.
54383         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54384         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54385         * tests/test-c-strcasestr.c (main): Likewise.
54386         * tests/test-c-strstr.c (main): Likewise.
54387         * tests/test-mbscasestr1.c (main): Likewise.
54388         * tests/test-mbscasestr2.c (main): Likewise.
54389         * tests/test-mbsstr1.c (main): Likewise.
54390         * tests/test-mbsstr2.c (main): Likewise.
54391         * tests/test-memmem.c (main): Likewise.
54392         * tests/test-strcasestr.c (main): Likewise.
54393         * tests/test-striconv.c (main): Likewise.
54394         * tests/test-striconveh.c (main): Likewise.
54395         * tests/test-striconveha.c (main): Likewise.
54396         * tests/test-strstr.c (main): Likewise.
54397
54398         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54399
54400         bootstrap: sync from coreutils again
54401         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54402
54403 2008-03-01  Jim Meyering  <meyering@redhat.com>
54404
54405         bootstrap: sync from coreutils
54406         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54407         also when the target doesn't exist.
54408
54409 2008-03-01  Eric Blake  <ebb9@byu.net>
54410
54411         Fix bugs in last patch.
54412         * lib/memchr2.c (memchr2): Fix typo.
54413         * tests/test-memchr2.c: Test previous bug, and don't use GNU
54414         extension.
54415         Reported by Bruce Korb.
54416
54417         New module 'memchr2'.
54418         * modules/memchr2: New file.
54419         * modules/memchr2-tests: Likewise.
54420         * lib/memchr2.h: Likewise.
54421         * lib/memchr2.c: Likewise, based on memchr.c.
54422         * tests/test-memchr2.c: New test.
54423         * MODULES.html.sh (String handling): Add memchr2.
54424
54425 2008-02-29  Bruno Haible  <bruno@clisp.org>
54426
54427         * modules/freadseek-tests: New file.
54428         * tests/test-freadseek.sh: New file.
54429         * tests/test-freadseek.c: New file.
54430
54431         New module 'freadseek'.
54432         * modules/freadseek: New file.
54433         * lib/freadseek.h: New file.
54434         * lib/freadseek.c: New file.
54435         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
54436
54437 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54438
54439         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
54440         wydawca.
54441
54442         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
54443         program_invocation_name and program_invocation_short_name are
54444         present.
54445
54446 2008-02-28  Bruno Haible  <bruno@clisp.org>
54447
54448         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
54449         * tests/test-freadptr.sh: Also test non-seekable stdin.
54450
54451 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
54452
54453         * build-aux/bootstrap (source_base, m4_base)
54454         (doc_base, tests_base): New variables.
54455         (gnulib_tool_options): Do not hardcode base directories, use
54456         the above variables instead.
54457
54458 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
54459
54460         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
54461
54462 2008-02-28  Bruno Haible  <bruno@clisp.org>
54463
54464         * modules/freadptr-tests: New file.
54465         * tests/test-freadptr.sh: New file.
54466         * tests/test-freadptr.c: New file.
54467
54468         New module 'freadptr'.
54469         * modules/freadptr: New file.
54470         * lib/freadptr.h: New file.
54471         * lib/freadptr.c: New file.
54472         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
54473
54474 2008-02-26  Karl Berry  <karl@freefriends.org>
54475
54476         Sync from Libtool:
54477         * libltdl/argz.c (argz_add, argz_count): New functions.
54478         * libltdl/argz.in.h: Declare them.
54479         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
54480
54481 2008-02-22  Bruno Haible  <bruno@clisp.org>
54482
54483         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54484         is a pointer type.  Needed for HP-UX 10.
54485         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54486         * doc/posix-functions/gmtime_r.texi: Likewise.
54487         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54488
54489 2008-02-24  Bruno Haible  <bruno@clisp.org>
54490
54491         * modules/environ-tests: New file.
54492         * tests/test-environ.c: New file.
54493
54494         New module 'environ'.
54495         * modules/environ: New file.
54496         * lib/unistd.in.h (environ): New declaration.
54497         * m4/environ.m4: New file.
54498         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54499         after use.
54500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54501         HAVE_DECL_ENVIRON.
54502         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54503         HAVE_DECL_ENVIRON.
54504         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54505         wrong claim that 'environ' is missing on some systems.
54506         * modules/execute (Depends-on): Add environ.
54507         * lib/execute.c (environ): Remove fallback declaration.
54508         * modules/pipe (Depends-on): Add environ.
54509         * lib/pipe.c (environ): Remove fallback declaration.
54510         * modules/setenv (Depends-on): Add environ.
54511         * lib/setenv.c (environ): Remove fallback declaration.
54512         * modules/unsetenv (Depends-on): Add environ.
54513         * lib/unsetenv.c (environ): Remove fallback declaration.
54514         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54515         m4/environ.m4.
54516         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54517         (gl_PREREQ_UNSETENV): Likewise.
54518
54519 2008-02-24  Bruno Haible  <bruno@clisp.org>
54520
54521         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54522
54523 2008-02-20  Bob Proulx  <bob@proulx.com>
54524
54525         Enable use of older two part flavor 'git describe'.
54526         * build-aux/git-version-gen: If using the older two part flavor of
54527         git version then recreate the third part now present in the
54528         newer three part flavor of git describe.
54529
54530 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54531
54532         * lib/fts.c (fts_build): Typo correction to comment.
54533
54534 2008-02-17  Bruno Haible  <bruno@clisp.org>
54535
54536         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54537         generating no-op conflicts.
54538
54539 2008-02-17  Bruno Haible  <bruno@clisp.org>
54540
54541         Speed up by 10%.
54542         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54543         result_entries, rather than an index-based loop.
54544
54545 2008-02-17  Bruno Haible  <bruno@clisp.org>
54546
54547         Speed up by 25%.
54548         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54549         'hashcode_cached'.
54550         (entry_create): New function.
54551         (entry_hashcode): Use the cached hashcode if possible.
54552         (read_changelog_file, try_split_merged_entry): Use entry_create.
54553
54554 2008-02-17  Bruno Haible  <bruno@clisp.org>
54555
54556         Speed up from O(n^2) to O(n) for long ChangeLog files.
54557         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54558         (read_changelog_file): Change implementation of entries_reversed list
54559         to rbtreehash.
54560         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54561
54562 2008-02-17  Bruno Haible  <bruno@clisp.org>
54563
54564         New option --split-merged-entry.
54565         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54566         (find_paragraph_end, try_split_merged_entry): New functions.
54567         (long_options): Add option --split-merged-entry.
54568         (usage): Document option --split-merged-entry.
54569         (main): Implement option --split-merged-entry.
54570         Reported by Eric Blake.
54571
54572 2008-02-17  Bruno Haible  <bruno@clisp.org>
54573
54574         * lib/git-merge-changelog.c: Include c-strstr.h.
54575         (main): Support the "git pull --rebase" situation.
54576         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54577         Reported by Eric Blake.
54578
54579 2008-02-16  Eric Blake  <ebb9@byu.net>
54580
54581         Avoid doubling \ in common case of "c-maybe" quoting style.
54582         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54583         eliding outer quotes.
54584         * lib/quotearg.h: Document this.
54585         * tests/test-quotearg.c (result_strings, inputs, results_g)
54586         (flag_results, locale_results): Test it by adding a new string to
54587         each test group.
54588         (compare_strings): Test new string.
54589
54590 2008-02-13  Eric Blake  <ebb9@byu.net>
54591
54592         Avoid trigraph quoting in default output.
54593         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54594         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54595         unless explicitly requested.
54596         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54597
54598 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54599
54600         Don't rely on signed integer overflowing to negative value.
54601         * lib/getugroups.c (getugroups): Include <limits.h>.
54602         Instead, compare against INT_MAX, and increment only if the test passes.
54603
54604 2008-02-13  Jim Meyering  <meyering@redhat.com>
54605         and Eric Blake  <ebb9@byu.net>
54606
54607         Avoid shadowing warning and compile errors on Linux.
54608         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54609         forwarding macros on Linux.
54610         (dcgettext): Define a stub, for Linux.
54611         (results_g, main): Avoid warnings.
54612
54613 2008-02-12  Eric Blake  <ebb9@byu.net>
54614
54615         Silence warning in last patch.
54616         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54617
54618         Quotearg part 4: add tests, fix c-maybe colon quoting.
54619         * lib/quotearg.h: Improve documentation.
54620         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54621         escapes when adding outer quotes.  When quoting trigraphs, use
54622         valid C notation.  When quoting NUL, omit extra characters if next
54623         character is not digit.  Alter prototype.
54624         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54625         callers.
54626         * modules/quotearg-tests: New module.
54627         * tests/test-quotearg.c: New test.
54628
54629 2008-02-07  Eric Blake  <ebb9@byu.net>
54630
54631         Quotearg part 3: add flag to control outer quote elision.
54632         * lib/quotearg.h (c_maybe_quoting_style): New style.
54633         (enum quoting_flags): Better documentation of flags.
54634         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54635         c-maybe style.
54636         (quotearg_buffer_restyled): Handle new flag to elide outer
54637         quotes.
54638
54639         Quotearg part 2: add flag that can control NUL elision.
54640         * lib/quotearg.h (set_quoting_flags): New prototype.
54641         * lib/quotearg.c (struct quoting_options): Add flag field.
54642         (set_quoting_flags): New function.
54643         (quotearg_buffer_restyled): Add flags parameter.
54644         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54645         (quotearg_n_options): Set the flag, since length cannot be
54646         returned.
54647         (quoting_options_from_style): Default flags correctly.
54648
54649         Quotearg part 1: more wrappers, restore quotearg_char state.
54650         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54651         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54652         (quotearg_colon_mem): New wrappers.
54653         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54654         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54655         functions.
54656         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54657         (quotearg_colon_mem): New functions.
54658
54659 2008-02-11  Bruno Haible  <bruno@clisp.org>
54660
54661         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54662         library in the current directory: it does not work with parallel make.
54663         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54664
54665 2008-02-11  Bruno Haible  <bruno@clisp.org>
54666
54667         * .gitattributes: New file.
54668
54669 2008-02-11  Jim Meyering  <meyering@redhat.com>
54670
54671         useless-if-before-free: Fix reversed exit values.
54672         * build-aux/useless-if-before-free: Use correct values
54673         for EXIT_MATCH and EXIT_NO_MATCH.
54674
54675         * build-aux/useless-if-before-free: Close stdout carefully.
54676
54677 2008-02-10  Bruno Haible  <bruno@clisp.org>
54678
54679         New module 'git-merge-changelog'.
54680         * modules/git-merge-changelog: New file.
54681         * lib/git-merge-changelog.c: New file.
54682
54683 2008-02-10  Jim Meyering  <meyering@redhat.com>
54684
54685         useless-if-before-free: New option: --list (-l).
54686
54687         useless-if-before-free: Don't exit immediately upon open failure.
54688         * build-aux/useless-if-before-free: Exit 2 for errors.
54689         Upon failure to open a file, don't exit immediately.
54690         Rather, just warn and continue with any remaining files.
54691
54692 2008-02-10  Bruno Haible  <bruno@clisp.org>
54693
54694         New abstract list operation 'node_set_value'.
54695         * lib/gl_list.h (gl_list_node_set_value): New function.
54696         (struct gl_list_implementation): New field node_set_value.
54697         * lib/gl_list.c (gl_list_node_set_value): New function.
54698         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54699         (gl_array_list_implementation): Update.
54700         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54701         (gl_carray_list_implementation): Update.
54702         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54703         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54704         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54705         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54706         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54707         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54708         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54709         Update.
54710         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54711         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54712         (gl_sublist_list_implementation): Update.
54713
54714 2008-02-10  Bruno Haible  <bruno@clisp.org>
54715
54716         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54717         Needed when ELEMENT is #defined to 'some_type *'.
54718
54719 2008-02-10  Jim Meyering  <meyering@redhat.com>
54720
54721         New script and module: useless-if-before-free
54722         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54723         * build-aux/useless-if-before-free: New file.
54724         * modules/useless-if-before-free: New file.
54725
54726         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54727
54728         xstrtol_error: Fix typo.
54729         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54730         s/exit_failure/exit_status/.
54731
54732 2008-02-09  Jim Meyering  <meyering@redhat.com>
54733
54734         New script and module: gitlog-to-changelog
54735         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54736         * modules/gitlog-to-changelog: New file.
54737         * build-aux/gitlog-to-changelog: New file.
54738
54739 2008-02-08  Jim Meyering  <meyering@redhat.com>
54740
54741         Avoid two "parameter unused" warnings.
54742         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54743         Mark "st" as used.
54744
54745         Use "git COMMAND", not "git-COMMAND".
54746         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54747         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54748         * build-aux/git-version-gen: Use "git status", not "git-status".
54749
54750 2008-02-07  Bruno Haible  <bruno@clisp.org>
54751
54752         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54753         Avoids a crash on Windows Vista.
54754         Reported by Adam Strzelecki <ono@java.pl> via
54755         Simon Josefsson <simon@josefsson.org>.
54756
54757 2008-02-06  Bruno Haible  <bruno@clisp.org>
54758
54759         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54760         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54761         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54763         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54764         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54765         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54766         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54767         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54768         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54769         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54770         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54771         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54772         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54773         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54774         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54775         left-adjust flag.
54776         * tests/test-snprintf-posix.h (test_function): Likewise.
54777         * tests/test-sprintf-posix.h (test_function): Likewise.
54778         * tests/test-vasprintf-posix.c (test_function): Likewise.
54779         * doc/posix-functions/fprintf.texi: Update.
54780         * doc/posix-functions/printf.texi: Update.
54781         * doc/posix-functions/snprintf.texi: Update.
54782         * doc/posix-functions/sprintf.texi: Update.
54783         * doc/posix-functions/vfprintf.texi: Update.
54784         * doc/posix-functions/vprintf.texi: Update.
54785         * doc/posix-functions/vsnprintf.texi: Update.
54786         * doc/posix-functions/vsprintf.texi: Update.
54787         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54788
54789 2008-02-06  Bruno Haible  <bruno@clisp.org>
54790
54791         Fix bug introduced on 2008-01-26.
54792         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54793
54794 2008-02-06  Bruno Haible  <bruno@clisp.org>
54795
54796         Fix bug introduced on 2007-06-10.
54797         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54798         !NEED_PRINTF_FLAG_ZERO.
54799
54800 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54801
54802         getloadavg: use libperfstat on AIX5
54803         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54804
54805 2008-02-03  Bruno Haible  <bruno@clisp.org>
54806
54807         * lib/diffseq.h: Add comments about required #includes.
54808         Reported by Michael Biggs <gnulib@doubleplum.net>.
54809
54810 2008-02-01  Bruno Haible  <bruno@clisp.org>
54811
54812         * users.txt: Add gnuit.
54813
54814 2008-01-31  Bruno Haible  <bruno@clisp.org>
54815
54816         * lib/md4.c (set_uint32): Mark as inline.
54817         * lib/md5.c (set_uint32): Likewise.
54818         * lib/sha1.c (set_uint32): Likewise.
54819         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54820         * m4/md5.m4 (gl_MD5): Likewise.
54821         * m4/sha1.m4 (gl_SHA1): Likewise.
54822
54823 2008-01-31  Jim Meyering  <meyering@redhat.com>
54824
54825         Use "sizeof VAR", rather than a literal "4".
54826         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54827         * lib/md4.c (md4_read_ctx): Likewise.
54828         * lib/sha1.c (sha1_read_ctx): Likewise.
54829
54830 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54831
54832         * tests/test-sha1.c: New file, based on test-md5.c.
54833
54834         * modules/crypto/sha1-tests: New file.
54835
54836 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54837
54838         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54839
54840 2008-01-31  Jim Meyering  <meyering@redhat.com>
54841
54842         Prefer "sizeof v" over the equivalent "4".
54843         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54844         * lib/md5.c (set_uint32): Likewise.
54845         * lib/sha1.c (set_uint32): Likewise.
54846
54847 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54848
54849         * lib/sha1.c (set_uint32): Mark function as static.
54850
54851 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54852
54853         md2: clarify comments to say that alignment is not required.
54854         * lib/md2.h: Remove warning about alignment in comment.
54855         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54856         never been required.
54857
54858 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54859
54860         md4: adapt alignment constraint fix from sha1.
54861         * lib/md4.c (set_uint32): New function, from sha1.c
54862         (md4_read_ctx): Use it.
54863         (md4_finish_ctx): Doc fix.
54864         * lib/md4.h: Doc fix.
54865
54866 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54867
54868         md5: adapt alignment constraint fix from sha1.
54869         * lib/md5.c (set_uint32): New function, from sha1.c
54870         (md5_read_ctx): Use it.
54871         (md5_finish_ctx): Doc fix.
54872         * lib/md5.h: Doc fix.
54873
54874 2008-01-30  Peter Palfrader  <weasel@debian.org>
54875
54876         sha1: remove the result buffer alignment constraint
54877         * lib/sha1.c (set_uint32): New function.
54878         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54879         constraint.
54880         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54881         * lib/sha1.h: Likewise.
54882
54883 2008-01-30  Andreas Schwab  <schwab@suse.de>
54884             Bruno Haible  <bruno@clisp.org>
54885
54886         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54887         correct definition of LDBL_MIN_EXP.
54888
54889 2008-01-30  Karl Berry  <karl@gnu.org>
54890
54891         * config/srclist-update: try to preserve x bit on updates.
54892         * config/srclistvars.sh: update for karl.
54893
54894 2008-01-29  Jim Meyering  <meyering@redhat.com>
54895
54896         vasnprintf.c: Avoid warning about unused label
54897         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54898         "overflow" label definition and associated code with the
54899         same cpp condition that guards the sole use of that label.
54900
54901 2008-01-26  Bruno Haible  <bruno@clisp.org>
54902
54903         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54904         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54905         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54906         * lib/isnanl-nolibm.h (isnanl): Likewise.
54907         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54908
54909 2008-01-26  Bruno Haible  <bruno@clisp.org>
54910
54911         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54912         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54913
54914 2008-01-26  Bruno Haible  <bruno@clisp.org>
54915
54916         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54917         GCC >= 4.0 built-in.
54918         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54919
54920 2008-01-26  Bruno Haible  <bruno@clisp.org>
54921
54922         Rename isnan, applicable to 'double' only, to isnand.
54923         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54924         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54925         (configure.ac): Update.
54926         (Include): Replace "isnan.h" with "isnand.h".
54927         * m4/isnand.m4: Renamed from m4/isnan.m4.
54928         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54929         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54930         instead of isnan.c.
54931         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54932         instead of HAVE_ISNAN_IN_LIBC.
54933         (isnand): Renamed from isnan.
54934         * lib/isnand.c: New file.
54935         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54936         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54937         (Makefile.am): Update.
54938         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54939         Include isnand.h instead of isnan.h.
54940         (main): Test isnand instead of isnan.
54941         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54942         isnan-nolibm.
54943         * modules/frexp (Depends-on): Likewise.
54944         * modules/frexp-tests (Depends-on): Likewise.
54945         * modules/frexp-nolibm (Depends-on): Likewise.
54946         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54947         * modules/isfinite (Depends-on): Likewise.
54948         * modules/round-tests (Depends-on): Likewise.
54949         * modules/signbit (Depends-on): Likewise.
54950         * modules/signbit-tests (Depends-on): Likewise.
54951         * modules/snprintf-posix (Depends-on): Likewise.
54952         * modules/sprintf-posix (Depends-on): Likewise.
54953         * modules/trunc-tests (Depends-on): Likewise.
54954         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54955         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54956         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54957         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54958         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54959         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54960         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54961         * modules/vasnprintf-posix (Depends-on): Likewise.
54962         * modules/vasprintf-posix (Depends-on): Likewise.
54963         * modules/vfprintf-posix (Depends-on): Likewise.
54964         * modules/vsnprintf-posix (Depends-on): Likewise.
54965         * modules/vsprintf-posix (Depends-on): Likewise.
54966         * lib/frexp.c: Include isnand.h instead of isnan.h.
54967         (ISNAN): Set to isnand instead of isnan.
54968         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54969         (gl_isfinited): Use isnand instead of isnan.
54970         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54971         (gl_signbitd): Use isnand instead of isnan.
54972         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54973         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54974         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54975         (main): Use isnand instead of isnan.
54976         * tests/test-round1.c: Include isnand.h.
54977         (main): Use isnand instead of isnan.
54978         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54979         (ISNAN): Set to isnand instead of isnan.
54980         * tests/test-trunc1.c: Include isnand.h.
54981         (main): Use isnand instead of isnan.
54982         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54983         (equal): Use isnand instead of isnan.
54984         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54985         isnand-nolibm.
54986         * NEWS: Mention the change.
54987
54988 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54989             Bruno Haible  <bruno@clisp.org>
54990
54991         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54992         the GCC builtins for signbits are present and set
54993         REPLACE_SIGNBIT_USING_GCC if so.
54994         * lib/math.in.h (signbit): Define using GCC builtins if
54995         REPLACE_SIGNBIT_USING_GCC is set.
54996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54997         REPLACE_SIGNBIT_USING_GCC.
54998         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54999
55000 2008-01-25  Jim Meyering  <meyering@redhat.com>
55001
55002         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55003         * lib/poll.c: Include <config.h>, not "config.h".
55004         * tests/test-getaddrinfo.c: Likewise.
55005
55006 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55007
55008         * modules/sockets-tests: New file.
55009
55010 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55011
55012         * modules/sockets: New module, can be used to call WSA_Startup and
55013         WSA_Cleanup when needed.
55014
55015         * lib/sockets.h, lib/sockets.c: New files.
55016
55017         * m4/sockets.m4: New file.
55018
55019         * tests/test-sockets.c: New file.
55020
55021 2008-01-19  Bruno Haible  <bruno@clisp.org>
55022
55023         * doc/posix-headers: Renamed from doc/headers.
55024         * doc/posix-functions: Renamed from doc/functions.
55025         * doc/gnulib.texi: Update.
55026
55027 2008-01-19  Bruno Haible  <bruno@clisp.org>
55028
55029         * doc/glibc-functions/strcasestr.texi: Include contents of
55030         doc/functions/strcasestr.texi, fixing the list of platforms.
55031         * doc/functions/strcasestr.texi: Remove file.
55032
55033 2008-01-19  Bruno Haible  <bruno@clisp.org>
55034
55035         * doc/glibc-functions/memmem.texi: Include contents of
55036         doc/functions/memmem.texi.
55037         * doc/functions/memmem.texi: Remove file.
55038
55039 2008-01-18  Bruno Haible  <bruno@clisp.org>
55040
55041         * doc/glibc-functions/*.texi: New files.
55042         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55043         to use the new files.
55044
55045 2008-01-17  Bruno Haible  <bruno@clisp.org>
55046
55047         * tests/test-gethostname.c (main): Fix printf statement.
55048
55049 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55050
55051         * modules/gethostname-tests: New file.
55052
55053         * tests/test-gethostname.c: New file.
55054
55055 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55056
55057         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55058         used by the UNAME case.  Reported by Bruno Haible
55059         <bruno@clisp.org>.
55060
55061 2008-01-17  Eric Blake  <ebb9@byu.net>
55062
55063         Convert c-strcasestr to be more efficient.
55064         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55065         (Depends-on): Add c-strcase, remove malloca, strnlen.
55066         * tests/test-c-strcasestr.c (main): Enhance test.
55067         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55068
55069 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55070
55071         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55072         Use it in creating po/Makevars.
55073
55074 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55075
55076         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55077         Applications that requires it should initialize libgcrypt
55078         manually.
55079
55080 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55081
55082         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55083
55084 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55085
55086         Fix problem with getdate on mingw32 reported by Simon Josefsson
55087         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55088         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55089         tzname", when deciding whether to declare tzname.
55090         * lib/strftime.c (tzname): Likewise.
55091
55092 2008-01-15  Bruno Haible  <bruno@clisp.org>
55093
55094         Work around a MacOS X 10.5 bug in frexpl().
55095         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55096         * doc/functions/frexpl.texi: Document the bug.
55097         Reported by Elias Pipping <pipping@gentoo.org>.
55098
55099 2008-01-14  Eric Blake  <ebb9@byu.net>
55100
55101         Touch up previous patch.
55102         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55103         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55104
55105         Convert strcasestr module to use Two-Way algorithm.
55106         * modules/strcasestr-simple: New module, based on the old
55107         strcasestr, but with Two-Way rather than KMP.
55108         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55109         * lib/string.in.h (rpl_strcasestr): Declare.
55110         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55111         performance.
55112         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55113         * modules/string (Makefile.am): Support strcasestr.
55114         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55115         * modules/strcasestr-tests (Depends-on): Check for alarm.
55116         * tests/test-strcasestr.c: Augment test.
55117         * lib/str-two-way.h: Clean up stray macro.
55118         * NEWS: Document new module.
55119         * MODULES.html.sh (string handling): Likewise.
55120         * doc/functions/strcasestr.texi: New file.
55121         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55122         here, since it is not a POSIX function.
55123
55124 2008-01-14  Colin Watson  <cjwatson@debian.org>
55125             Bruno Haible  <bruno@clisp.org>
55126
55127         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55128         works fine; if not, set REPLACE_STRSIGNAL.
55129         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55130         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55131         REPLACE_STRSIGNAL.
55132         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55133         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55134         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55135
55136 2008-01-14  Bruno Haible  <bruno@clisp.org>
55137
55138         * modules/strsignal (Include): Change to <string.h>.
55139
55140 2008-01-14  Colin Watson  <cjwatson@debian.org>
55141
55142         * modules/argp (Notice): Add a notice recommending to change
55143         XGETTEXT_OPTIONS.
55144         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55145
55146 2008-01-13  Colin Watson  <cjwatson@debian.org>
55147
55148         * modules/strsignal-tests: New file.
55149         * tests/test-strsignal.c: New file.
55150
55151         * lib/strsignal.c: New file, from glibc with modifications.
55152         * lib/siglist.h: New file, from glibc with modifications.
55153         * lib/string.in.h (strsignal): New declaration.
55154         * m4/strsignal.m4: New file.
55155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55156         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55157         * modules/strsignal: New file.
55158         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55159         HAVE_DECL_STRSIGNAL.
55160
55161 2008-01-13  Bruno Haible  <bruno@clisp.org>
55162
55163         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55164         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55165         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55166         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55167
55168 2008-01-13  Bruno Haible  <bruno@clisp.org>
55169
55170         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55171         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55172         * lib/argp.h (__attribute__): Likewise.
55173         * lib/c-stack.c (__attribute__): Likewise.
55174         * lib/error.h (__attribute__): Likewise.
55175         * lib/fts.c (__attribute__): Likewise.
55176         * lib/openat.h (__attribute__): Likewise.
55177         * lib/stdio.in.h (__attribute__): Likewise.
55178         * lib/string.in.h (__attribute__): Likewise.
55179         * lib/utimens.c (__attribute__): Likewise.
55180         * lib/vasnprintf.h (__attribute__): Likewise.
55181         * lib/xalloc.h (__attribute__): Likewise.
55182         * lib/xprintf.h (__attribute__): Likewise.
55183         * lib/xstrtol.h (__attribute__): Likewise.
55184         * lib/xvasprintf.h (__attribute__): Likewise.
55185
55186 2008-01-12  Bruno Haible  <bruno@clisp.org>
55187
55188         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
55189         * doc/glibc-headers/a.out.texi: New file.
55190         * doc/glibc-headers/aliases.texi: New file.
55191         * doc/glibc-headers/alloca.texi: New file.
55192         * doc/glibc-headers/ar.texi: New file.
55193         * doc/glibc-headers/argp.texi: New file.
55194         * doc/glibc-headers/argz.texi: New file.
55195         * doc/glibc-headers/byteswap.texi: New file.
55196         * doc/glibc-headers/crypt.texi: New file.
55197         * doc/glibc-headers/endian.texi: New file.
55198         * doc/glibc-headers/envz.texi: New file.
55199         * doc/glibc-headers/err.texi: New file.
55200         * doc/glibc-headers/error.texi: New file.
55201         * doc/glibc-headers/execinfo.texi: New file.
55202         * doc/glibc-headers/fpu_control.texi: New file.
55203         * doc/glibc-headers/fstab.texi: New file.
55204         * doc/glibc-headers/fts.texi: New file.
55205         * doc/glibc-headers/getopt.texi: New file.
55206         * doc/glibc-headers/ieee754.texi: New file.
55207         * doc/glibc-headers/ifaddrs.texi: New file.
55208         * doc/glibc-headers/libintl.texi: New file.
55209         * doc/glibc-headers/mcheck.texi: New file.
55210         * doc/glibc-headers/mntent.texi: New file.
55211         * doc/glibc-headers/obstack.texi: New file.
55212         * doc/glibc-headers/paths.texi: New file.
55213         * doc/glibc-headers/printf.texi: New file.
55214         * doc/glibc-headers/pty.texi: New file.
55215         * doc/glibc-headers/resolv.texi: New file.
55216         * doc/glibc-headers/shadow.texi: New file.
55217         * doc/glibc-headers/sysexits.texi: New file.
55218         * doc/glibc-headers/ttyent.texi: New file.
55219
55220 2008-01-12  Jim Meyering  <meyering@redhat.com>
55221
55222         announce-gen: emit Gnulib's git-based version string.
55223         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
55224         New option --gnulib-version=V, where V is expected to be
55225         the output of running git describe in the gnulib directory.
55226         (get_tool_versions): Request feedback on xdelta.  I suspect it's
55227         not useful, and plan to stop publishing an xdelta file with each
55228         coreutils release.
55229
55230         * build-aux/announce-gen: Also check for lzma-compressed files.
55231
55232 2008-01-11  Bruno Haible  <bruno@clisp.org>
55233
55234         * tests/test-memmem.c (main): Increase maximum allowed time.
55235         * tests/test-strstr.c (main): Likewise.
55236
55237 2008-01-11  Bruno Haible  <bruno@clisp.org>
55238
55239         * doc/functions/memmem.texi: Add more precisions about platforms.
55240         * doc/functions/strstr.texi: Likewise.
55241
55242 2008-01-10  Eric Blake  <ebb9@byu.net>
55243
55244         * m4/strstr.m4: Delete cruft from copy-n-paste.
55245         Reported by Bruno Haible.
55246
55247 2008-01-10  Bruno Haible  <bruno@clisp.org>
55248
55249         Make c-strstr rely on strstr.
55250         * lib/c-strstr.c: Don't include str-kmp.h.
55251         (c_strstr): Define in terms of strstr.
55252         * modules/c-strstr (Files): Remove lib/str-kmp.h.
55253         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
55254
55255 2008-01-10  Bruno Haible  <bruno@clisp.org>
55256
55257         * doc/gnulib.texi (String Functions in C Locale): New section.
55258         * doc/c-ctype.texi: New file.
55259         * doc/c-strcase.texi: New file.
55260         * doc/c-strcaseeq.texi: New file.
55261         * doc/c-strcasestr.texi: New file.
55262         * doc/c-strstr.texi: New file.
55263         * doc/c-strtod.texi: New file.
55264         * doc/c-strtold.texi: New file.
55265
55266 2008-01-10  Eric Blake  <ebb9@byu.net>
55267
55268         * lib/relocatable.h: Fix a comment.
55269
55270 2008-01-10  Eric Blake  <ebb9@byu.net>
55271
55272         Share two-way algorithm.
55273         * lib/str-two-way.h: New file, merged from...
55274         * lib/memmem.c: ...here...
55275         * lib/strstr.c: ...and here.
55276         * modules/memmem (Files): Use it.
55277         * modules/strstr (Files): Likewise.
55278
55279         Avoid quadratic strstr implementations.
55280         * lib/strstr.c: New file.
55281         * m4/strstr.m4: Likewise.
55282         * modules/strstr: Likewise.
55283         * modules/strstr-tests: Likewise.
55284         * tests/test-strstr.c: Likewise.
55285         * lib/string.in.h (rpl_strstr): Declare.
55286         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
55287         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
55288         * modules/string (Makefile.am): Likewise.
55289         * MODULES.html.sh (string handling): Mention new module.
55290         * doc/functions/strstr.texi (strstr): Document the bug.
55291
55292 2008-01-10  Bruno Haible  <bruno@clisp.org>
55293
55294         * lib/relocatable.h (relocate): State whether result is freshly
55295         allocated or not.
55296         * lib/relocatable.c (relocate): Return a freshly allocated string
55297         instead of a pointer to a privately held string.
55298         Reported by Sylvain Beucler <beuc@gnu.org>.
55299
55300 2008-01-10  Colin Watson  <cjwatson@debian.org>
55301
55302         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
55303         s/S_ISNLK/S_ISLNK/.
55304
55305 2008-01-09  Bruno Haible  <bruno@clisp.org>
55306
55307         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55308         and other files.
55309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55310         if it's only a guess.
55311         * modules/memmem: Simplify by depending on memmem-simple.
55312
55313 2008-01-09  Bruno Haible  <bruno@clisp.org>
55314
55315         Work around OpenBSD 4.0 tdelete() bug.
55316         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55317         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55318         macros and don't redefine the enum values.
55319         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55320         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55321         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55322
55323 2008-01-09  Bruno Haible  <bruno@clisp.org>
55324
55325         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55326         (main): Don't perform the tests if setlocale did not install a UTF-8
55327         locale. Needed on OpenBSD 4.0.
55328         * modules/wcwidth-tests (Depends-on): Add localcharset.
55329
55330 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55331
55332         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55333         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55334         * NEWS: announce this.
55335         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55336
55337 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55338         and Eric Blake  <ebb9@byu.net>
55339
55340         Add memmem-simple module.
55341         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55342         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55343         * modules/memmem-simple: New file.
55344         * modules/memmem (Description): Tweak.
55345         * MODULES.html.sh (string handling): Mention new module.
55346         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55347         addressed by memmem-simple.
55348         * NEWS: Document the difference.
55349
55350 2008-01-09  Eric Blake  <ebb9@byu.net>
55351
55352         Give gcc some memmem optimization hints.
55353         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55354         (strcasestr): Declare as pure.
55355         * modules/memmem (Maintainer): Claim my implementation.
55356
55357 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55358
55359         Support AIX 6.1 and higher.
55360         * build-aux/config.libpath: Likewise.
55361         * build-aux/config.rpath: Likewise.
55362
55363 2008-01-08  Jim Meyering  <meyering@redhat.com>
55364             Bruno Haible  <bruno@clisp.org>
55365
55366         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
55367         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
55368         Reported by Peter Fales in
55369         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
55370
55371 2008-01-08  Bruno Haible  <bruno@clisp.org>
55372
55373         * modules/unictype/category-of (Depends-on): Add
55374         unictype/category-none.
55375         * modules/unictype/category-and-tests (Depends-on): Add
55376         unictype/category-{L,N,Lu,Nd}.
55377         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55378         * modules/unictype/category-or-tests (Depends-on): Add
55379         unictype/category-{L,N}.
55380         * modules/unictype/category-name-tests (Depends-on): Add
55381         unictype/category-{Z,Nl}.
55382         Reported by Simon Josefsson.
55383
55384 2008-01-08  Bruno Haible  <bruno@clisp.org>
55385
55386         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55387         convention better.
55388         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55389         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55390         Reported by Peter Miller <millerp@canb.auug.org.au>.
55391
55392 2008-01-08  Eric Blake  <ebb9@byu.net>
55393
55394         Rewrite memmem to guarantee linear complexity without malloc.
55395         * lib/memmem.c (memmem): Use Two-Way rather than
55396         Knuth-Morris-Pratt, to allow O(1) space usage.
55397         (critical_factorization, two_way_short_needle)
55398         (two_way_long_needle): New functions.
55399         (knuth_morris_pratt): Delete.
55400         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55401         Add stdint.
55402         * tests/test-memmem.c (main): Add tests for periodic needle and
55403         sublinear performance.
55404         * doc/functions/memmem.texi (memmem): Document other deficiencies
55405         in cygwin and older glibc.
55406
55407 2008-01-08  Bruno Haible  <bruno@clisp.org>
55408
55409         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55410         augmentation.
55411
55412 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
55413
55414         Add a configure time option: --disable-acl.
55415         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
55416         AC_ARG_ENABLE(acl).
55417
55418 2008-01-06  Simon Josefsson  <simon@josefsson.org>
55419
55420         * tests/test-localename.c: Don't include obsolete "setenv.h".
55421
55422         * modules/localename-tests (Depends-on): Need unsetenv.
55423
55424 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55425
55426         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
55427
55428 2008-01-06  Colin Watson  <cjwatson@debian.org>
55429
55430         * users.txt: Add man-db.
55431
55432 2008-01-07  Bruno Haible  <bruno@clisp.org>
55433
55434         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
55435         previous section name.
55436
55437 2008-01-07  Bruno Haible  <bruno@clisp.org>
55438
55439         * lib/progname.c (set_program_name): Don't strip off a leading
55440         "lt-" prefix outside a .libs directory.
55441         Suggested by Paul Eggert.
55442
55443 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
55444             Bruno Haible  <bruno@clisp.org>
55445
55446         Improve memory cleanup in 'relocatable' module.
55447         * lib/relocatable.h (compute_curr_prefix): Change return type to
55448         'char *'.
55449         * lib/relocatable.c (compute_curr_prefix): Change return type to
55450         'char *'. Free curr_installdir after use.
55451         (relocate): Free curr_prefix_better after use.
55452         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
55453
55454 2008-01-01  Bruno Haible  <bruno@clisp.org>
55455
55456         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
55457         failure on older glibc systems.
55458         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55459
55460 2008-01-05  Eric Blake  <ebb9@byu.net>
55461
55462         Avoid quadratic system memmem.
55463         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
55464         Reported by Ralf Wildenhues.
55465
55466         Fix memmem test for mingw.
55467         * modules/memmem-tests (configure.ac): Check for alarm.
55468         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
55469         it.
55470         * doc/functions/memmem.texi: New file.
55471         * doc/gnulib.texi (Function Substitutes): Add memmem.
55472         Reported by Bruno Haible.
55473
55474 2008-01-04  Bruno Haible  <bruno@clisp.org>
55475
55476         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
55477         Require gl_HEADER_STRINGS_H_DEFAULTS, not
55478         gl_HEADER_STRING_H_DEFAULTS.
55479
55480 2008-01-04  Eric Blake  <ebb9@byu.net>
55481
55482         Shorten duration of memmem test.
55483         * tests/test-memmem.c (main): Use alarm to declare failure if test
55484         is taking too long.
55485         Reported by Ralf Wildenhues.
55486
55487 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55488
55489         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55490         string, needed by strerror.
55491
55492 2008-01-03  Colin Watson  <cjwatson@debian.org>
55493             Bruno Haible  <bruno@clisp.org>
55494
55495         * doc/gnulib-tool.texi (Localization): New section.
55496
55497 2008-01-02  Bruno Haible  <bruno@clisp.org>
55498
55499         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55500         variables to 'unsigned char *' type.
55501         Reported by Paul Eggert.
55502
55503 2008-01-02  Jim Meyering  <jim@meyering.net>
55504
55505         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55506
55507 2007-12-31  Jim Meyering  <jim@meyering.net>
55508
55509         Avoid use of private FTS type name.
55510         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55511
55512 2007-12-30  Karl Berry  <karl@gnu.org>
55513
55514         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55515         work around defect in Texinfo and/or the standalone Info browser.
55516
55517 2007-12-30  Bruno Haible  <bruno@clisp.org>
55518
55519         Unify 5 copies of the KMP code.
55520         * lib/str-kmp.h: New file.
55521         * lib/c-strcasestr.c: Include str-kmp.h.
55522         (knuth_morris_pratt): Remove function.
55523         (c_strcasestr): Update.
55524         * lib/c-strstr.c: Include str-kmp.h.
55525         (knuth_morris_pratt): Remove function.
55526         (c_strcasestr): Update.
55527         * lib/mbscasestr.c: Include str-kmp.h.
55528         (knuth_morris_pratt_unibyte): Remove function.
55529         * lib/mbsstr.c: Include str-kmp.h.
55530         (knuth_morris_pratt_unibyte): Remove function.
55531         * lib/strcasestr.c: Include str-kmp.h.
55532         (knuth_morris_pratt): Remove function.
55533         (strcasestr): Update.
55534         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55535         * modules/c-strstr (Files): Likewise.
55536         * modules/mbscasestr (Files): Likewise.
55537         * modules/mbsstr (Files): Likewise.
55538         * modules/strcasestr (Files): Likewise.
55539         Suggested by Paul Eggert.
55540
55541 2007-12-30  Bruno Haible  <bruno@clisp.org>
55542
55543         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55544         defined.
55545
55546 2007-12-30  Bruno Haible  <bruno@clisp.org>
55547
55548         * lib/xmalloca.h: Include xalloc.h.
55549         (xnmalloca): New macro.
55550
55551 2007-12-30  Bruno Haible  <bruno@clisp.org>
55552
55553         * lib/malloca.h (nmalloca): New macro.
55554         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55555         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55556         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55557         knuth_morris_pratt_multibyte): Likewise.
55558         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55559         knuth_morris_pratt_multibyte): Likewise.
55560         * lib/memmem.c (knuth_morris_pratt): Likewise.
55561         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55562
55563 2007-12-25  Bruno Haible  <bruno@clisp.org>
55564
55565         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55566         * lib/glob.c: Don't include openat.h.
55567         (link_exists2_p): Add back the code that deals with the
55568         !GLOB_ALTDIRFUNC case.
55569         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55570         let it do the filename concatenation.
55571         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55572         * modules/glob (Depends-on): Remove openat.
55573
55574 2007-12-31  Bruno Haible  <bruno@clisp.org>
55575
55576         * modules/dirfd (License): Change to LGPLv2+.
55577         Approved by Jim Meyering.
55578
55579 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55580
55581         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55582         when multiplying M by sizeof (size_t).
55583
55584 2007-12-10  Martin Lambers  <marlam@marlam.de>
55585
55586         Override getpagesize on mingw.
55587         * lib/getpagesize.c: New file.
55588         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55589         * modules/getpagesize (Files): Add lib/getpagesize.c.
55590         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55592         REPLACE_GETPAGESIZE.
55593         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55594
55595 2007-12-25  Bruno Haible  <bruno@clisp.org>
55596
55597         * modules/localcharset (Notice): New field.
55598         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55599         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55600
55601 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55602             Bruno Haible  <bruno@clisp.org>
55603
55604         Avoid using the syntax symbol() in formatted documentation.
55605         * MODULES.html.sh (func_module): When replacing symbol() with a
55606         hyperlink, remove the parentheses. Show an error if some remain.
55607         Recognize and render the '...' syntax.
55608         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55609         Rework. Add paragraph about GCC's inlining.
55610         * doc/alloca.texi: Likewise.
55611         * doc/error.texi: Remove parentheses from symbol reference.
55612         * doc/gnulib-intro.texi: Likewise.
55613         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55614         * modules/fnmatch (Description): Reword to say "the ... function".
55615         * modules/full-read (Description): Likewise.
55616         * modules/full-write (Description): Likewise.
55617         * modules/safe-read (Description): Likewise.
55618         * modules/safe-write (Description): Likewise.
55619         * modules/strchrnul (Description): Likewise.
55620         * modules/trim (Description): Likewise.
55621         * modules/error (Description): Remove parentheses from symbol
55622         references.
55623         * modules/verror (Description): Likewise.
55624         Reported by Karl Berry.
55625
55626 2007-12-25  Bruno Haible  <bruno@clisp.org>
55627
55628         Fixup after 2007-10-16 commit.
55629         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55630
55631 2007-12-24  Bruno Haible  <bruno@clisp.org>
55632
55633         Make --enable-relocatable work with DESTDIR.
55634         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55635         to compute installdir from destprog.
55636         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55637         also set the RELOC_DESTDIR variable.
55638         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55639
55640 2007-12-24  Bruno Haible  <bruno@clisp.org>
55641
55642         Fix link error due to xalloc_die().
55643         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55644         of xreadlink.
55645         * lib/relocwrapper.c: Update comments.
55646         * build-aux/install-reloc: Remove xreadlink.c from file list.
55647         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55648         xreadlink.c.
55649         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55650
55651 2007-12-24  Bruno Haible  <bruno@clisp.org>
55652
55653         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55654         * lib/setenv.h: Remove file.
55655         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55656         lib/setenv.h.
55657         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55658         (Depends-on): Add stdlib.
55659         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55660         gl_FUNC_UNSETENV.
55661         (Include): Replace setenv.h with <stdlib.h>.
55662         * modules/unsetenv: New file.
55663         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55664         * lib/unsetenv.c: Include <stdlib.h> first.
55665         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55666         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55667         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55668         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55669         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55670         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55672         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55673         * doc/functions/unsetenv.texi: Update.
55674         * modules/xsetenv (Depends-on): Add unsetenv.
55675         * modules/getdate (Depends-on): Likewise.
55676         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55677         * lib/xsetenv.c: Don't include setenv.h.
55678         * lib/getdate.y: Likewise.
55679         * lib/relocwrapper.c: Likewise.
55680         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55681         (Depends-on): Add stdlib.
55682         * NEWS: Mention the changes.
55683         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55684
55685 2007-12-23  Bruno Haible  <bruno@clisp.org>
55686
55687         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55688         indentation.
55689
55690 2007-12-23  Bruno Haible  <bruno@clisp.org>
55691
55692         * lib/c-strcasestr.c: Add more comments.
55693         * lib/c-strstr.c: Likewise.
55694         * lib/mbscasestr.c: Likewise.
55695         * lib/mbsstr.c: Likewise.
55696         * lib/strcasestr.c: Likewise.
55697         * lib/memmem.c: Likewise.
55698
55699 2007-12-23  Bruno Haible  <bruno@clisp.org>
55700
55701         * tests/test-memmem.c: Include <string.h> first.
55702
55703 2007-12-22  Bruno Haible  <bruno@clisp.org>
55704
55705         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55706         the contents of $testsbase.
55707         Reported by Ralf Wildenhues.
55708
55709 2007-12-22  Bruno Haible  <bruno@clisp.org>
55710
55711         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55712         two variables local_ldadd_before, local_ldadd_last.
55713
55714 2007-12-20  Eric Blake  <ebb9@byu.net>
55715
55716         Work around circular library issue when cross-compiling.
55717         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55718         that progname.o does not need to pull in rpl_memcmp.
55719
55720 2007-12-19  Eric Blake  <ebb9@byu.net>
55721
55722         Fix memmem to avoid O(n^2) worst-case complexity.
55723         * lib/memmem.c (knuth_morris_pratt): New function.
55724         (memmem): Use it if first few naive iterations fail.
55725         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55726         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55727         * modules/memchr (License): Likewise.
55728         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55729         malloca.
55730         * tests/test-memmem.c: Rewrite, borrowing ideas from
55731         test-mbsstr1.c; the old version wouldn't even compile!
55732         * modules/memmem-tests: New file.
55733         * lib/string.in.h (rpl_memmem): Add declaration.
55734         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55735         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55736         REPLACE_MEMMEM.
55737
55738 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55739
55740         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55741         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55742         before any system include files, and undef after them all.  This
55743         should fix a problem on VMS reported by John E. Malmberg in
55744         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55745
55746 2007-12-17  Eric Blake  <ebb9@byu.net>
55747
55748         Revert addition of verify, for BSD/OS.
55749         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55750         can't handle large files, for the sake of obsolete platforms.
55751         * modules/fseeko (Depends-on): Remove verify.
55752         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55753         * doc/functions/ftello.texi (ftello): Likewise.
55754         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55755         Reported by Larry Jones.
55756
55757 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55758
55759         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55760         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55761
55762 2007-12-17  Jim Meyering  <meyering@redhat.com>
55763
55764         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55765         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55766         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55767         * modules/getcwd (Depends-on): Add openat.
55768         Reported by Petr Salinger.
55769
55770 2007-12-17  Bruno Haible  <bruno@clisp.org>
55771
55772         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55773         avoid a segmentation fault of the configure test on x86_64 systems.
55774
55775 2007-12-15  Jim Meyering  <meyering@redhat.com>
55776
55777         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55778
55779 2007-12-13  Eric Blake  <ebb9@byu.net>
55780
55781         Another fseek test.
55782         * tests/test-fseek.c (main): Also test ungetc handling.
55783         * tests/test-fseeko.c (main): Likewise.
55784         * modules/fseeko (Depends-on): Add verify.
55785         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55786         large.
55787         Reported by Larry Jones.
55788
55789         Fix fseeko on mingw.
55790         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55791         seek.
55792
55793         Beef up fseek tests.
55794         * tests/test-fseek.c (main): Also test eof handling.
55795         * tests/test-fseeko.c (main): Likewise.
55796         Reported by Larry Jones.
55797
55798 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55799
55800         Fix fseeko on BSD-based platforms.
55801         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55802         successful seek.
55803
55804 2007-12-12  Eric Blake  <ebb9@byu.net>
55805
55806         Allow circular dependency of separate libtests.a
55807         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55808         when use_libtests.
55809
55810 2007-12-11  Eric Blake  <ebb9@byu.net>
55811
55812         Fix bug with -0.0L in previous patch.
55813         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55814         * tests/test-isnan.c (main): Also test on zeroes.
55815         * tests/test-isnanf.c (main): Likewise.
55816         * tests/test-isnanl.h (main): Likewise.
55817
55818         Detect pseudo-denormals on x86 even when cross-compiling.
55819         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55820         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55821         invalid bit patterns that happen to satisfy ==.
55822
55823         Avoid link failures with separate libtests.a.
55824         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55825         last, to satisfy circular dependencies.
55826
55827 2007-12-11  Eric Blake  <ebb9@byu.net>
55828         and Bruno Haible  <bruno@clisp.org>
55829
55830         Fix OpenBSD 4.0 <float.h> handling of long double.
55831         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55832         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55833         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55834
55835 2007-12-11  Jim Meyering  <meyering@redhat.com>
55836
55837         * users.txt: Add libvirt.
55838
55839         Support versions of autoconf prior to 2.59c.
55840         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55841         if it is not already defined.
55842
55843 2007-12-09  Bruno Haible  <bruno@clisp.org>
55844
55845         Let 'gnulib-tool --import' collect sources needed for the tests in
55846         tests/ rather than in lib/.
55847         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55848         argument. If true, add rules to generate libtests.a, and put libtests.a
55849         into $(LDADD). Consider source files in subdirectories and set
55850         uses_subdirs.
55851         (func_emit_initmacro_start, func_emit_initmacro_end,
55852         func_emit_initmacro_done): Pass all arguments explicitly.
55853         (func_import): Determine two module lists main_modules,
55854         testsrelated_modules. Determine use_libtests. Determine two variables
55855         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55856         instead of just sed_transform_lib_file. Determine two variables
55857         main_files and testsrelated_files. Compute 'files' as the union of
55858         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55859         func_add_or_update. In the generated gnulib-comp.m4, collect the
55860         object files for tests/ in different variables than those for lib/.
55861         Substitute LIBTESTS_LIBDEPS.
55862         (func_create_testdir): Combine the uses_subdirs results from
55863         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55864
55865 2007-12-09  Bruno Haible  <bruno@clisp.org>
55866
55867         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55868         the build-aux directory.
55869
55870 2007-12-09  Bruno Haible  <bruno@clisp.org>
55871
55872         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55873         introduced on 2006-09-09.
55874
55875 2007-12-07  Jim Meyering  <meyering@redhat.com>
55876
55877         Let these macros work also with autoconf-2.59.
55878         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55879         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55880         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55881
55882 2007-12-06  Jim Meyering  <meyering@redhat.com>
55883
55884         Avoid a configure-time syntax error in gl_FUNC_ACL.
55885         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55886         function in each branch, before testing the cache variable.
55887
55888 2007-12-04  Eric Blake  <ebb9@byu.net>
55889
55890         Make scripts executable.
55891         * build-aux/config.guess: Add execute permissions.
55892         * build-aux/config.sub: Likewise.
55893         * build-aux/gendocs.sh: Likewise.
55894
55895         Fix frexp on mingw.
55896         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55897         cross-compiling.
55898         * doc/functions/frexp.texi (frexp): Document the bug.
55899
55900         Make cygwin fseeko check more reliable.
55901         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55902         version numbers, rather than unrelated feature check.
55903         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55904         * doc/functions/ftello.texi (ftello): Likewise.
55905         Reported by Bruno Haible.
55906
55907         * m4/strerror.m4: Bump version number.
55908
55909 2007-12-03  Bruno Haible  <bruno@clisp.org>
55910
55911         * doc/functions/mprotect.texi: Mention the mingw problem.
55912
55913 2007-12-03  Eric Blake  <ebb9@byu.net>
55914
55915         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55916         REPLACE_STRERROR is initialized before this macro.
55917
55918 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55919
55920         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55921         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55922         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55923         put -lsec in even for programs other than 'ls'.  This fixes a problem
55924         for gettext reported by Bruno Haible in
55925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55926         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55927         Add support for Solaris 10.  This isn't efficient, but should get the
55928         job done for now.
55929
55930 2007-12-03  James Youngman  <jay@gnu.org>
55931
55932         * doc/regexprops-generic.texi: change "an close-group" to "a
55933         close-group" and "illegal" to "not allowed".
55934
55935 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55936
55937         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55938         pr_byname.h. Needed for the rare case when the maintainer has done
55939         "make maintainer-clean" in the source directory and then attempts a
55940         build outside the source directory.
55941         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55942         scripts_byname.h.
55943
55944 2007-12-02  Martin Lambers <marlam@marlam.de>
55945             Bruno Haible  <bruno@clisp.org>
55946
55947         * lib/getpagesize.h: Remove file.
55948         * lib/unistd.in.h: Include declaration of getpagesize here.
55949         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55950         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55951         HAVE_SYS_PARAM_H.
55952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55953         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55954         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55955         (Depends-on): Add unistd.
55956         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55957         (Include): Use <unistd.h> instead of getpagesize.h.
55958         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55959         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55960         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55961         gl_GETPAGESIZE invocation, already handled by module dependency.
55962         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55963
55964 2007-12-02  Bruno Haible  <bruno@clisp.org>
55965
55966         * modules/strings-tests: New file.
55967         * tests/test-strings.c: New file.
55968
55969         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55970         * lib/strings.in.h: New file.
55971         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55972         * m4/strings_h.m4: New file.
55973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55974         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55975         * modules/strings: New file.
55976         * modules/string (Makefile.am): Update.
55977         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55978         Reported by Karl Berry.
55979
55980 2007-12-01  Eric Blake  <ebb9@byu.net>
55981
55982         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55983         accomodate fix in cygwin 1.5.25.
55984
55985 2007-12-01  Jim Meyering  <meyering@redhat.com>
55986
55987         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55988         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55989         that would inhibit utf8-optimization of a regexp containing line-
55990         or buffer-anchors, e.g., `^', `$'.
55991
55992 2007-11-30  Bruno Haible  <bruno@clisp.org>
55993
55994         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55995         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55996         glthread_recursive_lock_init.
55997         * lib/lock.c (glthread_recursive_lock_init)
55998         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55999         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56000
56001 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56002
56003         New function qset_acl, like set_acl but with syscall semantics.
56004         * lib/acl.h (qset_acl): New decl.
56005         * lib/acl.c (qset_acl): New function.
56006         (set_acl): Use new function.  Use more-consistent diagnostics.
56007
56008 2007-11-28  Jim Meyering  <meyering@redhat.com>
56009
56010         * modules/physmem (License): Change from GPL to LGPLv2+.
56011
56012 2007-11-26  Bruno Haible  <bruno@clisp.org>
56013
56014         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56015         'long double' type has excess precision.
56016         Reported by Jim Meyering in
56017         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56018
56019 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56020
56021         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56022         Sync from <http://gnu.org/licenses>.
56023         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56024         with license text from same location.
56025         * doc/maintain.texi, doc/standards.texi:  Sync from
56026         <http://savannah.gnu.org/projects/gnustandards>.
56027
56028 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56029         and Jim Meyering  <meyering@redhat.com>
56030
56031         Adjust getdate' grammar to accept a slightly more regular language.
56032         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56033         Before, the former was rejected.
56034         * lib/getdate.y (digits_to_date_time): New function, factored
56035         out of ...
56036         (number): ...here.  Just call digits_to_date_time.
56037         (hybrid): New non-terminal to handle an <unsigned number,
56038         signed relative offset> sequence consistently.
56039
56040 2007-11-18  Jim Meyering  <meyering@redhat.com>
56041
56042         Pull my changes from coreutils:
56043         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56044         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56045         use of $gnulib_tool_option_extras, so that it's separated from the
56046         preceding argument.
56047
56048         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56049         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56050         parent destination directories before copying a file into place.
56051
56052 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56053
56054         bootstrap: work also with 4-argument variant of AC_INIT
56055         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56056
56057 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56058
56059         Port test-getaddrinfo to Solaris.
56060         Problem reported by Bruno Haible in
56061         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56062         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56063         explanation of setting 'hints'.
56064         Don't reject an implementation merely because it returns EAI_SERVICE.
56065         (EAI_SERVICE): Define to 0 if not defined.
56066
56067 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56068
56069         The license of gnu-make and posix-shell is now "GPLed build tool".
56070         * modules/gnu-make (License): Likewise.
56071         * modules/posix-shell (License): Likewise.
56072
56073         New module posix-shell, for determining a POSIX shell
56074         or perhaps something that is close enough to a POSIX shell.
56075         * m4/posix-shell.m4: New file.
56076         * modules/posix-shell: New file.
56077
56078         * MODULES.html.sh: Mention new module.
56079
56080         New module gnu-make, for determining whether we're using GNU Make.
56081         * m4/gnu-make.m4: New file.
56082         * modules/gnu-make: New file.
56083         * MODULES.html.sh: Mention new module.
56084
56085 2007-11-14  Jim Meyering  <meyering@redhat.com>
56086
56087         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56088         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56089         use this macro to create a function _definition_.
56090         Remove useless "#undef ARGMATCH_DIE".
56091
56092 2007-11-14  Bruno Haible  <bruno@clisp.org>
56093
56094         * lib/config.charset: Update for OpenBSD 4.1.
56095         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56096
56097 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56098
56099         Document 64-bit #if problems in stdint.texi.
56100         * doc/headers/stdint.texi (stdint.h): Mention problems with
56101         64-bit-#if, and how to work around them.
56102
56103         Don't insist on 'long long int' support in the preprocessor.  It
56104         breaks too many things.  For example, PRIdMAX still uses a 'long
56105         long int' format with the latest Sun compiler, even though
56106         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56107         preprocessor problem.  This causes the latest coreutils to dump
56108         core on Solaris 10 sparc with the Sun C compiler.
56109         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56110         the troublesome expressions at configure-time, not at #if-time.
56111         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56112         preprocessor.
56113         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56114         compile-time C checks, done at 'configure'-time.
56115         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56116         * modules/inttypes (Makefile): Substitute the new symbols that
56117         gl_INTTYPES_H now generates.
56118         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56119
56120 2007-11-12  Bruno Haible  <bruno@clisp.org>
56121
56122         Tests for Unicode character classification functions.
56123
56124         * modules/unictype/bidicategory-byname-tests: New file.
56125         * modules/unictype/bidicategory-name-tests: New file.
56126         * modules/unictype/bidicategory-of-tests: New file.
56127         * modules/unictype/bidicategory-test-tests: New file.
56128         * modules/unictype/block-list-tests: New file.
56129         * modules/unictype/block-of-tests: New file.
56130         * modules/unictype/block-test-tests: New file.
56131         * modules/unictype/category-C-tests: New file.
56132         * modules/unictype/category-Cc-tests: New file.
56133         * modules/unictype/category-Cf-tests: New file.
56134         * modules/unictype/category-Cn-tests: New file.
56135         * modules/unictype/category-Co-tests: New file.
56136         * modules/unictype/category-Cs-tests: New file.
56137         * modules/unictype/category-L-tests: New file.
56138         * modules/unictype/category-Ll-tests: New file.
56139         * modules/unictype/category-Lm-tests: New file.
56140         * modules/unictype/category-Lo-tests: New file.
56141         * modules/unictype/category-Lt-tests: New file.
56142         * modules/unictype/category-Lu-tests: New file.
56143         * modules/unictype/category-M-tests: New file.
56144         * modules/unictype/category-Mc-tests: New file.
56145         * modules/unictype/category-Me-tests: New file.
56146         * modules/unictype/category-Mn-tests: New file.
56147         * modules/unictype/category-N-tests: New file.
56148         * modules/unictype/category-Nd-tests: New file.
56149         * modules/unictype/category-Nl-tests: New file.
56150         * modules/unictype/category-No-tests: New file.
56151         * modules/unictype/category-P-tests: New file.
56152         * modules/unictype/category-Pc-tests: New file.
56153         * modules/unictype/category-Pd-tests: New file.
56154         * modules/unictype/category-Pe-tests: New file.
56155         * modules/unictype/category-Pf-tests: New file.
56156         * modules/unictype/category-Pi-tests: New file.
56157         * modules/unictype/category-Po-tests: New file.
56158         * modules/unictype/category-Ps-tests: New file.
56159         * modules/unictype/category-S-tests: New file.
56160         * modules/unictype/category-Sc-tests: New file.
56161         * modules/unictype/category-Sk-tests: New file.
56162         * modules/unictype/category-Sm-tests: New file.
56163         * modules/unictype/category-So-tests: New file.
56164         * modules/unictype/category-Z-tests: New file.
56165         * modules/unictype/category-Zl-tests: New file.
56166         * modules/unictype/category-Zp-tests: New file.
56167         * modules/unictype/category-Zs-tests: New file.
56168         * modules/unictype/category-and-not-tests: New file.
56169         * modules/unictype/category-and-tests: New file.
56170         * modules/unictype/category-byname-tests: New file.
56171         * modules/unictype/category-name-tests: New file.
56172         * modules/unictype/category-none-tests: New file.
56173         * modules/unictype/category-of-tests: New file.
56174         * modules/unictype/category-or-tests: New file.
56175         * modules/unictype/category-test-withtable-tests: New file.
56176         * modules/unictype/combining-class-tests: New file.
56177         * modules/unictype/ctype-alnum-tests: New file.
56178         * modules/unictype/ctype-alpha-tests: New file.
56179         * modules/unictype/ctype-blank-tests: New file.
56180         * modules/unictype/ctype-cntrl-tests: New file.
56181         * modules/unictype/ctype-digit-tests: New file.
56182         * modules/unictype/ctype-graph-tests: New file.
56183         * modules/unictype/ctype-lower-tests: New file.
56184         * modules/unictype/ctype-print-tests: New file.
56185         * modules/unictype/ctype-punct-tests: New file.
56186         * modules/unictype/ctype-space-tests: New file.
56187         * modules/unictype/ctype-upper-tests: New file.
56188         * modules/unictype/ctype-xdigit-tests: New file.
56189         * modules/unictype/decimal-digit-tests: New file.
56190         * modules/unictype/digit-tests: New file.
56191         * modules/unictype/mirror-tests: New file.
56192         * modules/unictype/numeric-tests: New file.
56193         * modules/unictype/property-alphabetic-tests: New file.
56194         * modules/unictype/property-ascii-hex-digit-tests: New file.
56195         * modules/unictype/property-bidi-arabic-digit-tests: New file.
56196         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
56197         * modules/unictype/property-bidi-block-separator-tests: New file.
56198         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
56199         * modules/unictype/property-bidi-common-separator-tests: New file.
56200         * modules/unictype/property-bidi-control-tests: New file.
56201         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
56202         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
56203         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
56204         * modules/unictype/property-bidi-european-digit-tests: New file.
56205         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
56206         * modules/unictype/property-bidi-left-to-right-tests: New file.
56207         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
56208         * modules/unictype/property-bidi-other-neutral-tests: New file.
56209         * modules/unictype/property-bidi-pdf-tests: New file.
56210         * modules/unictype/property-bidi-segment-separator-tests: New file.
56211         * modules/unictype/property-bidi-whitespace-tests: New file.
56212         * modules/unictype/property-byname-tests: New file.
56213         * modules/unictype/property-combining-tests: New file.
56214         * modules/unictype/property-composite-tests: New file.
56215         * modules/unictype/property-currency-symbol-tests: New file.
56216         * modules/unictype/property-dash-tests: New file.
56217         * modules/unictype/property-decimal-digit-tests: New file.
56218         * modules/unictype/property-default-ignorable-code-point-tests: New file.
56219         * modules/unictype/property-deprecated-tests: New file.
56220         * modules/unictype/property-diacritic-tests: New file.
56221         * modules/unictype/property-extender-tests: New file.
56222         * modules/unictype/property-format-control-tests: New file.
56223         * modules/unictype/property-grapheme-base-tests: New file.
56224         * modules/unictype/property-grapheme-extend-tests: New file.
56225         * modules/unictype/property-grapheme-link-tests: New file.
56226         * modules/unictype/property-hex-digit-tests: New file.
56227         * modules/unictype/property-hyphen-tests: New file.
56228         * modules/unictype/property-id-continue-tests: New file.
56229         * modules/unictype/property-id-start-tests: New file.
56230         * modules/unictype/property-ideographic-tests: New file.
56231         * modules/unictype/property-ids-binary-operator-tests: New file.
56232         * modules/unictype/property-ids-trinary-operator-tests: New file.
56233         * modules/unictype/property-ignorable-control-tests: New file.
56234         * modules/unictype/property-iso-control-tests: New file.
56235         * modules/unictype/property-join-control-tests: New file.
56236         * modules/unictype/property-left-of-pair-tests: New file.
56237         * modules/unictype/property-line-separator-tests: New file.
56238         * modules/unictype/property-logical-order-exception-tests: New file.
56239         * modules/unictype/property-lowercase-tests: New file.
56240         * modules/unictype/property-math-tests: New file.
56241         * modules/unictype/property-non-break-tests: New file.
56242         * modules/unictype/property-not-a-character-tests: New file.
56243         * modules/unictype/property-numeric-tests: New file.
56244         * modules/unictype/property-other-alphabetic-tests: New file.
56245         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
56246         * modules/unictype/property-other-grapheme-extend-tests: New file.
56247         * modules/unictype/property-other-id-continue-tests: New file.
56248         * modules/unictype/property-other-id-start-tests: New file.
56249         * modules/unictype/property-other-lowercase-tests: New file.
56250         * modules/unictype/property-other-math-tests: New file.
56251         * modules/unictype/property-other-uppercase-tests: New file.
56252         * modules/unictype/property-paired-punctuation-tests: New file.
56253         * modules/unictype/property-paragraph-separator-tests: New file.
56254         * modules/unictype/property-pattern-syntax-tests: New file.
56255         * modules/unictype/property-pattern-white-space-tests: New file.
56256         * modules/unictype/property-private-use-tests: New file.
56257         * modules/unictype/property-punctuation-tests: New file.
56258         * modules/unictype/property-quotation-mark-tests: New file.
56259         * modules/unictype/property-radical-tests: New file.
56260         * modules/unictype/property-sentence-terminal-tests: New file.
56261         * modules/unictype/property-soft-dotted-tests: New file.
56262         * modules/unictype/property-space-tests: New file.
56263         * modules/unictype/property-terminal-punctuation-tests: New file.
56264         * modules/unictype/property-test-tests: New file.
56265         * modules/unictype/property-titlecase-tests: New file.
56266         * modules/unictype/property-unassigned-code-value-tests: New file.
56267         * modules/unictype/property-unified-ideograph-tests: New file.
56268         * modules/unictype/property-uppercase-tests: New file.
56269         * modules/unictype/property-variation-selector-tests: New file.
56270         * modules/unictype/property-white-space-tests: New file.
56271         * modules/unictype/property-xid-continue-tests: New file.
56272         * modules/unictype/property-xid-start-tests: New file.
56273         * modules/unictype/property-zero-width-tests: New file.
56274         * modules/unictype/scripts-tests: New file.
56275         * modules/unictype/syntax-c-ident-tests: New file.
56276         * modules/unictype/syntax-c-whitespace-tests: New file.
56277         * modules/unictype/syntax-java-ident-tests: New file.
56278         * modules/unictype/syntax-java-whitespace-tests: New file.
56279         * tests/unictype/test-bidi_byname.c: New file.
56280         * tests/unictype/test-bidi_name.c: New file.
56281         * tests/unictype/test-bidi_of.c: New file.
56282         * tests/unictype/test-bidi_test.c: New file.
56283         * tests/unictype/test-block_list.c: New file.
56284         * tests/unictype/test-block_of.c: New file.
56285         * tests/unictype/test-block_test.c: New file.
56286         * tests/unictype/test-categ_and.c: New file.
56287         * tests/unictype/test-categ_and_not.c: New file.
56288         * tests/unictype/test-categ_byname.c: New file.
56289         * tests/unictype/test-categ_name.c: New file.
56290         * tests/unictype/test-categ_none.c: New file.
56291         * tests/unictype/test-categ_of.c: New file.
56292         * tests/unictype/test-categ_or.c: New file.
56293         * tests/unictype/test-categ_test_withtable.c: New file.
56294         * tests/unictype/test-combining.c: New file.
56295         * tests/unictype/test-decdigit.c: New file.
56296         * tests/unictype/test-digit.c: New file.
56297         * tests/unictype/test-mirror.c: New file.
56298         * tests/unictype/test-numeric.c: New file.
56299         * tests/unictype/test-pr_byname.c: New file.
56300         * tests/unictype/test-pr_test.c: New file.
56301         * tests/unictype/test-predicate-part1.h: New file.
56302         * tests/unictype/test-predicate-part2.h: New file.
56303         * tests/unictype/test-scripts.c: New file.
56304         * tests/unictype/test-sy_c_ident.c: New file.
56305         * tests/unictype/test-sy_java_ident.c: New file.
56306
56307         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56308         for Unicode 5.0.0.
56309         * tests/unictype/test-categ_Cc.c: Likewise.
56310         * tests/unictype/test-categ_Cf.c: Likewise.
56311         * tests/unictype/test-categ_Cn.c: Likewise.
56312         * tests/unictype/test-categ_Co.c: Likewise.
56313         * tests/unictype/test-categ_Cs.c: Likewise.
56314         * tests/unictype/test-categ_L.c: Likewise.
56315         * tests/unictype/test-categ_Ll.c: Likewise.
56316         * tests/unictype/test-categ_Lm.c: Likewise.
56317         * tests/unictype/test-categ_Lo.c: Likewise.
56318         * tests/unictype/test-categ_Lt.c: Likewise.
56319         * tests/unictype/test-categ_Lu.c: Likewise.
56320         * tests/unictype/test-categ_M.c: Likewise.
56321         * tests/unictype/test-categ_Mc.c: Likewise.
56322         * tests/unictype/test-categ_Me.c: Likewise.
56323         * tests/unictype/test-categ_Mn.c: Likewise.
56324         * tests/unictype/test-categ_N.c: Likewise.
56325         * tests/unictype/test-categ_Nd.c: Likewise.
56326         * tests/unictype/test-categ_Nl.c: Likewise.
56327         * tests/unictype/test-categ_No.c: Likewise.
56328         * tests/unictype/test-categ_P.c: Likewise.
56329         * tests/unictype/test-categ_Pc.c: Likewise.
56330         * tests/unictype/test-categ_Pd.c: Likewise.
56331         * tests/unictype/test-categ_Pe.c: Likewise.
56332         * tests/unictype/test-categ_Pf.c: Likewise.
56333         * tests/unictype/test-categ_Pi.c: Likewise.
56334         * tests/unictype/test-categ_Po.c: Likewise.
56335         * tests/unictype/test-categ_Ps.c: Likewise.
56336         * tests/unictype/test-categ_S.c: Likewise.
56337         * tests/unictype/test-categ_Sc.c: Likewise.
56338         * tests/unictype/test-categ_Sk.c: Likewise.
56339         * tests/unictype/test-categ_Sm.c: Likewise.
56340         * tests/unictype/test-categ_So.c: Likewise.
56341         * tests/unictype/test-categ_Z.c: Likewise.
56342         * tests/unictype/test-categ_Zl.c: Likewise.
56343         * tests/unictype/test-categ_Zp.c: Likewise.
56344         * tests/unictype/test-categ_Zs.c: Likewise.
56345         * tests/unictype/test-ctype_alnum.c: Likewise.
56346         * tests/unictype/test-ctype_alpha.c: Likewise.
56347         * tests/unictype/test-ctype_blank.c: Likewise.
56348         * tests/unictype/test-ctype_cntrl.c: Likewise.
56349         * tests/unictype/test-ctype_digit.c: Likewise.
56350         * tests/unictype/test-ctype_graph.c: Likewise.
56351         * tests/unictype/test-ctype_lower.c: Likewise.
56352         * tests/unictype/test-ctype_print.c: Likewise.
56353         * tests/unictype/test-ctype_punct.c: Likewise.
56354         * tests/unictype/test-ctype_space.c: Likewise.
56355         * tests/unictype/test-ctype_upper.c: Likewise.
56356         * tests/unictype/test-ctype_xdigit.c: Likewise.
56357         * tests/unictype/test-decdigit.h: Likewise.
56358         * tests/unictype/test-digit.h: Likewise.
56359         * tests/unictype/test-numeric.h: Likewise.
56360         * tests/unictype/test-pr_alphabetic.c: Likewise.
56361         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
56362         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
56363         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
56364         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
56365         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
56366         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
56367         * tests/unictype/test-pr_bidi_control.c: Likewise.
56368         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
56369         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
56370         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
56371         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
56372         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
56373         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
56374         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
56375         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
56376         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
56377         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56378         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56379         * tests/unictype/test-pr_combining.c: Likewise.
56380         * tests/unictype/test-pr_composite.c: Likewise.
56381         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56382         * tests/unictype/test-pr_dash.c: Likewise.
56383         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56384         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56385         * tests/unictype/test-pr_deprecated.c: Likewise.
56386         * tests/unictype/test-pr_diacritic.c: Likewise.
56387         * tests/unictype/test-pr_extender.c: Likewise.
56388         * tests/unictype/test-pr_format_control.c: Likewise.
56389         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56390         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56391         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56392         * tests/unictype/test-pr_hex_digit.c: Likewise.
56393         * tests/unictype/test-pr_hyphen.c: Likewise.
56394         * tests/unictype/test-pr_id_continue.c: Likewise.
56395         * tests/unictype/test-pr_id_start.c: Likewise.
56396         * tests/unictype/test-pr_ideographic.c: Likewise.
56397         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56398         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56399         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56400         * tests/unictype/test-pr_iso_control.c: Likewise.
56401         * tests/unictype/test-pr_join_control.c: Likewise.
56402         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56403         * tests/unictype/test-pr_line_separator.c: Likewise.
56404         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56405         * tests/unictype/test-pr_lowercase.c: Likewise.
56406         * tests/unictype/test-pr_math.c: Likewise.
56407         * tests/unictype/test-pr_non_break.c: Likewise.
56408         * tests/unictype/test-pr_not_a_character.c: Likewise.
56409         * tests/unictype/test-pr_numeric.c: Likewise.
56410         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56411         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56412         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
56413         * tests/unictype/test-pr_other_id_continue.c: Likewise.
56414         * tests/unictype/test-pr_other_id_start.c: Likewise.
56415         * tests/unictype/test-pr_other_lowercase.c: Likewise.
56416         * tests/unictype/test-pr_other_math.c: Likewise.
56417         * tests/unictype/test-pr_other_uppercase.c: Likewise.
56418         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
56419         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
56420         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
56421         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
56422         * tests/unictype/test-pr_private_use.c: Likewise.
56423         * tests/unictype/test-pr_punctuation.c: Likewise.
56424         * tests/unictype/test-pr_quotation_mark.c: Likewise.
56425         * tests/unictype/test-pr_radical.c: Likewise.
56426         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
56427         * tests/unictype/test-pr_soft_dotted.c: Likewise.
56428         * tests/unictype/test-pr_space.c: Likewise.
56429         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
56430         * tests/unictype/test-pr_titlecase.c: Likewise.
56431         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
56432         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
56433         * tests/unictype/test-pr_uppercase.c: Likewise.
56434         * tests/unictype/test-pr_variation_selector.c: Likewise.
56435         * tests/unictype/test-pr_white_space.c: Likewise.
56436         * tests/unictype/test-pr_xid_continue.c: Likewise.
56437         * tests/unictype/test-pr_xid_start.c: Likewise.
56438         * tests/unictype/test-pr_zero_width.c: Likewise.
56439         * tests/unictype/test-sy_c_whitespace.c: Likewise.
56440         * tests/unictype/test-sy_java_whitespace.c: Likewise.
56441
56442 2007-11-12  Bruno Haible  <bruno@clisp.org>
56443
56444         Unicode character classification functions.
56445         * lib/unictype.h: New file.
56446         * modules/unictype/base: New file.
56447         * modules/unictype/category-L: New file.
56448         * modules/unictype/category-Lu: New file.
56449         * modules/unictype/category-Ll: New file.
56450         * modules/unictype/category-Lt: New file.
56451         * modules/unictype/category-Lm: New file.
56452         * modules/unictype/category-Lo: New file.
56453         * modules/unictype/category-M: New file.
56454         * modules/unictype/category-Mn: New file.
56455         * modules/unictype/category-Mc: New file.
56456         * modules/unictype/category-Me: New file.
56457         * modules/unictype/category-N: New file.
56458         * modules/unictype/category-Nd: New file.
56459         * modules/unictype/category-Nl: New file.
56460         * modules/unictype/category-No: New file.
56461         * modules/unictype/category-P: New file.
56462         * modules/unictype/category-Pc: New file.
56463         * modules/unictype/category-Pd: New file.
56464         * modules/unictype/category-Ps: New file.
56465         * modules/unictype/category-Pe: New file.
56466         * modules/unictype/category-Pi: New file.
56467         * modules/unictype/category-Pf: New file.
56468         * modules/unictype/category-Po: New file.
56469         * modules/unictype/category-S: New file.
56470         * modules/unictype/category-Sm: New file.
56471         * modules/unictype/category-Sc: New file.
56472         * modules/unictype/category-Sk: New file.
56473         * modules/unictype/category-So: New file.
56474         * modules/unictype/category-Z: New file.
56475         * modules/unictype/category-Zs: New file.
56476         * modules/unictype/category-Zl: New file.
56477         * modules/unictype/category-Zp: New file.
56478         * modules/unictype/category-C: New file.
56479         * modules/unictype/category-Cc: New file.
56480         * modules/unictype/category-Cf: New file.
56481         * modules/unictype/category-Cs: New file.
56482         * modules/unictype/category-Co: New file.
56483         * modules/unictype/category-Cn: New file.
56484         * modules/unictype/category-or: New file.
56485         * modules/unictype/category-of: New file.
56486         * modules/unictype/category-test: New file.
56487         * modules/unictype/category-test-withtable: New file.
56488         * modules/unictype/category-byname: New file.
56489         * modules/unictype/category-none: New file.
56490         * modules/unictype/category-and: New file.
56491         * modules/unictype/category-and-not: New file.
56492         * modules/unictype/category-name: New file.
56493         * modules/unictype/combining-class: New file.
56494         * modules/unictype/category-all: New file.
56495         * modules/unictype/bidicategory-all: New file.
56496         * modules/unictype/bidicategory-byname: New file.
56497         * modules/unictype/bidicategory-name: New file.
56498         * modules/unictype/bidicategory-of: New file.
56499         * modules/unictype/bidicategory-test: New file.
56500         * modules/unictype/decimal-digit: New file.
56501         * modules/unictype/digit: New file.
56502         * modules/unictype/numeric: New file.
56503         * modules/unictype/mirror: New file.
56504         * modules/unictype/property-white-space: New file.
56505         * modules/unictype/property-alphabetic: New file.
56506         * modules/unictype/property-other-alphabetic: New file.
56507         * modules/unictype/property-not-a-character: New file.
56508         * modules/unictype/property-default-ignorable-code-point: New file.
56509         * modules/unictype/property-other-default-ignorable-code-point: New
56510         file.
56511         * modules/unictype/property-deprecated: New file.
56512         * modules/unictype/property-logical-order-exception: New file.
56513         * modules/unictype/property-variation-selector: New file.
56514         * modules/unictype/property-private-use: New file.
56515         * modules/unictype/property-unassigned-code-value: New file.
56516         * modules/unictype/property-uppercase: New file.
56517         * modules/unictype/property-other-uppercase: New file.
56518         * modules/unictype/property-lowercase: New file.
56519         * modules/unictype/property-other-lowercase: New file.
56520         * modules/unictype/property-titlecase: New file.
56521         * modules/unictype/property-soft-dotted: New file.
56522         * modules/unictype/property-id-start: New file.
56523         * modules/unictype/property-other-id-start: New file.
56524         * modules/unictype/property-id-continue: New file.
56525         * modules/unictype/property-other-id-continue: New file.
56526         * modules/unictype/property-xid-start: New file.
56527         * modules/unictype/property-xid-continue: New file.
56528         * modules/unictype/property-pattern-white-space: New file.
56529         * modules/unictype/property-pattern-syntax: New file.
56530         * modules/unictype/property-join-control: New file.
56531         * modules/unictype/property-grapheme-base: New file.
56532         * modules/unictype/property-grapheme-extend: New file.
56533         * modules/unictype/property-other-grapheme-extend: New file.
56534         * modules/unictype/property-grapheme-link: New file.
56535         * modules/unictype/property-bidi-control: New file.
56536         * modules/unictype/property-bidi-left-to-right: New file.
56537         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56538         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56539         * modules/unictype/property-bidi-european-digit: New file.
56540         * modules/unictype/property-bidi-eur-num-separator: New file.
56541         * modules/unictype/property-bidi-eur-num-terminator: New file.
56542         * modules/unictype/property-bidi-arabic-digit: New file.
56543         * modules/unictype/property-bidi-common-separator: New file.
56544         * modules/unictype/property-bidi-block-separator: New file.
56545         * modules/unictype/property-bidi-segment-separator: New file.
56546         * modules/unictype/property-bidi-whitespace: New file.
56547         * modules/unictype/property-bidi-non-spacing-mark: New file.
56548         * modules/unictype/property-bidi-boundary-neutral: New file.
56549         * modules/unictype/property-bidi-pdf: New file.
56550         * modules/unictype/property-bidi-embedding-or-override: New file.
56551         * modules/unictype/property-bidi-other-neutral: New file.
56552         * modules/unictype/property-hex-digit: New file.
56553         * modules/unictype/property-ascii-hex-digit: New file.
56554         * modules/unictype/property-ideographic: New file.
56555         * modules/unictype/property-unified-ideograph: New file.
56556         * modules/unictype/property-radical: New file.
56557         * modules/unictype/property-ids-binary-operator: New file.
56558         * modules/unictype/property-ids-trinary-operator: New file.
56559         * modules/unictype/property-zero-width: New file.
56560         * modules/unictype/property-space: New file.
56561         * modules/unictype/property-non-break: New file.
56562         * modules/unictype/property-iso-control: New file.
56563         * modules/unictype/property-format-control: New file.
56564         * modules/unictype/property-dash: New file.
56565         * modules/unictype/property-hyphen: New file.
56566         * modules/unictype/property-punctuation: New file.
56567         * modules/unictype/property-line-separator: New file.
56568         * modules/unictype/property-paragraph-separator: New file.
56569         * modules/unictype/property-quotation-mark: New file.
56570         * modules/unictype/property-sentence-terminal: New file.
56571         * modules/unictype/property-terminal-punctuation: New file.
56572         * modules/unictype/property-currency-symbol: New file.
56573         * modules/unictype/property-math: New file.
56574         * modules/unictype/property-other-math: New file.
56575         * modules/unictype/property-paired-punctuation: New file.
56576         * modules/unictype/property-left-of-pair: New file.
56577         * modules/unictype/property-combining: New file.
56578         * modules/unictype/property-composite: New file.
56579         * modules/unictype/property-decimal-digit: New file.
56580         * modules/unictype/property-numeric: New file.
56581         * modules/unictype/property-diacritic: New file.
56582         * modules/unictype/property-extender: New file.
56583         * modules/unictype/property-ignorable-control: New file.
56584         * modules/unictype/property-test: New file.
56585         * modules/unictype/property-byname: New file.
56586         * modules/unictype/property-all: New file.
56587         * modules/unictype/scripts: New file.
56588         * modules/unictype/scripts-all: New file.
56589         * modules/unictype/block-of: New file.
56590         * modules/unictype/block-test: New file.
56591         * modules/unictype/block-list: New file.
56592         * modules/unictype/block-all: New file.
56593         * modules/unictype/syntax-c-whitespace: New file.
56594         * modules/unictype/syntax-java-whitespace: New file.
56595         * modules/unictype/syntax-c-ident: New file.
56596         * modules/unictype/syntax-java-ident: New file.
56597         * modules/unictype/ctype-alnum: New file.
56598         * modules/unictype/ctype-alpha: New file.
56599         * modules/unictype/ctype-cntrl: New file.
56600         * modules/unictype/ctype-digit: New file.
56601         * modules/unictype/ctype-graph: New file.
56602         * modules/unictype/ctype-lower: New file.
56603         * modules/unictype/ctype-print: New file.
56604         * modules/unictype/ctype-punct: New file.
56605         * modules/unictype/ctype-space: New file.
56606         * modules/unictype/ctype-upper: New file.
56607         * modules/unictype/ctype-xdigit: New file.
56608         * modules/unictype/ctype-blank: New file.
56609         * lib/unictype/bidi_byname.c: New file.
56610         * lib/unictype/bidi_name.c: New file.
56611         * lib/unictype/bidi_of.c: New file.
56612         * lib/unictype/bidi_test.c: New file.
56613         * lib/unictype/bitmap.h: New file.
56614         * lib/unictype/block_test.c: New file.
56615         * lib/unictype/blocks.c: New file.
56616         * lib/unictype/categ_C.c: New file.
56617         * lib/unictype/categ_Cc.c: New file.
56618         * lib/unictype/categ_Cf.c: New file.
56619         * lib/unictype/categ_Cn.c: New file.
56620         * lib/unictype/categ_Co.c: New file.
56621         * lib/unictype/categ_Cs.c: New file.
56622         * lib/unictype/categ_L.c: New file.
56623         * lib/unictype/categ_Ll.c: New file.
56624         * lib/unictype/categ_Lm.c: New file.
56625         * lib/unictype/categ_Lo.c: New file.
56626         * lib/unictype/categ_Lt.c: New file.
56627         * lib/unictype/categ_Lu.c: New file.
56628         * lib/unictype/categ_M.c: New file.
56629         * lib/unictype/categ_Mc.c: New file.
56630         * lib/unictype/categ_Me.c: New file.
56631         * lib/unictype/categ_Mn.c: New file.
56632         * lib/unictype/categ_N.c: New file.
56633         * lib/unictype/categ_Nd.c: New file.
56634         * lib/unictype/categ_Nl.c: New file.
56635         * lib/unictype/categ_No.c: New file.
56636         * lib/unictype/categ_P.c: New file.
56637         * lib/unictype/categ_Pc.c: New file.
56638         * lib/unictype/categ_Pd.c: New file.
56639         * lib/unictype/categ_Pe.c: New file.
56640         * lib/unictype/categ_Pf.c: New file.
56641         * lib/unictype/categ_Pi.c: New file.
56642         * lib/unictype/categ_Po.c: New file.
56643         * lib/unictype/categ_Ps.c: New file.
56644         * lib/unictype/categ_S.c: New file.
56645         * lib/unictype/categ_Sc.c: New file.
56646         * lib/unictype/categ_Sk.c: New file.
56647         * lib/unictype/categ_Sm.c: New file.
56648         * lib/unictype/categ_So.c: New file.
56649         * lib/unictype/categ_Z.c: New file.
56650         * lib/unictype/categ_Zl.c: New file.
56651         * lib/unictype/categ_Zp.c: New file.
56652         * lib/unictype/categ_Zs.c: New file.
56653         * lib/unictype/categ_and.c: New file.
56654         * lib/unictype/categ_and_not.c: New file.
56655         * lib/unictype/categ_byname.c: New file.
56656         * lib/unictype/categ_name.c: New file.
56657         * lib/unictype/categ_none.c: New file.
56658         * lib/unictype/categ_of.c: New file.
56659         * lib/unictype/categ_or.c: New file.
56660         * lib/unictype/categ_test.c: New file.
56661         * lib/unictype/combining.c: New file.
56662         * lib/unictype/ctype_alnum.c: New file.
56663         * lib/unictype/ctype_alpha.c: New file.
56664         * lib/unictype/ctype_blank.c: New file.
56665         * lib/unictype/ctype_cntrl.c: New file.
56666         * lib/unictype/ctype_digit.c: New file.
56667         * lib/unictype/ctype_graph.c: New file.
56668         * lib/unictype/ctype_lower.c: New file.
56669         * lib/unictype/ctype_print.c: New file.
56670         * lib/unictype/ctype_punct.c: New file.
56671         * lib/unictype/ctype_space.c: New file.
56672         * lib/unictype/ctype_upper.c: New file.
56673         * lib/unictype/ctype_xdigit.c: New file.
56674         * lib/unictype/decdigit.c: New file.
56675         * lib/unictype/digit.c: New file.
56676         * lib/unictype/identsyntaxmap.h: New file.
56677         * lib/unictype/mirror.c: New file.
56678         * lib/unictype/numeric.c: New file.
56679         * lib/unictype/pr_alphabetic.c: New file.
56680         * lib/unictype/pr_ascii_hex_digit.c: New file.
56681         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56682         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56683         * lib/unictype/pr_bidi_block_separator.c: New file.
56684         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56685         * lib/unictype/pr_bidi_common_separator.c: New file.
56686         * lib/unictype/pr_bidi_control.c: New file.
56687         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56688         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56689         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56690         * lib/unictype/pr_bidi_european_digit.c: New file.
56691         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56692         * lib/unictype/pr_bidi_left_to_right.c: New file.
56693         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56694         * lib/unictype/pr_bidi_other_neutral.c: New file.
56695         * lib/unictype/pr_bidi_pdf.c: New file.
56696         * lib/unictype/pr_bidi_segment_separator.c: New file.
56697         * lib/unictype/pr_bidi_whitespace.c: New file.
56698         * lib/unictype/pr_byname.c: New file.
56699         * lib/unictype/pr_byname.gperf: New file.
56700         * lib/unictype/pr_combining.c: New file.
56701         * lib/unictype/pr_composite.c: New file.
56702         * lib/unictype/pr_currency_symbol.c: New file.
56703         * lib/unictype/pr_dash.c: New file.
56704         * lib/unictype/pr_decimal_digit.c: New file.
56705         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56706         * lib/unictype/pr_deprecated.c: New file.
56707         * lib/unictype/pr_diacritic.c: New file.
56708         * lib/unictype/pr_extender.c: New file.
56709         * lib/unictype/pr_format_control.c: New file.
56710         * lib/unictype/pr_grapheme_base.c: New file.
56711         * lib/unictype/pr_grapheme_extend.c: New file.
56712         * lib/unictype/pr_grapheme_link.c: New file.
56713         * lib/unictype/pr_hex_digit.c: New file.
56714         * lib/unictype/pr_hyphen.c: New file.
56715         * lib/unictype/pr_id_continue.c: New file.
56716         * lib/unictype/pr_id_start.c: New file.
56717         * lib/unictype/pr_ideographic.c: New file.
56718         * lib/unictype/pr_ids_binary_operator.c: New file.
56719         * lib/unictype/pr_ids_trinary_operator.c: New file.
56720         * lib/unictype/pr_ignorable_control.c: New file.
56721         * lib/unictype/pr_iso_control.c: New file.
56722         * lib/unictype/pr_join_control.c: New file.
56723         * lib/unictype/pr_left_of_pair.c: New file.
56724         * lib/unictype/pr_line_separator.c: New file.
56725         * lib/unictype/pr_logical_order_exception.c: New file.
56726         * lib/unictype/pr_lowercase.c: New file.
56727         * lib/unictype/pr_math.c: New file.
56728         * lib/unictype/pr_non_break.c: New file.
56729         * lib/unictype/pr_not_a_character.c: New file.
56730         * lib/unictype/pr_numeric.c: New file.
56731         * lib/unictype/pr_other_alphabetic.c: New file.
56732         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56733         * lib/unictype/pr_other_grapheme_extend.c: New file.
56734         * lib/unictype/pr_other_id_continue.c: New file.
56735         * lib/unictype/pr_other_id_start.c: New file.
56736         * lib/unictype/pr_other_lowercase.c: New file.
56737         * lib/unictype/pr_other_math.c: New file.
56738         * lib/unictype/pr_other_uppercase.c: New file.
56739         * lib/unictype/pr_paired_punctuation.c: New file.
56740         * lib/unictype/pr_paragraph_separator.c: New file.
56741         * lib/unictype/pr_pattern_syntax.c: New file.
56742         * lib/unictype/pr_pattern_white_space.c: New file.
56743         * lib/unictype/pr_private_use.c: New file.
56744         * lib/unictype/pr_punctuation.c: New file.
56745         * lib/unictype/pr_quotation_mark.c: New file.
56746         * lib/unictype/pr_radical.c: New file.
56747         * lib/unictype/pr_sentence_terminal.c: New file.
56748         * lib/unictype/pr_soft_dotted.c: New file.
56749         * lib/unictype/pr_space.c: New file.
56750         * lib/unictype/pr_terminal_punctuation.c: New file.
56751         * lib/unictype/pr_test.c: New file.
56752         * lib/unictype/pr_titlecase.c: New file.
56753         * lib/unictype/pr_unassigned_code_value.c: New file.
56754         * lib/unictype/pr_unified_ideograph.c: New file.
56755         * lib/unictype/pr_uppercase.c: New file.
56756         * lib/unictype/pr_variation_selector.c: New file.
56757         * lib/unictype/pr_white_space.c: New file.
56758         * lib/unictype/pr_xid_continue.c: New file.
56759         * lib/unictype/pr_xid_start.c: New file.
56760         * lib/unictype/pr_zero_width.c: New file.
56761         * lib/unictype/scripts.c: New file.
56762         * lib/unictype/sy_c_ident.c: New file.
56763         * lib/unictype/sy_c_whitespace.c: New file.
56764         * lib/unictype/sy_java_ident.c: New file.
56765         * lib/unictype/sy_java_whitespace.c: New file.
56766
56767         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56768         Unicode 5.0.0.
56769         * lib/unictype/blocks.h: Likewise.
56770         * lib/unictype/categ_C.h: Likewise.
56771         * lib/unictype/categ_Cc.h: Likewise.
56772         * lib/unictype/categ_Cf.h: Likewise.
56773         * lib/unictype/categ_Cn.h: Likewise.
56774         * lib/unictype/categ_Co.h: Likewise.
56775         * lib/unictype/categ_Cs.h: Likewise.
56776         * lib/unictype/categ_L.h: Likewise.
56777         * lib/unictype/categ_Ll.h: Likewise.
56778         * lib/unictype/categ_Lm.h: Likewise.
56779         * lib/unictype/categ_Lo.h: Likewise.
56780         * lib/unictype/categ_Lt.h: Likewise.
56781         * lib/unictype/categ_Lu.h: Likewise.
56782         * lib/unictype/categ_M.h: Likewise.
56783         * lib/unictype/categ_Mc.h: Likewise.
56784         * lib/unictype/categ_Me.h: Likewise.
56785         * lib/unictype/categ_Mn.h: Likewise.
56786         * lib/unictype/categ_N.h: Likewise.
56787         * lib/unictype/categ_Nd.h: Likewise.
56788         * lib/unictype/categ_Nl.h: Likewise.
56789         * lib/unictype/categ_No.h: Likewise.
56790         * lib/unictype/categ_P.h: Likewise.
56791         * lib/unictype/categ_Pc.h: Likewise.
56792         * lib/unictype/categ_Pd.h: Likewise.
56793         * lib/unictype/categ_Pe.h: Likewise.
56794         * lib/unictype/categ_Pf.h: Likewise.
56795         * lib/unictype/categ_Pi.h: Likewise.
56796         * lib/unictype/categ_Po.h: Likewise.
56797         * lib/unictype/categ_Ps.h: Likewise.
56798         * lib/unictype/categ_S.h: Likewise.
56799         * lib/unictype/categ_Sc.h: Likewise.
56800         * lib/unictype/categ_Sk.h: Likewise.
56801         * lib/unictype/categ_Sm.h: Likewise.
56802         * lib/unictype/categ_So.h: Likewise.
56803         * lib/unictype/categ_Z.h: Likewise.
56804         * lib/unictype/categ_Zl.h: Likewise.
56805         * lib/unictype/categ_Zp.h: Likewise.
56806         * lib/unictype/categ_Zs.h: Likewise.
56807         * lib/unictype/categ_of.h: Likewise.
56808         * lib/unictype/combining.h: Likewise.
56809         * lib/unictype/ctype_alnum.h: Likewise.
56810         * lib/unictype/ctype_alpha.h: Likewise.
56811         * lib/unictype/ctype_blank.h: Likewise.
56812         * lib/unictype/ctype_cntrl.h: Likewise.
56813         * lib/unictype/ctype_digit.h: Likewise.
56814         * lib/unictype/ctype_graph.h: Likewise.
56815         * lib/unictype/ctype_lower.h: Likewise.
56816         * lib/unictype/ctype_print.h: Likewise.
56817         * lib/unictype/ctype_punct.h: Likewise.
56818         * lib/unictype/ctype_space.h: Likewise.
56819         * lib/unictype/ctype_upper.h: Likewise.
56820         * lib/unictype/ctype_xdigit.h: Likewise.
56821         * lib/unictype/decdigit.h: Likewise.
56822         * lib/unictype/digit.h: Likewise.
56823         * lib/unictype/mirror.h: Likewise.
56824         * lib/unictype/numeric.h: Likewise.
56825         * lib/unictype/pr_alphabetic.h: Likewise.
56826         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56827         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56828         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56829         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56830         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56831         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56832         * lib/unictype/pr_bidi_control.h: Likewise.
56833         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56834         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56835         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56836         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56837         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56838         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56839         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56840         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56841         * lib/unictype/pr_bidi_pdf.h: Likewise.
56842         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56843         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56844         * lib/unictype/pr_combining.h: Likewise.
56845         * lib/unictype/pr_composite.h: Likewise.
56846         * lib/unictype/pr_currency_symbol.h: Likewise.
56847         * lib/unictype/pr_dash.h: Likewise.
56848         * lib/unictype/pr_decimal_digit.h: Likewise.
56849         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56850         * lib/unictype/pr_deprecated.h: Likewise.
56851         * lib/unictype/pr_diacritic.h: Likewise.
56852         * lib/unictype/pr_extender.h: Likewise.
56853         * lib/unictype/pr_format_control.h: Likewise.
56854         * lib/unictype/pr_grapheme_base.h: Likewise.
56855         * lib/unictype/pr_grapheme_extend.h: Likewise.
56856         * lib/unictype/pr_grapheme_link.h: Likewise.
56857         * lib/unictype/pr_hex_digit.h: Likewise.
56858         * lib/unictype/pr_hyphen.h: Likewise.
56859         * lib/unictype/pr_id_continue.h: Likewise.
56860         * lib/unictype/pr_id_start.h: Likewise.
56861         * lib/unictype/pr_ideographic.h: Likewise.
56862         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56863         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56864         * lib/unictype/pr_ignorable_control.h: Likewise.
56865         * lib/unictype/pr_iso_control.h: Likewise.
56866         * lib/unictype/pr_join_control.h: Likewise.
56867         * lib/unictype/pr_left_of_pair.h: Likewise.
56868         * lib/unictype/pr_line_separator.h: Likewise.
56869         * lib/unictype/pr_logical_order_exception.h: Likewise.
56870         * lib/unictype/pr_lowercase.h: Likewise.
56871         * lib/unictype/pr_math.h: Likewise.
56872         * lib/unictype/pr_non_break.h: Likewise.
56873         * lib/unictype/pr_not_a_character.h: Likewise.
56874         * lib/unictype/pr_numeric.h: Likewise.
56875         * lib/unictype/pr_other_alphabetic.h: Likewise.
56876         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56877         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56878         * lib/unictype/pr_other_id_continue.h: Likewise.
56879         * lib/unictype/pr_other_id_start.h: Likewise.
56880         * lib/unictype/pr_other_lowercase.h: Likewise.
56881         * lib/unictype/pr_other_math.h: Likewise.
56882         * lib/unictype/pr_other_uppercase.h: Likewise.
56883         * lib/unictype/pr_paired_punctuation.h: Likewise.
56884         * lib/unictype/pr_paragraph_separator.h: Likewise.
56885         * lib/unictype/pr_pattern_syntax.h: Likewise.
56886         * lib/unictype/pr_pattern_white_space.h: Likewise.
56887         * lib/unictype/pr_private_use.h: Likewise.
56888         * lib/unictype/pr_punctuation.h: Likewise.
56889         * lib/unictype/pr_quotation_mark.h: Likewise.
56890         * lib/unictype/pr_radical.h: Likewise.
56891         * lib/unictype/pr_sentence_terminal.h: Likewise.
56892         * lib/unictype/pr_soft_dotted.h: Likewise.
56893         * lib/unictype/pr_space.h: Likewise.
56894         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56895         * lib/unictype/pr_titlecase.h: Likewise.
56896         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56897         * lib/unictype/pr_unified_ideograph.h: Likewise.
56898         * lib/unictype/pr_uppercase.h: Likewise.
56899         * lib/unictype/pr_variation_selector.h: Likewise.
56900         * lib/unictype/pr_white_space.h: Likewise.
56901         * lib/unictype/pr_xid_continue.h: Likewise.
56902         * lib/unictype/pr_xid_start.h: Likewise.
56903         * lib/unictype/pr_zero_width.h: Likewise.
56904         * lib/unictype/scripts.h: Likewise.
56905         * lib/unictype/scripts_byname.gperf: Likewise.
56906         * lib/unictype/sy_c_ident.h: Likewise.
56907         * lib/unictype/sy_c_whitespace.h: Likewise.
56908         * lib/unictype/sy_java_ident.h: Likewise.
56909         * lib/unictype/sy_java_whitespace.h: Likewise.
56910
56911         * lib/unictype/Makefile: New file.
56912         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56913         glibc.
56914         * lib/unictype/3level.h: New file, copied from glibc.
56915         * lib/unictype/3levelbit.h: New file.
56916
56917 2007-11-11  Bruno Haible  <bruno@clisp.org>
56918
56919         * modules/gperf: New file.
56920         * modules/iconv_open (Depends-on): Add it.
56921         (Makefile.am): Remove the GPERF definition.
56922
56923 2007-11-11  Bruno Haible  <bruno@clisp.org>
56924
56925         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56926         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56927
56928 2007-11-11  Bruno Haible  <bruno@clisp.org>
56929
56930         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56931         (usage): Remove function.
56932
56933 2007-11-11  Bruno Haible  <bruno@clisp.org>
56934
56935         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56936         gl_FUNC_CEILF_LIBS.
56937         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56938         gl_FUNC_CEIL_LIBS.
56939         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56940         gl_FUNC_CEILL_LIBS.
56941         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56942         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56943         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56944
56945 2007-11-11  Bruno Haible  <bruno@clisp.org>
56946
56947         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56948         roundf were declared but do not exist on functions.
56949         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56950         roundl were declared but do not exist on functions.
56951         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56952         HAVE_FLOORL_AND_CEILL, respectively.
56953         Needed for Sun C on Solaris 10.
56954
56955 2007-11-11  Bruno Haible  <bruno@clisp.org>
56956
56957         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56958         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56959         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56960         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56961         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56962         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56963         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56964         HAVE_DECL_ROUNDF.
56965         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56966         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56967         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56968         of HAVE_DECL_ROUND*.
56969         * modules/math (Makefile.am): Update.
56970
56971 2007-11-10  Bruno Haible  <bruno@clisp.org>
56972
56973         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56974         ptrdiff_t as m4/intl.m4.
56975
56976 2007-11-10  Jim Meyering  <meyering@redhat.com>
56977
56978         Avoid link failure for the argmatch test.
56979         * tests/test-argmatch.c (usage): Define function to avoid a link
56980         failure: argmatch_die requires a usage function.
56981
56982 2007-11-09  Bruno Haible  <bruno@clisp.org>
56983
56984         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56985         * doc/functions/vsnprintf.texi: Likewise.
56986         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56987         with a size argument < 2.
56988
56989 2007-11-09  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56992         buffer. Fixes an inefficiency introduced on 2007-11-03.
56993
56994 2007-11-09  Bruno Haible  <bruno@clisp.org>
56995
56996         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56997         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56998
56999 2007-11-08  Jim Meyering  <meyering@redhat.com>
57000
57001         Change cache variable name prefix "jm_" to "gl_" everywhere.
57002         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57003         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57004         * m4/uptime.m4: s/gl_/jm_/
57005
57006 2007-11-07  Bruno Haible  <bruno@clisp.org>
57007
57008         Update to GNU gettext 0.17.
57009         * m4/intl.m4: Update to GNU gettext 0.17.
57010         * m4/po.m4: Likewise.
57011         * modules/gettext (Files): Remove m4/ulonglong.m4.
57012         (configure.ac): Require gettext infrastructure from version 0.17.
57013
57014 2007-11-06  Bruno Haible  <bruno@clisp.org>
57015
57016         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57017         symbolic values are not defined in a public header.
57018         * lib/freadable.c (freadable) [QNX]: Likewise.
57019         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57020         * lib/freading.c (freading) [QNX]: Likewise.
57021         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57022         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57023         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57024         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57025         Reported by Alain Magloire.
57026
57027         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57028
57029 2007-11-05  Bruno Haible  <bruno@clisp.org>
57030
57031         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57032         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57033         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57034         Reported by Eric Blake.
57035
57036 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57037             Bruno Haible  <bruno@clisp.org>
57038
57039         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57040         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57041         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57042         (malloc): Undefine also before including <stdlib.h>.
57043         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57044         Needed on OSF/1 4.0.
57045
57046 2007-11-05  Jim Meyering  <meyering@redhat.com>
57047
57048         git-version-gen: sync from coreutils.
57049         * build-aux/git-version-gen: Add comments.
57050         Change the first '-' to '.' in the snapshot version string,
57051         e.g., 6.9-377-08144 -> 6.9.377-08144
57052         Remove first parameter.
57053         Don't declare a version "-dirty" merely because a time
57054         stamp has changed.
57055
57056 2007-11-04  Bruno Haible  <bruno@clisp.org>
57057
57058         * lib/lock.h: Protect all macro definitions containing an 'if'
57059         statement through a "do { ... } while (0)".
57060         * lib/tls.h: Likewise.
57061
57062 2007-11-04  Bruno Haible  <bruno@clisp.org>
57063
57064         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57065
57066 2007-11-04  Bruno Haible  <bruno@clisp.org>
57067
57068         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57069         * modules/fprintf-posix (Depends-on): Add nocrash.
57070         * modules/snprintf-posix (Depends-on): Likewise.
57071         * modules/sprintf-posix (Depends-on): Likewise.
57072         * modules/vasnprintf-posix (Depends-on): Likewise.
57073         * modules/vasprintf-posix (Depends-on): Likewise.
57074         * modules/vfprintf-posix (Depends-on): Likewise.
57075         * modules/vsnprintf-posix (Depends-on): Likewise.
57076         * modules/vsprintf-posix (Depends-on): Likewise.
57077         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57078         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57079         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57080         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57081         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57082         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57083         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57084
57085 2007-11-04  Bruno Haible  <bruno@clisp.org>
57086
57087         * modules/nocrash: New file.
57088         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57089         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57090
57091 2007-11-04  Bruno Haible  <bruno@clisp.org>
57092
57093         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57094         precision handling.
57095         * tests/test-vasprintf-posix.c (test_function): Likewise.
57096         * tests/test-snprintf-posix.h (test_function): Likewise.
57097         * tests/test-sprintf-posix.h (test_function): Likewise.
57098
57099         Fix *printf behaviour for large precisions on mingw and BeOS.
57100         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57101         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57102         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57103         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57104         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57105         gl_PRINTF_PRECISION and test its result. Invoke
57106         gl_PREREQ_VASNPRINTF_PRECISION.
57107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57109         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57110         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57111         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57113         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57114         * doc/functions/fprintf.texi: Update.
57115         * doc/functions/printf.texi: Update.
57116         * doc/functions/snprintf.texi: Update.
57117         * doc/functions/sprintf.texi: Update.
57118         * doc/functions/vfprintf.texi: Update.
57119         * doc/functions/vprintf.texi: Update.
57120         * doc/functions/vsnprintf.texi: Update.
57121         * doc/functions/vsprintf.texi: Update.
57122
57123 2007-11-04  Bruno Haible  <bruno@clisp.org>
57124
57125         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57126
57127 2007-11-04  Bruno Haible  <bruno@clisp.org>
57128
57129         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57130         Reported by Sylvain Beucler <beuc@gnu.org>.
57131
57132 2007-11-03  Bruno Haible  <bruno@clisp.org>
57133
57134         * tests/test-fprintf-posix2.sh: New file.
57135         * tests/test-fprintf-posix2.c: New file.
57136         * modules/fprintf-posix-tests (Files): Add them.
57137         (TESTS): Add test-fprintf-posix2.sh.
57138         (configure.ac): Check for getrlimit and setrlimit.
57139         (check_PROGRAMS): Add test-fprintf-posix2.
57140
57141         * tests/test-printf-posix2.sh: New file.
57142         * tests/test-printf-posix2.c: New file.
57143         * modules/printf-posix-tests (Files): Add them.
57144         (TESTS): Add test-printf-posix2.sh.
57145         (configure.ac): Check for getrlimit and setrlimit.
57146         (check_PROGRAMS): Add test-printf-posix2.
57147
57148         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57149         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57150         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57151         (decode_double): New function, copied from decode_long_double.
57152         (scale10_round_decimal_decoded): New function, extracted from
57153         scale10_round_decimal_long_double.
57154         (scale10_round_decimal_long_double): Use it.
57155         (scale10_round_decimal_double): New function.
57156         (floorlog10): New function.
57157         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57159         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57160         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57161         gl_PRINTF_ENOMEM and test its result. Invoke
57162         gl_PREREQ_VASNPRINTF_ENOMEM.
57163         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57164         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57165         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57166         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57168         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57170         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57171         * modules/snprintf-posix (Depends-on): Likewise.
57172         * modules/sprintf-posix (Depends-on): Likewise.
57173         * modules/vasnprintf-posix (Depends-on): Likewise.
57174         * modules/vasprintf-posix (Depends-on): Likewise.
57175         * modules/vfprintf-posix (Depends-on): Likewise.
57176         * modules/vsnprintf-posix (Depends-on): Likewise.
57177         * modules/vsprintf-posix (Depends-on): Likewise.
57178         * doc/functions/fprintf.texi: Update.
57179         * doc/functions/printf.texi: Update.
57180         * doc/functions/snprintf.texi: Update.
57181         * doc/functions/sprintf.texi: Update.
57182         * doc/functions/vfprintf.texi: Update.
57183         * doc/functions/vprintf.texi: Update.
57184         * doc/functions/vsnprintf.texi: Update.
57185         * doc/functions/vsprintf.texi: Update.
57186
57187 2007-11-03  Bruno Haible  <bruno@clisp.org>
57188
57189         * modules/frexp-nolibm-tests: New file.
57190
57191         * modules/frexp-nolibm: New file.
57192         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
57193
57194 2007-11-03  Bruno Haible  <bruno@clisp.org>
57195
57196         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
57197         value is C99 compliant.
57198         Needed for OSF/1 5.1.
57199
57200 2007-11-03  Bruno Haible  <bruno@clisp.org>
57201
57202         Fix out-of-memory handling of vasnprintf.
57203         * lib/printf-parse.c: Include <errno.h>.
57204         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
57205         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
57206         is already set.
57207
57208 2007-11-02  Eric Blake  <ebb9@byu.net>
57209
57210         Fix tests on cygwin.
57211         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
57212
57213 2007-11-01  Bruno Haible  <bruno@clisp.org>
57214
57215         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
57216         warning.
57217         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
57218         needed for POSIX compatibility.
57219
57220 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57221
57222         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
57223         for compatibility with GNU.
57224
57225 2007-11-01  Bruno Haible  <bruno@clisp.org>
57226
57227         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
57228         (putenv): Renamed from rpl_putenv. Change argument type from
57229         'const char *' to 'char *'.
57230         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
57231         of defining putenv in config.h, just set REPLACE_PUTENV.
57232         * modules/putenv (Depends-on): Add stdlib.
57233         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57234         (Include): Use <stdlib.h>.
57235         * lib/stdlib.in.h (putenv): New declaration.
57236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
57237         REPLACE_PUTENV.
57238         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
57239         REPLACE_PUTENV.
57240         Needed for MacOS X 10.5.0.
57241         Reported by Peter O'Gorman <peter@pogma.com>.
57242
57243 2007-11-01  Jim Meyering  <meyering@redhat.com>
57244
57245         Treat an empty date string exactly like "0".
57246         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
57247         if the remaining date string (to be parsed) is empty, use "0".
57248         Reported by Mischa Molhoek and discussed in this thread:
57249         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
57250
57251 2007-10-31  Bruno Haible  <bruno@clisp.org>
57252
57253         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
57254         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
57255         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
57256         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
57257         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
57258         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
57259
57260 2007-10-31  Bruno Haible  <bruno@clisp.org>
57261
57262         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
57263         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
57264         (AC_TYPE_LONG_LONG_INT): Use it.
57265         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
57266         it as well.
57267         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
57268         to m4/longlong.m4.
57269         * modules/stdint (Files): Remove m4/ulonglong.m4.
57270         * modules/strtoull (Files): Use m4/longlong.m4 instead of
57271         m4/ulonglong.m4.
57272         * modules/strtoumax (Files): Likewise.
57273
57274 2007-10-30  Bruno Haible  <bruno@clisp.org>
57275
57276         * modules/xvasprintf-posix: New file.
57277         Suggested by Eric Blake.
57278
57279 2007-10-30  Bruno Haible  <bruno@clisp.org>
57280
57281         * modules/xprintf-posix-tests: New file.
57282         * tests/test-xprintf-posix.sh: New file.
57283         * tests/test-xprintf-posix.c: New file.
57284         * tests/test-xfprintf-posix.c: New file.
57285
57286         * modules/xprintf-posix: New file.
57287
57288 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57289
57290         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
57291         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
57292         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
57293
57294 2007-10-29  Bruno Haible  <bruno@clisp.org>
57295
57296         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
57297         contain the special marker '_cv_'.
57298         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
57299         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
57300         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
57301         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
57302         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
57303         Reported by Ralf Wildenhues.
57304
57305 2007-10-29  Bruno Haible  <bruno@clisp.org>
57306
57307         * gnulib-tool (func_import): When --lgpl is not specified, set
57308         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57309         GPLv3.
57310         Reported by Simon Josefsson.
57311
57312 2007-10-28  Bruno Haible  <bruno@clisp.org>
57313
57314         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57315         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57316         HAVE_DECL_ISFINITE.
57317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57318         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57319         HAVE_DECL_ISFINITE.
57320
57321 2007-10-28  Bruno Haible  <bruno@clisp.org>
57322
57323         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57324         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57325
57326 2007-10-28  Bruno Haible  <bruno@clisp.org>
57327
57328         Fix link errors with Sun C 5.0 on Solaris 10.
57329         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57330         function is declared but not present in the compiler's libm.
57331         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57332         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57333         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57334         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57335         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57336         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57337         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57339         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57340         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57341         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57342         HAVE_DECL_FLOORL.
57343
57344 2007-10-28  Bruno Haible  <bruno@clisp.org>
57345
57346         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57347         gl_FUNC_FLOORL. Cache the result.
57348         (gl_FUNC_FLOORL): Use it.
57349         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57350         gl_FUNC_CEILL. Cache the result.
57351         (gl_FUNC_CEILL): Use it.
57352
57353         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57354         gl_FUNC_FLOOR. Cache the result.
57355         (gl_FUNC_FLOOR): Use it.
57356         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57357         gl_FUNC_CEIL. Cache the result.
57358         (gl_FUNC_CEIL): Use it.
57359
57360         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
57361         gl_FUNC_FLOORF. Cache the result.
57362         (gl_FUNC_FLOORF): Use it.
57363         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
57364         gl_FUNC_CEILF. Cache the result.
57365         (gl_FUNC_CEILF): Use it.
57366
57367 2007-10-28  Bruno Haible  <bruno@clisp.org>
57368
57369         * gnulib-tool: Allow specifying the LGPL version number through
57370         --lgpl=2 or --lgpl=3.
57371         (func_usage): Document --lgpl with argument.
57372         Handle --lgpl=... arguments.
57373         (func_import): Recognize also gl_LGPL calls with an argument. When
57374         --lgpl=2 is used and the module's license is just LGPL, report an
57375         error. Set sed_transform_lib_file according to the lgpl variable. In
57376         the generated files, use --lgpl or gl_LGPL invocations with argument,
57377         if necessary.
57378         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57379         an LGPv2+ license.
57380         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57381         gl_LGPL macro.
57382
57383 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57384             Bruno Haible  <bruno@clisp.org>
57385
57386         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57387         (u16_uctomb_aux): Likewise.
57388         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57389         !HAVE_INLINE.
57390         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57391
57392 2007-10-28  Bruno Haible  <bruno@clisp.org>
57393
57394         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57395         Invoke AM_GETTEXT_OPTION if it exists.
57396         * modules/vasprintf: Likewise.
57397         * modules/verror: Likewise.
57398         * modules/xprintf: Likewise.
57399         * modules/xvasprintf: Likewise.
57400
57401 2007-10-27  Ben Pfaff  <blp@gnu.org>
57402
57403         * lib/math.in.h: Define isfinite macro and prototypes for
57404         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57405         implementations.
57406         * m4/math_h.m4: New substitutions for isfinite module.
57407         * lib/isfinite.c: New file.
57408         * m4/isfinite.m4: New file.
57409         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57410         * modules/isfinite: New file.
57411         * modules/isfinite-tests: New file.
57412         * tests/tests-isfinite.c: New file.
57413         * doc/functions/isfinite.texi: Mention isfinite module.
57414         * MODULES.html.sh: Mention new module.
57415
57416 2007-10-27  Ben Pfaff  <blp@gnu.org>
57417
57418         Ralf Wildenhues reported that Tru64 4.0D declares the round
57419         functions but does not have definitions.
57420         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
57421         cannot be found in any library, set the output variable to
57422         "missing" instead of "".
57423         * m4/round.m4: Also use our substitute if we cannot find round in
57424         any library, even if it is declared.
57425         * m4/roundf.m4: Likewise for roundf.
57426         * m4/roundl.m4: Likewise for roundl.
57427         * lib/math.in.h: Undefine roundf, round, roundl before defining
57428         their replacements, to allow for hypothetical systems where these
57429         may be defined as macros but not available in libraries.
57430
57431 2007-10-27  Bruno Haible  <bruno@clisp.org>
57432
57433         * doc/gnulib.texi: Invoke @firstparagraphindent.
57434         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
57435         changes in gnulib.
57436         (Source changes): New section.
57437
57438 2007-10-26  Bruno Haible  <bruno@clisp.org>
57439
57440         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
57441         borrowed from autoconf.
57442
57443 2007-10-26  Bruno Haible  <bruno@clisp.org>
57444
57445         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
57446         strerror returned the empty string. Needed on HP-UX 11.00.
57447
57448 2007-10-24  Micah Cowan  <micah@cowan.name>
57449
57450         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
57451         * build-aux/bootstrap: Remove support for now-unnecessary option,
57452         --cvs-user, and envvars CVS_USER, CVS_RSH.
57453
57454 2007-10-24  Jim Meyering  <meyering@redhat.com>
57455
57456         Avoid diagnostics from sha1sum when there is no cached checksum.
57457         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
57458         if the po.s1 file hasn't been created yet.
57459
57460         * build-aux/bootstrap: Sync from coreutils:
57461         2007-10-24  Jim Meyering  <meyering@redhat.com>
57462         Get gnulib from the git repository, not from an obsolete cvs one.
57463         * build-aux/bootstrap: Suggestion from Micah Cowan.
57464         2007-10-04  Jim Meyering  <jim@meyering.net>
57465         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
57466         (update_po_files): Work also when there are no .po files in po/.
57467
57468 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57469
57470         * README: Append ".git" to git and cg examples.
57471         Problem reported by Benoit Sigoure.
57472
57473 2007-10-23  Micah Cowan  <micah@cowan.name>
57474
57475         * users.txt: Add wget.
57476
57477 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57478
57479         Fix linking of some unistdio tests on FreeBSD.
57480         * modules/unistdio/u16-vsnprintf-tests
57481         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57482         * modules/unistdio/u16-vsprintf-tests
57483         (test_u16_vsnprintf1_LDADD): Likewise.
57484         * modules/unistdio/u32-vsnprintf-tests
57485         (test_u32_vsnprintf1_LDADD): Likewise.
57486         * modules/unistdio/u32-vsprintf-tests
57487         (test_u32_vsprintf1_LDADD): Likewise.
57488         * modules/unistdio/u8-vsnprintf-tests
57489         (test_u8_vsnprintf1_LDADD): Likewise.
57490         * modules/unistdio/u8-vsprintf-tests
57491         (test_u8_vsprintf1_LDADD): Likewise.
57492         * modules/unistdio/ulc-vsnprintf-tests
57493         (test_ulc_vsnprintf1_LDADD): Likewise.
57494         * modules/unistdio/ulc-vsprintf-tests
57495         (test_ulc_vsprintf1_LDADD): Likewise.
57496
57497         Fix linking of some uniconv tests on FreeBSD.
57498         * modules/uniconv/u16-conv-from-enc-tests
57499         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57500         * modules/uniconv/u16-conv-to-enc-tests
57501         (test_u16_conv_to_enc_LDADD): Likewise.
57502         * modules/uniconv/u16-strconv-from-enc-tests
57503         (test_u16_strconv_from_enc_LDADD): Likewise.
57504         * modules/uniconv/u16-strconv-to-enc-tests
57505         (test_u16_strconv_to_enc_LDADD): Likewise.
57506         * modules/uniconv/u32-conv-from-enc-tests
57507         (test_u32_conv_from_enc_LDADD): Likewise.
57508         * modules/uniconv/u32-conv-to-enc-tests
57509         (test_u32_conv_to_enc_LDADD): Likewise.
57510         * modules/uniconv/u32-strconv-from-enc-tests
57511         (test_u32_strconv_from_enc_LDADD): Likewise.
57512         * modules/uniconv/u32-strconv-to-enc-tests
57513         (test_u32_strconv_to_enc_LDADD): Likewise.
57514         * modules/uniconv/u8-conv-from-enc-tests
57515         (test_u8_conv_from_enc_LDADD): Likewise.
57516         * modules/uniconv/u8-conv-to-enc-tests
57517         (test_u8_conv_to_enc_LDADD): Likewise.
57518         * modules/uniconv/u8-strconv-from-enc-tests
57519         (test_u8_strconv_from_enc_LDADD): Likewise.
57520         * modules/uniconv/u8-strconv-to-enc-tests
57521         (test_u8_strconv_to_enc_LDADD): Likewise.
57522
57523 2007-10-22  Bruno Haible  <bruno@clisp.org>
57524
57525         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57526         size.
57527
57528 2007-10-22  Eric Blake  <ebb9@byu.net>
57529
57530         Tweak x*printf documentation.
57531         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57532         variable name and comments.
57533         Suggested by Bruno Haible.
57534
57535 2007-10-22  Bruno Haible  <bruno@clisp.org>
57536
57537         * lib/acl.c (copy_acl): Fix file name in comment.
57538
57539 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57540
57541         Fix Tru64 problem with stdbool.h.
57542         * lib/stdbool.in.h (false, true):
57543         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57544         Don't declare as an enum in this situation; it runs afoul of Tru64.
57545         Problem reported by Steven M. Schweda in
57546         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57547
57548 2007-10-22  Eric Blake  <ebb9@byu.net>
57549
57550         Also wrap vf?printf.
57551         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57552         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57553         (xvprintf, xvfprintf): New functions.
57554
57555 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57556
57557         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57558         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57559
57560         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57561         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57562
57563 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57564
57565         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57566         by Bruno Haible.
57567
57568 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57569
57570         * lib/getloadavg.c
57571         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57572         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57573
57574         * tests/test-i-ring.c: Work for C89.
57575
57576 2007-10-22  Bruno Haible  <bruno@clisp.org>
57577
57578         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57579         -1u, in preprocessor expression, so that we don't test for the bug
57580         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57581         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57582
57583 2007-10-22  Eric Blake  <ebb9@byu.net>
57584
57585         * tests/test-yesno.sh: Silence stderr during test.
57586
57587 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57588
57589         * modules/crypto/gc-camellia: New file.
57590
57591         * m4/gc-camellia.m4: New file.
57592
57593         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57594
57595         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57596
57597 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57598
57599         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57600         --help to stdout.  Reported by sms@antinode.org (Steven
57601         M. Schweda).
57602
57603 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57604
57605         * users.txt: Fix link to libksba.
57606
57607 2007-10-21  Ben Pfaff  <blp@gnu.org>
57608
57609         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57610         round.c roundf implementation that depends on floorf and ceilf to
57611         be tested unconditionally.
57612
57613 2007-10-21  Ben Pfaff  <blp@gnu.org>
57614
57615         * m4/check-libm-func.m4: Removed.
57616         * m4/check-math-lib.m4: New file.
57617         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57618         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57619         definition and lack of AC_LIBOBJ([roundf]).
57620         * m4/roundl.m4: Ditto, and similarly for roundl.
57621         * modules/round: Reference new m4 file.
57622         * modules/roundf: Ditto.
57623         * modules/roundl: Ditto.
57624         * tests/test-round2.c (main): Use ROUND instead of round.
57625         Bug report from Bruno Haible.
57626
57627 2007-10-21  Bruno Haible  <bruno@clisp.org>
57628
57629         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57630         context.
57631
57632 2007-10-21  Bruno Haible  <bruno@clisp.org>
57633
57634         * tests/test-wcwidth.c (main): Allow negative result for some control
57635         characters.
57636
57637         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57638         Needed on OSF/1 5.1.
57639
57640 2007-10-21  Bruno Haible  <bruno@clisp.org>
57641
57642         * tests/test-floorf1.c: Include isnanf.h.
57643         (main): Use isnanf() instead of isnan().
57644         * tests/test-ceilf1.c: Include isnanf.h.
57645         (main): Use isnanf() instead of isnan().
57646         * tests/test-truncf1.c: Include isnanf.h.
57647         (main): Use isnanf() instead of isnan().
57648         * tests/test-roundf1.c: Include isnanf.h.
57649         (main): Use isnanf() instead of isnan().
57650
57651 2007-10-21  Eric Blake  <ebb9@byu.net>
57652
57653         * users.txt: Update URL for m4.
57654
57655 2007-10-21  Bruno Haible  <bruno@clisp.org>
57656
57657         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57658
57659 2007-10-21  Bruno Haible  <bruno@clisp.org>
57660
57661         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57662         Git's management files if the CVS files are not present.
57663
57664 2007-10-20  Bruno Haible  <bruno@clisp.org>
57665
57666         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57667         gcc-3.4.x.
57668
57669 2007-10-20  Ben Pfaff  <blp@gnu.org>
57670
57671         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57672         implementations.
57673         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57674         * lib/round.c: New file.
57675         * lib/roundf.c: New file.
57676         * lib/roundl.c: New file.
57677         * m4/round.m4: New file.
57678         * m4/roundf.m4: New file.
57679         * m4/roundl.m4: New file.
57680         * m4/check-libm-func-m4: New file.
57681         * modules/math: Replace round, roundf, roundl related @VARS@ in
57682         math.in.h.
57683         * modules/round: New file.
57684         * modules/round-tests: New file.
57685         * modules/roundf: New file.
57686         * modules/roundf-tests: New file.
57687         * modules/roundl: New file.
57688         * modules/roundl-tests: New file.
57689         * tests/test-round1.c: New file.
57690         * tests/test-round2.c: New file.
57691         * tests/test-roundf1.c: New file.
57692         * tests/test-roundf2.c: New file.
57693         * tests/test-roundl.c: New file.
57694         * doc/functions/round.texi: Mention round module.
57695         * doc/functions/roundf.texi: Mention roundf module.
57696         * doc/functions/roundl.texi: Mention roundl module.
57697         * MODULES.html.sh: Mention new modules.
57698         Thanks to Bruno Haible for suggestions.
57699
57700 2007-10-20  Jim Meyering  <meyering@redhat.com>
57701
57702         * lib/xprintf.c: Include <config.h> unconditionally.
57703
57704         Change xprintf's license to GPL.
57705         * modules/xprintf (License): s/LGPL/GPL/, since this module
57706         depends on modules (exit and exitfail) which are GPL.
57707         Suggestion from Bruno Haible.
57708
57709         xprintf fixes.
57710         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57711         Use a clearer diagnostic.
57712         Patch from Bruno Haible.
57713
57714 2007-10-20  Bruno Haible  <bruno@clisp.org>
57715
57716         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57717         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57718         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57719
57720 2007-10-20  Bruno Haible  <bruno@clisp.org>
57721
57722         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57723         precision in the comparison result > x - 1 or similar.
57724         * tests/test-ceilf2.c (correct_result_p): Likewise.
57725         * tests/test-truncf2.c (correct_result_p): Likewise.
57726         * tests/test-trunc2.c (correct_result_p): Likewise.
57727         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57728
57729 2007-10-20  Bruno Haible  <bruno@clisp.org>
57730
57731         * modules/ceil: New file.
57732         * m4/ceil.m4: New file.
57733         * doc/functions/ceil.texi: Mention the 'ceil' module.
57734
57735 2007-10-20  Bruno Haible  <bruno@clisp.org>
57736
57737         * modules/floor: New file.
57738         * m4/floor.m4: New file.
57739         * doc/functions/floor.texi: Mention the 'floor' module.
57740
57741 2007-10-20  Bruno Haible  <bruno@clisp.org>
57742
57743         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57744         of %a.
57745         * modules/floorf-tests (Depends-on): Likewise.
57746         * modules/truncf-tests (Depends-on): Likewise.
57747         * modules/trunc-tests (Depends-on): Likewise.
57748         Reported by Ben Pfaff.
57749
57750 2007-10-19  Jim Meyering  <meyering@redhat.com>
57751
57752         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57753         Don't bother testing specific errno values.  Just test ferror.
57754
57755         New module: xprintf
57756         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57757
57758 2007-10-19  Bruno Haible  <bruno@clisp.org>
57759
57760         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57761         syntax.
57762         * modules/javaexec (Makefile.am): Likewise.
57763         * modules/relocatable-prog (Makefile.am): Likewise.
57764         Suggested by Jim Meyering.
57765
57766 2007-10-18  Bruno Haible  <bruno@clisp.org>
57767
57768         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57769         Reported by Jim Meyering.
57770
57771 2007-10-18  Eric Blake  <ebb9@byu.net>
57772
57773         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57774
57775 2007-10-18  Bruno Haible  <bruno@clisp.org>
57776
57777         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57778         the format string into writable memory. Needed in Fortify conditions.
57779
57780 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57781             Bruno Haible  <bruno@clisp.org>
57782
57783         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57784         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57785         * modules/trim (Depends-on): Add mbchar.
57786         (configure.ac): Add gl_FUNC_MBRTOWC.
57787         (Makefile.am): Augment lib_SOURCES.
57788
57789 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57790
57791         Modify glob.c to use fstatat and dirfd, to simplify it.
57792         Suggested by Eric Blake.
57793         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57794         Don't include <stdbool.h>; not used.
57795         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57796         (link_exists_p): Simplify implementation, since we can now assume
57797         dirfd and fstatat.
57798         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57799
57800 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57801
57802         * gnulib-tool (func_get_dependencies): Fix sed script to
57803         match only tests.
57804
57805 2007-10-17  Bruno Haible  <bruno@clisp.org>
57806
57807         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57808         allow locale names without encoding suffix.
57809         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57810         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57811
57812 2007-10-16  Bruno Haible  <bruno@clisp.org>
57813
57814         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57815         * lib/getgroups.c (getgroups): Likewise.
57816         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57817
57818 2007-10-16  Bruno Haible  <bruno@clisp.org>
57819
57820         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57821         * modules/malloc-posix (License): Likewise.
57822         * modules/realloc-posix (License): Likewise.
57823         * modules/calloc-posix (License): Likewise.
57824         * modules/intprops (License): Change from GPL to LGPL, with
57825         Paul Eggert's approval.
57826
57827 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57828
57829         Merge glibc changes into lib/glob.c.
57830
57831         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57832         2007-10-15 04:59:03 UTC.  Here are the changes:
57833
57834         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57835
57836         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57837
57838         * lib/glob.c: Add some branch prediction throughout.
57839
57840         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57841
57842         [BZ #5103]
57843         * lib/glob.c (glob): Recognize patterns starting \/.
57844
57845         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57846
57847         [BZ #3996]
57848         * lib/glob.c (attribute_hidden): Define if not defined.
57849         (glob): Unescape dirname, filename or username when needed and not
57850         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57851         is NULL.  Handle unescaped [ in pattern without closing ].
57852         Don't pass GLOB_CHECK down to recursive glob for directories.
57853         (__glob_pattern_type): New function.
57854         (__glob_pattern_p): Implement using __glob_pattern_type.
57855         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57856         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57857         Remove unreachable code.
57858
57859         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57860
57861         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57862         explain why there are no leaks.
57863
57864         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57865
57866         [BZ #3253]
57867         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57868         time, rather allocate increasingly bigger arrays of pointers, if
57869         possible with alloca, if too large with malloc.
57870
57871 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57872
57873         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57874         Problem reported by H.Merijn Brand in
57875         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57876         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57877         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57878
57879 2007-10-15  Bruno Haible  <bruno@clisp.org>
57880
57881         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57882         with explicit rpl_ prefix.
57883         * lib/fopen.c (fopen): Likewise.
57884         * lib/freopen.c (freopen): Likewise.
57885         * lib/iconv.c (iconv): Likewise.
57886         * lib/iconv_close.c (iconv_close): Likewise.
57887
57888 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57889
57890         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57891
57892 2007-10-15  Bruno Haible  <bruno@clisp.org>
57893
57894         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57895         <stddef.h> instead of <stdlib.h> since we only need NULL.
57896         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57897
57898 2007-10-15  Bruno Haible  <bruno@clisp.org>
57899
57900         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57901         Replace paragraph talking about LIBOBJS.
57902         Reported by Colin Watson <cjwatson@debian.org>.
57903
57904 2007-10-15  Bruno Haible  <bruno@clisp.org>
57905
57906         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57907         <stdlib.h> before using NULL.
57908
57909 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57910
57911         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57912         Reported by Albert Chin <china@thewrittenword.com>.
57913
57914 2007-10-14  Bruno Haible  <bruno@clisp.org>
57915
57916         * modules/iconv_open-utf-tests: New file.
57917         * tests/test-iconv-utf.c: New file.
57918
57919         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57920         * modules/iconv_open-utf: New file.
57921         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57922         (iconv, iconv_close): New declarations.
57923         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57924         be defined.
57925         (iconv_open): Add special handling of conversion between UTF-8 and
57926         UTF-{16,32}{BE,LE}.
57927         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57928         * lib/iconv_close.c: New file.
57929         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57930         gl_FUNC_ICONV_OPEN.
57931         (gl_FUNC_ICONV_OPEN): Use it.
57932         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57933         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57934         and REPLACE_ICONV_UTF.
57935         * modules/iconv_open (Depends-on): Add c-strcase.
57936         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57937         ICONV_CONST.
57938         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57939
57940 2007-10-13  Albert Chin  <china@thewrittenword.com>
57941             Bruno Haible  <bruno@clisp.org>
57942
57943         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57944         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57945
57946 2007-10-13  Bruno Haible  <bruno@clisp.org>
57947
57948         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57949         defined, use the ISO C99 inline semantics.
57950         * lib/argp.h (ARGP_EI): Likewise.
57951
57952 2007-10-13  Bruno Haible  <bruno@clisp.org>
57953
57954         Handle 'inline' change in gcc 4.3.0.
57955         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57956         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57957         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57958         argp_fmtstream_point): Disable 'extern' declaration if the function
57959         definition is going to be provided inline.
57960         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57961         semantics, not the ISO C99 inline semantics.
57962         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57963         'extern' declaration if the function definition is going to be provided
57964         inline.
57965         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57966         the GNU C inline semantics, not the ISO C99 inline semantics. With
57967         GCC 4.2, avoid a warning.
57968
57969 2007-10-13  Bruno Haible  <bruno@clisp.org>
57970
57971         * lib/freading.h (freading): Enable the use of __freading for
57972         glibc >= 2.7.
57973         * lib/freading.c (freading): Likewise.
57974
57975 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57976
57977         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57978         "warning: C99 inline functions are not supported; using GNU89".
57979
57980 2007-10-12  Bruno Haible  <bruno@clisp.org>
57981
57982         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57983         of 2.
57984         * tests/test-ceilf2.c: New file.
57985         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57986
57987         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57988         * modules/ceilf-tests: Update.
57989
57990 2007-10-12  Bruno Haible  <bruno@clisp.org>
57991
57992         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57993         of 2.
57994         * tests/test-floorf2.c: New file.
57995         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57996
57997         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57998         * modules/floorf-tests: Update.
57999
58000 2007-10-12  Bruno Haible  <bruno@clisp.org>
58001
58002         * tests/test-trunc2.c: New file.
58003         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58004
58005         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58006         * modules/trunc-tests: Update.
58007
58008 2007-10-12  Bruno Haible  <bruno@clisp.org>
58009
58010         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58011         of 2.
58012         * tests/test-truncf2.c: New file.
58013         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58014
58015         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58016         * modules/truncf-tests: Update.
58017
58018 2007-10-11  Eric Blake  <ebb9@byu.net>
58019
58020         Don't claim strerror is broken on Interix.
58021         * doc/functions/strerror.texi (strerror): Known broken systems are
58022         now Solaris 8, and not Interix.
58023         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58024         Interix on cross-compile.
58025         Reported by Martin Koeppe in
58026         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58027
58028 2007-10-11  Bruno Haible  <bruno@clisp.org>
58029
58030         * modules/i-ring-tests: New file.
58031         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58032         instead of assert.
58033
58034 2007-10-11  Bruno Haible  <bruno@clisp.org>
58035
58036         * modules/filenamecat-tests: New file.
58037         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58038         * lib/filenamecat.c: Remove test code.
58039
58040 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58041
58042         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58043
58044         * lib/strerror.c: Include <string.h> always, to test interface,
58045         and to remove the need for the dummy.
58046         Include intprops.h to compute width instead of doing it ourselves
58047         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58048         (strerror): Define it to return NULL if there's no system strerror.
58049         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58050         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58051         ancient pre-strerror Unix systems well any more.  Saying "unknown
58052         system error" is enough.
58053         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58054         simpler strerror.c implementation.
58055         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58056         Simplify the tests to reflect the simpler strerror implementation.
58057         * modules/strerror (Depends-on): Add intprops.
58058
58059 2007-10-09  Eric Blake  <ebb9@byu.net>
58060
58061         Silence test-fpending.
58062         * modules/fpending-tests (Files): Add wrapper script.
58063         * tests/test-fpending.sh: New file.
58064
58065 2007-10-09  Bruno Haible  <bruno@clisp.org>
58066
58067         * MODULES.html.sh (func_module): Don't create a hyperlink for
58068         function names like 'printf_frexp'.
58069         (Misc): Add crc, memxor.
58070         (Characteristics of floating types): New section.
58071         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58072         isnanf-nolibm, signbit, trunc, truncf, truncl.
58073         (Enhancements for ISO C 99 functions): New subsection Input/output.
58074         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58075         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58076         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58077         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58078         (Enhancements for POSIX:2001 functions): Add chdir-long.
58079         (File system functions): Add areadlink, chdir-safer, read-file.
58080         Remove cycle-check.
58081         (File system as inode set): New section.
58082         (Date and time): Add gethrxtime.
58083         (Multithreading): Add openmp.
58084         (Internationalization functions): Add localename.
58085         (Unicode string functions): Add unistr/u*-mbsnlen.
58086         (Support for maintaining and releasing projects): Add git-version-gen.
58087         (Lone files): Remove directories.
58088
58089 2007-10-08  Ben Pfaff  <blp@gnu.org>
58090
58091         * lib/xmalloca.h: Fix typo in comment.
58092
58093 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58094
58095         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58096         when avoiding problems with integer overflow.  Use a portable test
58097         instead.
58098
58099 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58100
58101         * modules/dummy (License): Change to LGPLv2+.
58102         * modules/float (License): Likewise
58103         * modules/realloc (License): Likewise
58104         * modules/stdlib (License): Likewise
58105
58106 2007-10-07  Bruno Haible  <bruno@clisp.org>
58107
58108         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58109         * floor.c (TWO_MANT_DIG): Likewise.
58110         * ceil.c (TWO_MANT_DIG): Likewise.
58111         Reported by Ben Pfaff.
58112
58113 2007-10-07  Bruno Haible  <bruno@clisp.org>
58114
58115         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58116         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58117         * lib/frexp.c (FUNC): Likewise.
58118         * lib/printf-frexp.h (printf_frexp): Likewise.
58119         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58120         * lib/printf-frexp.c (FUNC): Likewise.
58121         Suggested by Jim Meyering.
58122
58123 2007-10-07  Jim Meyering  <meyering@redhat.com>
58124
58125         Make xnanosleep's integer overflow test more robust.
58126         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58127         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58128
58129 2007-10-07  Bruno Haible  <bruno@clisp.org>
58130
58131         * NEWS: Mention the license change.
58132
58133         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58134         abbreviations in the modules files.
58135
58136         Change copyright notice from GPLv2+ to GPLv3+.
58137         * README: Change copyright notice.
58138         * MODULES.html.sh: Likewise.
58139         * build-aux/bootstrap.conf: Likewise.
58140         * build-aux/config.libpath: Likewise.
58141         * build-aux/csharpcomp.sh.in: Likewise.
58142         * build-aux/csharpexec.sh.in: Likewise.
58143         * build-aux/install-reloc: Likewise.
58144         * build-aux/javacomp.sh.in: Likewise.
58145         * build-aux/javaexec.sh.in: Likewise.
58146         * build-aux/ldd.sh.in: Likewise.
58147         * build-aux/reloc-ldflags: Likewise.
58148         * build-aux/relocatable.sh.in: Likewise.
58149         * build-aux/x-to-1.in: Likewise.
58150         * check-module: Likewise.
58151         * config/srclistvars.sh: Likewise.
58152         * gnulib-tool: Likewise.
58153         * lib/acl-internal.h: Likewise.
58154         * lib/acl.c: Likewise.
58155         * lib/acl.h: Likewise.
58156         * lib/acl_entries.c: Likewise.
58157         * lib/areadlink-with-size.c: Likewise.
58158         * lib/areadlink.c: Likewise.
58159         * lib/areadlink.h: Likewise.
58160         * lib/argmatch.c: Likewise.
58161         * lib/argmatch.h: Likewise.
58162         * lib/argp-ba.c: Likewise.
58163         * lib/argp-eexst.c: Likewise.
58164         * lib/argp-fmtstream.c: Likewise.
58165         * lib/argp-fmtstream.h: Likewise.
58166         * lib/argp-fs-xinl.c: Likewise.
58167         * lib/argp-help.c: Likewise.
58168         * lib/argp-namefrob.h: Likewise.
58169         * lib/argp-parse.c: Likewise.
58170         * lib/argp-pin.c: Likewise.
58171         * lib/argp-pv.c: Likewise.
58172         * lib/argp-pvh.c: Likewise.
58173         * lib/argp-xinl.c: Likewise.
58174         * lib/argp.h: Likewise.
58175         * lib/at-func.c: Likewise.
58176         * lib/atanl.c: Likewise.
58177         * lib/backupfile.c: Likewise.
58178         * lib/backupfile.h: Likewise.
58179         * lib/basename.c: Likewise.
58180         * lib/binary-io.h: Likewise.
58181         * lib/byteswap.in.h: Likewise.
58182         * lib/c-stack.c: Likewise.
58183         * lib/c-stack.h: Likewise.
58184         * lib/c-strcasestr.c: Likewise.
58185         * lib/c-strcasestr.h: Likewise.
58186         * lib/c-strstr.c: Likewise.
58187         * lib/c-strstr.h: Likewise.
58188         * lib/c-strtod.c: Likewise.
58189         * lib/calloc.c: Likewise.
58190         * lib/canon-host.c: Likewise.
58191         * lib/canon-host.h: Likewise.
58192         * lib/canonicalize-lgpl.c: Likewise.
58193         * lib/canonicalize.c: Likewise.
58194         * lib/canonicalize.h: Likewise.
58195         * lib/ceil.c: Likewise.
58196         * lib/ceilf.c: Likewise.
58197         * lib/ceill.c: Likewise.
58198         * lib/chdir-long.c: Likewise.
58199         * lib/chdir-long.h: Likewise.
58200         * lib/chdir-safer.c: Likewise.
58201         * lib/chdir-safer.h: Likewise.
58202         * lib/chown.c: Likewise.
58203         * lib/classpath.c: Likewise.
58204         * lib/classpath.h: Likewise.
58205         * lib/clean-temp.c: Likewise.
58206         * lib/clean-temp.h: Likewise.
58207         * lib/cloexec.c: Likewise.
58208         * lib/close-stream.c: Likewise.
58209         * lib/closein.c: Likewise.
58210         * lib/closein.h: Likewise.
58211         * lib/closeout.c: Likewise.
58212         * lib/closeout.h: Likewise.
58213         * lib/concat-filename.c: Likewise.
58214         * lib/copy-file.c: Likewise.
58215         * lib/copy-file.h: Likewise.
58216         * lib/count-one-bits.h: Likewise.
58217         * lib/crc.c: Likewise.
58218         * lib/crc.h: Likewise.
58219         * lib/creat-safer.c: Likewise.
58220         * lib/csharpcomp.c: Likewise.
58221         * lib/csharpcomp.h: Likewise.
58222         * lib/csharpexec.c: Likewise.
58223         * lib/csharpexec.h: Likewise.
58224         * lib/cycle-check.c: Likewise.
58225         * lib/cycle-check.h: Likewise.
58226         * lib/diacrit.c: Likewise.
58227         * lib/diacrit.h: Likewise.
58228         * lib/diffseq.h: Likewise.
58229         * lib/dirchownmod.c: Likewise.
58230         * lib/dirent.in.h: Likewise.
58231         * lib/dirfd.c: Likewise.
58232         * lib/dirfd.h: Likewise.
58233         * lib/dirname.c: Likewise.
58234         * lib/dirname.h: Likewise.
58235         * lib/dummy.c: Likewise.
58236         * lib/dup-safer.c: Likewise.
58237         * lib/dup2.c: Likewise.
58238         * lib/eealloc.h: Likewise.
58239         * lib/error.c: Likewise.
58240         * lib/error.h: Likewise.
58241         * lib/euidaccess.c: Likewise.
58242         * lib/exclude.c: Likewise.
58243         * lib/exclude.h: Likewise.
58244         * lib/execute.c: Likewise.
58245         * lib/execute.h: Likewise.
58246         * lib/exitfail.c: Likewise.
58247         * lib/exitfail.h: Likewise.
58248         * lib/expl.c: Likewise.
58249         * lib/fatal-signal.c: Likewise.
58250         * lib/fatal-signal.h: Likewise.
58251         * lib/fbufmode.c: Likewise.
58252         * lib/fbufmode.h: Likewise.
58253         * lib/fchdir.c: Likewise.
58254         * lib/fchmodat.c: Likewise.
58255         * lib/fchownat.c: Likewise.
58256         * lib/fcntl--.h: Likewise.
58257         * lib/fcntl-safer.h: Likewise.
58258         * lib/fcntl.in.h: Likewise.
58259         * lib/fd-safer.c: Likewise.
58260         * lib/fflush.c: Likewise.
58261         * lib/file-has-acl.c: Likewise.
58262         * lib/file-set.c: Likewise.
58263         * lib/file-type.c: Likewise.
58264         * lib/file-type.h: Likewise.
58265         * lib/fileblocks.c: Likewise.
58266         * lib/filemode.c: Likewise.
58267         * lib/filemode.h: Likewise.
58268         * lib/filename.h: Likewise.
58269         * lib/filenamecat.c: Likewise.
58270         * lib/filenamecat.h: Likewise.
58271         * lib/findprog.c: Likewise.
58272         * lib/findprog.h: Likewise.
58273         * lib/float.in.h: Likewise.
58274         * lib/floor.c: Likewise.
58275         * lib/floorf.c: Likewise.
58276         * lib/floorl.c: Likewise.
58277         * lib/fopen-safer.c: Likewise.
58278         * lib/fopen.c: Likewise.
58279         * lib/fpending.c: Likewise.
58280         * lib/fpending.h: Likewise.
58281         * lib/fprintf.c: Likewise.
58282         * lib/fprintftime.h: Likewise.
58283         * lib/fpucw.h: Likewise.
58284         * lib/fpurge.c: Likewise.
58285         * lib/fpurge.h: Likewise.
58286         * lib/freadable.c: Likewise.
58287         * lib/freadable.h: Likewise.
58288         * lib/freadahead.c: Likewise.
58289         * lib/freadahead.h: Likewise.
58290         * lib/freading.c: Likewise.
58291         * lib/freading.h: Likewise.
58292         * lib/free.c: Likewise.
58293         * lib/freopen.c: Likewise.
58294         * lib/frexp.c: Likewise.
58295         * lib/frexpl.c: Likewise.
58296         * lib/fseek.c: Likewise.
58297         * lib/fseterr.c: Likewise.
58298         * lib/fseterr.h: Likewise.
58299         * lib/fstatat.c: Likewise.
58300         * lib/fstrcmp.c: Likewise.
58301         * lib/fstrcmp.h: Likewise.
58302         * lib/fsusage.c: Likewise.
58303         * lib/fsusage.h: Likewise.
58304         * lib/ftell.c: Likewise.
58305         * lib/ftello.c: Likewise.
58306         * lib/fts-cycle.c: Likewise.
58307         * lib/fts.c: Likewise.
58308         * lib/fts_.h: Likewise.
58309         * lib/full-read.c: Likewise.
58310         * lib/full-read.h: Likewise.
58311         * lib/full-write.c: Likewise.
58312         * lib/full-write.h: Likewise.
58313         * lib/fwritable.c: Likewise.
58314         * lib/fwritable.h: Likewise.
58315         * lib/fwriteerror.c: Likewise.
58316         * lib/fwriteerror.h: Likewise.
58317         * lib/fwriting.c: Likewise.
58318         * lib/fwriting.h: Likewise.
58319         * lib/gcd.c: Likewise.
58320         * lib/gcd.h: Likewise.
58321         * lib/getcwd.c: Likewise.
58322         * lib/getdate.h: Likewise.
58323         * lib/getdate.y: Likewise.
58324         * lib/getdomainname.c: Likewise.
58325         * lib/getdomainname.h: Likewise.
58326         * lib/getgroups.c: Likewise.
58327         * lib/gethostname.c: Likewise.
58328         * lib/gethrxtime.c: Likewise.
58329         * lib/gethrxtime.h: Likewise.
58330         * lib/getloadavg.c: Likewise.
58331         * lib/getndelim2.c: Likewise.
58332         * lib/getndelim2.h: Likewise.
58333         * lib/getnline.c: Likewise.
58334         * lib/getnline.h: Likewise.
58335         * lib/getopt.c: Likewise.
58336         * lib/getopt.in.h: Likewise.
58337         * lib/getopt1.c: Likewise.
58338         * lib/getopt_int.h: Likewise.
58339         * lib/getpagesize.h: Likewise.
58340         * lib/getsubopt.c: Likewise.
58341         * lib/gettime.c: Likewise.
58342         * lib/getugroups.c: Likewise.
58343         * lib/getugroups.h: Likewise.
58344         * lib/getusershell.c: Likewise.
58345         * lib/gl_anyavltree_list1.h: Likewise.
58346         * lib/gl_anyavltree_list2.h: Likewise.
58347         * lib/gl_anyhash_list1.h: Likewise.
58348         * lib/gl_anyhash_list2.h: Likewise.
58349         * lib/gl_anylinked_list1.h: Likewise.
58350         * lib/gl_anylinked_list2.h: Likewise.
58351         * lib/gl_anyrbtree_list1.h: Likewise.
58352         * lib/gl_anyrbtree_list2.h: Likewise.
58353         * lib/gl_anytree_list1.h: Likewise.
58354         * lib/gl_anytree_list2.h: Likewise.
58355         * lib/gl_anytree_oset.h: Likewise.
58356         * lib/gl_anytreehash_list1.h: Likewise.
58357         * lib/gl_anytreehash_list2.h: Likewise.
58358         * lib/gl_array_list.c: Likewise.
58359         * lib/gl_array_list.h: Likewise.
58360         * lib/gl_array_oset.c: Likewise.
58361         * lib/gl_array_oset.h: Likewise.
58362         * lib/gl_avltree_list.c: Likewise.
58363         * lib/gl_avltree_list.h: Likewise.
58364         * lib/gl_avltree_oset.c: Likewise.
58365         * lib/gl_avltree_oset.h: Likewise.
58366         * lib/gl_avltreehash_list.c: Likewise.
58367         * lib/gl_avltreehash_list.h: Likewise.
58368         * lib/gl_carray_list.c: Likewise.
58369         * lib/gl_carray_list.h: Likewise.
58370         * lib/gl_linked_list.c: Likewise.
58371         * lib/gl_linked_list.h: Likewise.
58372         * lib/gl_linkedhash_list.c: Likewise.
58373         * lib/gl_linkedhash_list.h: Likewise.
58374         * lib/gl_list.c: Likewise.
58375         * lib/gl_list.h: Likewise.
58376         * lib/gl_oset.c: Likewise.
58377         * lib/gl_oset.h: Likewise.
58378         * lib/gl_rbtree_list.c: Likewise.
58379         * lib/gl_rbtree_list.h: Likewise.
58380         * lib/gl_rbtree_oset.c: Likewise.
58381         * lib/gl_rbtree_oset.h: Likewise.
58382         * lib/gl_rbtreehash_list.c: Likewise.
58383         * lib/gl_rbtreehash_list.h: Likewise.
58384         * lib/gl_sublist.c: Likewise.
58385         * lib/gl_sublist.h: Likewise.
58386         * lib/group-member.c: Likewise.
58387         * lib/group-member.h: Likewise.
58388         * lib/hard-locale.c: Likewise.
58389         * lib/hard-locale.h: Likewise.
58390         * lib/hash-pjw.c: Likewise.
58391         * lib/hash-pjw.h: Likewise.
58392         * lib/hash-triple.c: Likewise.
58393         * lib/hash.c: Likewise.
58394         * lib/hash.h: Likewise.
58395         * lib/human.c: Likewise.
58396         * lib/human.h: Likewise.
58397         * lib/i-ring.c: Likewise.
58398         * lib/i-ring.h: Likewise.
58399         * lib/idcache.c: Likewise.
58400         * lib/imaxabs.c: Likewise.
58401         * lib/imaxdiv.c: Likewise.
58402         * lib/inet_pton.c: Likewise.
58403         * lib/inet_pton.h: Likewise.
58404         * lib/intprops.h: Likewise.
58405         * lib/inttostr.c: Likewise.
58406         * lib/inttostr.h: Likewise.
58407         * lib/inttypes.in.h: Likewise.
58408         * lib/isapipe.c: Likewise.
58409         * lib/isdir.c: Likewise.
58410         * lib/isnan.c: Likewise.
58411         * lib/isnan.h: Likewise.
58412         * lib/isnanf.c: Likewise.
58413         * lib/isnanf.h: Likewise.
58414         * lib/isnanl-nolibm.h: Likewise.
58415         * lib/isnanl.c: Likewise.
58416         * lib/isnanl.h: Likewise.
58417         * lib/javacomp.c: Likewise.
58418         * lib/javacomp.h: Likewise.
58419         * lib/javaexec.c: Likewise.
58420         * lib/javaexec.h: Likewise.
58421         * lib/javaversion.c: Likewise.
58422         * lib/javaversion.h: Likewise.
58423         * lib/javaversion.java: Likewise.
58424         * lib/lbrkprop.h: Likewise.
58425         * lib/lchmod.h: Likewise.
58426         * lib/lchown.c: Likewise.
58427         * lib/ldexpl.c: Likewise.
58428         * lib/linebreak.c: Likewise.
58429         * lib/linebreak.h: Likewise.
58430         * lib/linebuffer.c: Likewise.
58431         * lib/linebuffer.h: Likewise.
58432         * lib/locale.in.h: Likewise.
58433         * lib/logl.c: Likewise.
58434         * lib/long-options.c: Likewise.
58435         * lib/long-options.h: Likewise.
58436         * lib/lstat.c: Likewise.
58437         * lib/lstat.h: Likewise.
58438         * lib/math.in.h: Likewise.
58439         * lib/mbchar.c: Likewise.
58440         * lib/mbchar.h: Likewise.
58441         * lib/mbfile.h: Likewise.
58442         * lib/mbiter.h: Likewise.
58443         * lib/mbscasecmp.c: Likewise.
58444         * lib/mbscasestr.c: Likewise.
58445         * lib/mbschr.c: Likewise.
58446         * lib/mbscspn.c: Likewise.
58447         * lib/mbslen.c: Likewise.
58448         * lib/mbsncasecmp.c: Likewise.
58449         * lib/mbsnlen.c: Likewise.
58450         * lib/mbspbrk.c: Likewise.
58451         * lib/mbspcasecmp.c: Likewise.
58452         * lib/mbsrchr.c: Likewise.
58453         * lib/mbssep.c: Likewise.
58454         * lib/mbsspn.c: Likewise.
58455         * lib/mbsstr.c: Likewise.
58456         * lib/mbstok_r.c: Likewise.
58457         * lib/mbswidth.c: Likewise.
58458         * lib/mbswidth.h: Likewise.
58459         * lib/mbuiter.h: Likewise.
58460         * lib/memcasecmp.c: Likewise.
58461         * lib/memcasecmp.h: Likewise.
58462         * lib/memchr.c: Likewise.
58463         * lib/memcmp.c: Likewise.
58464         * lib/memcoll.c: Likewise.
58465         * lib/memcoll.h: Likewise.
58466         * lib/memcpy.c: Likewise.
58467         * lib/memrchr.c: Likewise.
58468         * lib/mkancesdirs.c: Likewise.
58469         * lib/mkdir-p.c: Likewise.
58470         * lib/mkdir-p.h: Likewise.
58471         * lib/mkdir.c: Likewise.
58472         * lib/mkdirat.c: Likewise.
58473         * lib/mkdtemp.c: Likewise.
58474         * lib/mkstemp-safer.c: Likewise.
58475         * lib/mkstemp.c: Likewise.
58476         * lib/modechange.c: Likewise.
58477         * lib/modechange.h: Likewise.
58478         * lib/mountlist.c: Likewise.
58479         * lib/mountlist.h: Likewise.
58480         * lib/mpsort.c: Likewise.
58481         * lib/nanosleep.c: Likewise.
58482         * lib/obstack.c: Likewise.
58483         * lib/obstack.h: Likewise.
58484         * lib/open-safer.c: Likewise.
58485         * lib/open.c: Likewise.
58486         * lib/openat-die.c: Likewise.
58487         * lib/openat-priv.h: Likewise.
58488         * lib/openat-proc.c: Likewise.
58489         * lib/openat.c: Likewise.
58490         * lib/openat.h: Likewise.
58491         * lib/pagealign_alloc.c: Likewise.
58492         * lib/pagealign_alloc.h: Likewise.
58493         * lib/physmem.c: Likewise.
58494         * lib/physmem.h: Likewise.
58495         * lib/pipe-safer.c: Likewise.
58496         * lib/pipe.c: Likewise.
58497         * lib/pipe.h: Likewise.
58498         * lib/posixtm.c: Likewise.
58499         * lib/posixtm.h: Likewise.
58500         * lib/posixver.c: Likewise.
58501         * lib/printf-frexp.c: Likewise.
58502         * lib/printf-frexp.h: Likewise.
58503         * lib/printf-frexpl.c: Likewise.
58504         * lib/printf-frexpl.h: Likewise.
58505         * lib/printf.c: Likewise.
58506         * lib/progname.c: Likewise.
58507         * lib/progname.h: Likewise.
58508         * lib/progreloc.c: Likewise.
58509         * lib/putenv.c: Likewise.
58510         * lib/quote.c: Likewise.
58511         * lib/quote.h: Likewise.
58512         * lib/quotearg.c: Likewise.
58513         * lib/quotearg.h: Likewise.
58514         * lib/raise.c: Likewise.
58515         * lib/readline.c: Likewise.
58516         * lib/readline.h: Likewise.
58517         * lib/readlink.c: Likewise.
58518         * lib/readtokens.c: Likewise.
58519         * lib/readtokens.h: Likewise.
58520         * lib/readtokens0.c: Likewise.
58521         * lib/readtokens0.h: Likewise.
58522         * lib/readutmp.c: Likewise.
58523         * lib/readutmp.h: Likewise.
58524         * lib/realloc.c: Likewise.
58525         * lib/relocwrapper.c: Likewise.
58526         * lib/rename-dest-slash.c: Likewise.
58527         * lib/rename.c: Likewise.
58528         * lib/rmdir.c: Likewise.
58529         * lib/rpmatch.c: Likewise.
58530         * lib/safe-read.c: Likewise.
58531         * lib/safe-read.h: Likewise.
58532         * lib/safe-write.c: Likewise.
58533         * lib/safe-write.h: Likewise.
58534         * lib/same-inode.h: Likewise.
58535         * lib/same.c: Likewise.
58536         * lib/same.h: Likewise.
58537         * lib/save-cwd.c: Likewise.
58538         * lib/save-cwd.h: Likewise.
58539         * lib/savedir.c: Likewise.
58540         * lib/savedir.h: Likewise.
58541         * lib/savewd.c: Likewise.
58542         * lib/savewd.h: Likewise.
58543         * lib/search.in.h: Likewise.
58544         * lib/setenv.c: Likewise.
58545         * lib/setenv.h: Likewise.
58546         * lib/settime.c: Likewise.
58547         * lib/sh-quote.c: Likewise.
58548         * lib/sh-quote.h: Likewise.
58549         * lib/sig2str.c: Likewise.
58550         * lib/sig2str.h: Likewise.
58551         * lib/signal.in.h: Likewise.
58552         * lib/signbitd.c: Likewise.
58553         * lib/signbitf.c: Likewise.
58554         * lib/signbitl.c: Likewise.
58555         * lib/sigprocmask.c: Likewise.
58556         * lib/sincosl.c: Likewise.
58557         * lib/sleep.c: Likewise.
58558         * lib/sprintf.c: Likewise.
58559         * lib/sqrtl.c: Likewise.
58560         * lib/stat-time.h: Likewise.
58561         * lib/stdio--.h: Likewise.
58562         * lib/stdio-safer.h: Likewise.
58563         * lib/stdlib--.h: Likewise.
58564         * lib/stdlib-safer.h: Likewise.
58565         * lib/stdlib.in.h: Likewise.
58566         * lib/stpcpy.c: Likewise.
58567         * lib/stpncpy.c: Likewise.
58568         * lib/strchrnul.c: Likewise.
58569         * lib/strcspn.c: Likewise.
58570         * lib/strerror.c: Likewise.
58571         * lib/strftime.c: Likewise.
58572         * lib/strftime.h: Likewise.
58573         * lib/striconveh.c: Likewise.
58574         * lib/striconveh.h: Likewise.
58575         * lib/striconveha.c: Likewise.
58576         * lib/striconveha.h: Likewise.
58577         * lib/stripslash.c: Likewise.
58578         * lib/strnlen1.c: Likewise.
58579         * lib/strnlen1.h: Likewise.
58580         * lib/strtod.c: Likewise.
58581         * lib/strtoimax.c: Likewise.
58582         * lib/strtok_r.c: Likewise.
58583         * lib/strtol.c: Likewise.
58584         * lib/strtoll.c: Likewise.
58585         * lib/strtoul.c: Likewise.
58586         * lib/strtoull.c: Likewise.
58587         * lib/sysexits.in.h: Likewise.
58588         * lib/tempname.c: Likewise.
58589         * lib/tempname.h: Likewise.
58590         * lib/timespec.h: Likewise.
58591         * lib/tls.c: Likewise.
58592         * lib/tls.h: Likewise.
58593         * lib/tmpdir.c: Likewise.
58594         * lib/tmpdir.h: Likewise.
58595         * lib/tmpfile-safer.c: Likewise.
58596         * lib/tmpfile.c: Likewise.
58597         * lib/trigl.c: Likewise.
58598         * lib/trigl.h: Likewise.
58599         * lib/trim.c: Likewise.
58600         * lib/trim.h: Likewise.
58601         * lib/trunc.c: Likewise.
58602         * lib/truncf.c: Likewise.
58603         * lib/truncl.c: Likewise.
58604         * lib/tsearch.c: Likewise.
58605         * lib/unicodeio.c: Likewise.
58606         * lib/unicodeio.h: Likewise.
58607         * lib/unistd--.h: Likewise.
58608         * lib/unistd-safer.h: Likewise.
58609         * lib/unistdio/ulc-fprintf.c: Likewise.
58610         * lib/unistdio/ulc-vfprintf.c: Likewise.
58611         * lib/unlinkdir.c: Likewise.
58612         * lib/unlinkdir.h: Likewise.
58613         * lib/unlocked-io.h: Likewise.
58614         * lib/unsetenv.c: Likewise.
58615         * lib/userspec.c: Likewise.
58616         * lib/utime.c: Likewise.
58617         * lib/utimecmp.c: Likewise.
58618         * lib/utimecmp.h: Likewise.
58619         * lib/utimens.c: Likewise.
58620         * lib/verify.h: Likewise.
58621         * lib/verror.c: Likewise.
58622         * lib/verror.h: Likewise.
58623         * lib/version-etc-fsf.c: Likewise.
58624         * lib/version-etc.c: Likewise.
58625         * lib/version-etc.h: Likewise.
58626         * lib/vfprintf.c: Likewise.
58627         * lib/vprintf.c: Likewise.
58628         * lib/vsprintf.c: Likewise.
58629         * lib/w32spawn.h: Likewise.
58630         * lib/wait-process.c: Likewise.
58631         * lib/wait-process.h: Likewise.
58632         * lib/wcwidth.c: Likewise.
58633         * lib/write-any-file.c: Likewise.
58634         * lib/xalloc-die.c: Likewise.
58635         * lib/xalloc.h: Likewise.
58636         * lib/xasprintf.c: Likewise.
58637         * lib/xgetcwd.c: Likewise.
58638         * lib/xgetcwd.h: Likewise.
58639         * lib/xgetdomainname.c: Likewise.
58640         * lib/xgetdomainname.h: Likewise.
58641         * lib/xgethostname.c: Likewise.
58642         * lib/xmalloc.c: Likewise.
58643         * lib/xmalloca.c: Likewise.
58644         * lib/xmalloca.h: Likewise.
58645         * lib/xmemcoll.c: Likewise.
58646         * lib/xnanosleep.c: Likewise.
58647         * lib/xreadlink.c: Likewise.
58648         * lib/xreadlink.h: Likewise.
58649         * lib/xsetenv.c: Likewise.
58650         * lib/xsetenv.h: Likewise.
58651         * lib/xstriconv.c: Likewise.
58652         * lib/xstriconv.h: Likewise.
58653         * lib/xstrndup.c: Likewise.
58654         * lib/xstrndup.h: Likewise.
58655         * lib/xstrtod.c: Likewise.
58656         * lib/xstrtod.h: Likewise.
58657         * lib/xstrtol-error.c: Likewise.
58658         * lib/xstrtol.c: Likewise.
58659         * lib/xstrtol.h: Likewise.
58660         * lib/xtime.h: Likewise.
58661         * lib/xvasprintf.c: Likewise.
58662         * lib/xvasprintf.h: Likewise.
58663         * lib/yesno.c: Likewise.
58664         * lib/yesno.h: Likewise.
58665         * posix-modules: Likewise.
58666         * tests/test-alloca-opt.c: Likewise.
58667         * tests/test-arcfour.c: Likewise.
58668         * tests/test-arctwo.c: Likewise.
58669         * tests/test-argmatch.c: Likewise.
58670         * tests/test-argp-2.sh: Likewise.
58671         * tests/test-argp.c: Likewise.
58672         * tests/test-arpa_inet.c: Likewise.
58673         * tests/test-array_list.c: Likewise.
58674         * tests/test-array_oset.c: Likewise.
58675         * tests/test-atexit.c: Likewise.
58676         * tests/test-avltree_list.c: Likewise.
58677         * tests/test-avltree_oset.c: Likewise.
58678         * tests/test-avltreehash_list.c: Likewise.
58679         * tests/test-base64.c: Likewise.
58680         * tests/test-binary-io.c: Likewise.
58681         * tests/test-byteswap.c: Likewise.
58682         * tests/test-c-ctype.c: Likewise.
58683         * tests/test-c-strcasecmp.c: Likewise.
58684         * tests/test-c-strcasestr.c: Likewise.
58685         * tests/test-c-strncasecmp.c: Likewise.
58686         * tests/test-c-strstr.c: Likewise.
58687         * tests/test-canonicalize-lgpl.c: Likewise.
58688         * tests/test-canonicalize.c: Likewise.
58689         * tests/test-carray_list.c: Likewise.
58690         * tests/test-ceilf.c: Likewise.
58691         * tests/test-ceill.c: Likewise.
58692         * tests/test-count-one-bits.c: Likewise.
58693         * tests/test-crc.c: Likewise.
58694         * tests/test-dirname.c: Likewise.
58695         * tests/test-fbufmode.c: Likewise.
58696         * tests/test-fcntl.c: Likewise.
58697         * tests/test-fflush.c: Likewise.
58698         * tests/test-floorf.c: Likewise.
58699         * tests/test-floorl.c: Likewise.
58700         * tests/test-fopen.c: Likewise.
58701         * tests/test-fprintf-posix.c: Likewise.
58702         * tests/test-fprintf-posix.h: Likewise.
58703         * tests/test-fpurge.c: Likewise.
58704         * tests/test-freadable.c: Likewise.
58705         * tests/test-freadahead.c: Likewise.
58706         * tests/test-freading.c: Likewise.
58707         * tests/test-freopen.c: Likewise.
58708         * tests/test-frexp.c: Likewise.
58709         * tests/test-frexpl.c: Likewise.
58710         * tests/test-fseek.c: Likewise.
58711         * tests/test-fseeko.c: Likewise.
58712         * tests/test-fseterr.c: Likewise.
58713         * tests/test-fstrcmp.c: Likewise.
58714         * tests/test-ftell.c: Likewise.
58715         * tests/test-ftello.c: Likewise.
58716         * tests/test-fwritable.c: Likewise.
58717         * tests/test-fwriting.c: Likewise.
58718         * tests/test-getaddrinfo.c: Likewise.
58719         * tests/test-getpass.c: Likewise.
58720         * tests/test-gettimeofday.c: Likewise.
58721         * tests/test-hmac-md5.c: Likewise.
58722         * tests/test-hmac-sha1.c: Likewise.
58723         * tests/test-iconv.c: Likewise.
58724         * tests/test-iconvme.c: Likewise.
58725         * tests/test-inttypes.c: Likewise.
58726         * tests/test-isnan.c: Likewise.
58727         * tests/test-isnanf.c: Likewise.
58728         * tests/test-isnanl-nolibm.c: Likewise.
58729         * tests/test-isnanl.c: Likewise.
58730         * tests/test-isnanl.h: Likewise.
58731         * tests/test-ldexpl.c: Likewise.
58732         * tests/test-linked_list.c: Likewise.
58733         * tests/test-linkedhash_list.c: Likewise.
58734         * tests/test-locale.c: Likewise.
58735         * tests/test-localename.c: Likewise.
58736         * tests/test-lock.c: Likewise.
58737         * tests/test-lseek.c: Likewise.
58738         * tests/test-malloca.c: Likewise.
58739         * tests/test-math.c: Likewise.
58740         * tests/test-mbscasecmp.c: Likewise.
58741         * tests/test-mbscasestr1.c: Likewise.
58742         * tests/test-mbscasestr2.c: Likewise.
58743         * tests/test-mbscasestr3.c: Likewise.
58744         * tests/test-mbscasestr4.c: Likewise.
58745         * tests/test-mbschr.c: Likewise.
58746         * tests/test-mbscspn.c: Likewise.
58747         * tests/test-mbsncasecmp.c: Likewise.
58748         * tests/test-mbspbrk.c: Likewise.
58749         * tests/test-mbspcasecmp.c: Likewise.
58750         * tests/test-mbsrchr.c: Likewise.
58751         * tests/test-mbsspn.c: Likewise.
58752         * tests/test-mbsstr1.c: Likewise.
58753         * tests/test-mbsstr2.c: Likewise.
58754         * tests/test-mbsstr3.c: Likewise.
58755         * tests/test-md5.c: Likewise.
58756         * tests/test-memmem.c: Likewise.
58757         * tests/test-netinet_in.c: Likewise.
58758         * tests/test-open.c: Likewise.
58759         * tests/test-printf-frexp.c: Likewise.
58760         * tests/test-printf-frexpl.c: Likewise.
58761         * tests/test-printf-posix.c: Likewise.
58762         * tests/test-printf-posix.h: Likewise.
58763         * tests/test-rbtree_list.c: Likewise.
58764         * tests/test-rbtree_oset.c: Likewise.
58765         * tests/test-rbtreehash_list.c: Likewise.
58766         * tests/test-read-file.c: Likewise.
58767         * tests/test-rijndael.c: Likewise.
58768         * tests/test-search.c: Likewise.
58769         * tests/test-signbit.c: Likewise.
58770         * tests/test-sleep.c: Likewise.
58771         * tests/test-snprintf-posix.c: Likewise.
58772         * tests/test-snprintf-posix.h: Likewise.
58773         * tests/test-snprintf.c: Likewise.
58774         * tests/test-sprintf-posix.c: Likewise.
58775         * tests/test-sprintf-posix.h: Likewise.
58776         * tests/test-stat-time.c: Likewise.
58777         * tests/test-stdbool.c: Likewise.
58778         * tests/test-stdint.c: Likewise.
58779         * tests/test-stdio.c: Likewise.
58780         * tests/test-stdlib.c: Likewise.
58781         * tests/test-stpncpy.c: Likewise.
58782         * tests/test-strcasestr.c: Likewise.
58783         * tests/test-striconv.c: Likewise.
58784         * tests/test-striconveh.c: Likewise.
58785         * tests/test-striconveha.c: Likewise.
58786         * tests/test-string.c: Likewise.
58787         * tests/test-sys_select.c: Likewise.
58788         * tests/test-sys_socket.c: Likewise.
58789         * tests/test-sys_stat.c: Likewise.
58790         * tests/test-sys_time.c: Likewise.
58791         * tests/test-sysexits.c: Likewise.
58792         * tests/test-time.c: Likewise.
58793         * tests/test-tls.c: Likewise.
58794         * tests/test-trunc.c: Likewise.
58795         * tests/test-truncf.c: Likewise.
58796         * tests/test-truncl.c: Likewise.
58797         * tests/test-unistd.c: Likewise.
58798         * tests/test-vasnprintf-posix.c: Likewise.
58799         * tests/test-vasnprintf-posix2.c: Likewise.
58800         * tests/test-vasnprintf.c: Likewise.
58801         * tests/test-vasprintf-posix.c: Likewise.
58802         * tests/test-vasprintf.c: Likewise.
58803         * tests/test-verify.c: Likewise.
58804         * tests/test-vfprintf-posix.c: Likewise.
58805         * tests/test-vprintf-posix.c: Likewise.
58806         * tests/test-vsnprintf-posix.c: Likewise.
58807         * tests/test-vsnprintf.c: Likewise.
58808         * tests/test-vsprintf-posix.c: Likewise.
58809         * tests/test-wchar.c: Likewise.
58810         * tests/test-wctype.c: Likewise.
58811         * tests/test-wcwidth.c: Likewise.
58812         * tests/test-xstrtol.c: Likewise.
58813         * tests/test-xvasprintf.c: Likewise.
58814         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58815         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58816         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58817         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58818         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58819         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58820         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58821         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58822         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58823         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58824         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58825         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58826         * tests/uniname/test-uninames.c: Likewise.
58827         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58828         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58829         * tests/unistdio/test-u16-printf1.h: Likewise.
58830         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58831         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58832         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58833         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58834         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58835         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58836         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58837         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58838         * tests/unistdio/test-u32-printf1.h: Likewise.
58839         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58840         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58841         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58842         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58843         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58844         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58845         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58846         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58847         * tests/unistdio/test-u8-printf1.h: Likewise.
58848         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58849         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58850         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58851         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58852         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58853         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58854         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58855         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58856         * tests/unistdio/test-ulc-printf1.h: Likewise.
58857         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58858         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58859         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58860         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58861         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58862         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58863         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58864         * tests/uniwidth/test-u16-width.c: Likewise.
58865         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58866         * tests/uniwidth/test-u32-width.c: Likewise.
58867         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58868         * tests/uniwidth/test-u8-width.c: Likewise.
58869         * tests/uniwidth/test-uc_width.c: Likewise.
58870         * config/srclist-update: Likewise.
58871         (fixlicense): Update to GPLv3+.
58872
58873         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58874         * tests/test-tsearch.c: Change copyright notice.
58875
58876         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58877         * lib/c-strcaseeq.h: Change copyright notice.
58878         * lib/streq.h: Likewise.
58879         * lib/uniconv.h: Likewise.
58880         * lib/uniconv/u-conv-from-enc.h: Likewise.
58881         * lib/uniconv/u-conv-to-enc.h: Likewise.
58882         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58883         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58884         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58885         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58886         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58887         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58888         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58889         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58890         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58891         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58892         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58893         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58894         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58895         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58896         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58897         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58898         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58899         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58900         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58901         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58902         * lib/uniname.h: Likewise.
58903         * lib/uniname/uniname.c: Likewise.
58904         * lib/unistdio.h: Likewise.
58905         * lib/unistdio/u-asnprintf.h: Likewise.
58906         * lib/unistdio/u-asprintf.h: Likewise.
58907         * lib/unistdio/u-printf-args.c: Likewise.
58908         * lib/unistdio/u-printf-args.h: Likewise.
58909         * lib/unistdio/u-printf-parse.h: Likewise.
58910         * lib/unistdio/u-snprintf.h: Likewise.
58911         * lib/unistdio/u-sprintf.h: Likewise.
58912         * lib/unistdio/u-vasprintf.h: Likewise.
58913         * lib/unistdio/u-vsnprintf.h: Likewise.
58914         * lib/unistdio/u-vsprintf.h: Likewise.
58915         * lib/unistdio/u16-asnprintf.c: Likewise.
58916         * lib/unistdio/u16-asprintf.c: Likewise.
58917         * lib/unistdio/u16-printf-parse.c: Likewise.
58918         * lib/unistdio/u16-snprintf.c: Likewise.
58919         * lib/unistdio/u16-sprintf.c: Likewise.
58920         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58921         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58922         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58923         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58924         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58925         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58926         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58927         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58928         * lib/unistdio/u16-vasnprintf.c: Likewise.
58929         * lib/unistdio/u16-vasprintf.c: Likewise.
58930         * lib/unistdio/u16-vsnprintf.c: Likewise.
58931         * lib/unistdio/u16-vsprintf.c: Likewise.
58932         * lib/unistdio/u32-asnprintf.c: Likewise.
58933         * lib/unistdio/u32-asprintf.c: Likewise.
58934         * lib/unistdio/u32-printf-parse.c: Likewise.
58935         * lib/unistdio/u32-snprintf.c: Likewise.
58936         * lib/unistdio/u32-sprintf.c: Likewise.
58937         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58938         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58939         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58940         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58941         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58942         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58943         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58944         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58945         * lib/unistdio/u32-vasnprintf.c: Likewise.
58946         * lib/unistdio/u32-vasprintf.c: Likewise.
58947         * lib/unistdio/u32-vsnprintf.c: Likewise.
58948         * lib/unistdio/u32-vsprintf.c: Likewise.
58949         * lib/unistdio/u8-asnprintf.c: Likewise.
58950         * lib/unistdio/u8-asprintf.c: Likewise.
58951         * lib/unistdio/u8-printf-parse.c: Likewise.
58952         * lib/unistdio/u8-snprintf.c: Likewise.
58953         * lib/unistdio/u8-sprintf.c: Likewise.
58954         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58955         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58956         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58957         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58958         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58959         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58960         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58961         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58962         * lib/unistdio/u8-vasnprintf.c: Likewise.
58963         * lib/unistdio/u8-vasprintf.c: Likewise.
58964         * lib/unistdio/u8-vsnprintf.c: Likewise.
58965         * lib/unistdio/u8-vsprintf.c: Likewise.
58966         * lib/unistdio/ulc-asnprintf.c: Likewise.
58967         * lib/unistdio/ulc-asprintf.c: Likewise.
58968         * lib/unistdio/ulc-printf-parse.c: Likewise.
58969         * lib/unistdio/ulc-snprintf.c: Likewise.
58970         * lib/unistdio/ulc-sprintf.c: Likewise.
58971         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58972         * lib/unistdio/ulc-vasprintf.c: Likewise.
58973         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58974         * lib/unistdio/ulc-vsprintf.c: Likewise.
58975         * lib/unistr.h: Likewise.
58976         * lib/unistr/u-cpy-alloc.h: Likewise.
58977         * lib/unistr/u-cpy.h: Likewise.
58978         * lib/unistr/u-endswith.h: Likewise.
58979         * lib/unistr/u-move.h: Likewise.
58980         * lib/unistr/u-set.h: Likewise.
58981         * lib/unistr/u-startswith.h: Likewise.
58982         * lib/unistr/u-stpcpy.h: Likewise.
58983         * lib/unistr/u-stpncpy.h: Likewise.
58984         * lib/unistr/u-strcat.h: Likewise.
58985         * lib/unistr/u-strcpy.h: Likewise.
58986         * lib/unistr/u-strcspn.h: Likewise.
58987         * lib/unistr/u-strdup.h: Likewise.
58988         * lib/unistr/u-strlen.h: Likewise.
58989         * lib/unistr/u-strncat.h: Likewise.
58990         * lib/unistr/u-strncpy.h: Likewise.
58991         * lib/unistr/u-strnlen.h: Likewise.
58992         * lib/unistr/u-strpbrk.h: Likewise.
58993         * lib/unistr/u-strspn.h: Likewise.
58994         * lib/unistr/u-strstr.h: Likewise.
58995         * lib/unistr/u-strtok.h: Likewise.
58996         * lib/unistr/u16-check.c: Likewise.
58997         * lib/unistr/u16-chr.c: Likewise.
58998         * lib/unistr/u16-cmp.c: Likewise.
58999         * lib/unistr/u16-cpy-alloc.c: Likewise.
59000         * lib/unistr/u16-cpy.c: Likewise.
59001         * lib/unistr/u16-endswith.c: Likewise.
59002         * lib/unistr/u16-mblen.c: Likewise.
59003         * lib/unistr/u16-mbsnlen.c: Likewise.
59004         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59005         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59006         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59007         * lib/unistr/u16-mbtouc.c: Likewise.
59008         * lib/unistr/u16-mbtoucr.c: Likewise.
59009         * lib/unistr/u16-move.c: Likewise.
59010         * lib/unistr/u16-next.c: Likewise.
59011         * lib/unistr/u16-prev.c: Likewise.
59012         * lib/unistr/u16-set.c: Likewise.
59013         * lib/unistr/u16-startswith.c: Likewise.
59014         * lib/unistr/u16-stpcpy.c: Likewise.
59015         * lib/unistr/u16-stpncpy.c: Likewise.
59016         * lib/unistr/u16-strcat.c: Likewise.
59017         * lib/unistr/u16-strchr.c: Likewise.
59018         * lib/unistr/u16-strcmp.c: Likewise.
59019         * lib/unistr/u16-strcpy.c: Likewise.
59020         * lib/unistr/u16-strcspn.c: Likewise.
59021         * lib/unistr/u16-strdup.c: Likewise.
59022         * lib/unistr/u16-strlen.c: Likewise.
59023         * lib/unistr/u16-strmblen.c: Likewise.
59024         * lib/unistr/u16-strmbtouc.c: Likewise.
59025         * lib/unistr/u16-strncat.c: Likewise.
59026         * lib/unistr/u16-strncmp.c: Likewise.
59027         * lib/unistr/u16-strncpy.c: Likewise.
59028         * lib/unistr/u16-strnlen.c: Likewise.
59029         * lib/unistr/u16-strpbrk.c: Likewise.
59030         * lib/unistr/u16-strrchr.c: Likewise.
59031         * lib/unistr/u16-strspn.c: Likewise.
59032         * lib/unistr/u16-strstr.c: Likewise.
59033         * lib/unistr/u16-strtok.c: Likewise.
59034         * lib/unistr/u16-to-u32.c: Likewise.
59035         * lib/unistr/u16-to-u8.c: Likewise.
59036         * lib/unistr/u16-uctomb-aux.c: Likewise.
59037         * lib/unistr/u16-uctomb.c: Likewise.
59038         * lib/unistr/u32-check.c: Likewise.
59039         * lib/unistr/u32-chr.c: Likewise.
59040         * lib/unistr/u32-cmp.c: Likewise.
59041         * lib/unistr/u32-cpy-alloc.c: Likewise.
59042         * lib/unistr/u32-cpy.c: Likewise.
59043         * lib/unistr/u32-endswith.c: Likewise.
59044         * lib/unistr/u32-mblen.c: Likewise.
59045         * lib/unistr/u32-mbsnlen.c: Likewise.
59046         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59047         * lib/unistr/u32-mbtouc.c: Likewise.
59048         * lib/unistr/u32-mbtoucr.c: Likewise.
59049         * lib/unistr/u32-move.c: Likewise.
59050         * lib/unistr/u32-next.c: Likewise.
59051         * lib/unistr/u32-prev.c: Likewise.
59052         * lib/unistr/u32-set.c: Likewise.
59053         * lib/unistr/u32-startswith.c: Likewise.
59054         * lib/unistr/u32-stpcpy.c: Likewise.
59055         * lib/unistr/u32-stpncpy.c: Likewise.
59056         * lib/unistr/u32-strcat.c: Likewise.
59057         * lib/unistr/u32-strchr.c: Likewise.
59058         * lib/unistr/u32-strcmp.c: Likewise.
59059         * lib/unistr/u32-strcpy.c: Likewise.
59060         * lib/unistr/u32-strcspn.c: Likewise.
59061         * lib/unistr/u32-strdup.c: Likewise.
59062         * lib/unistr/u32-strlen.c: Likewise.
59063         * lib/unistr/u32-strmblen.c: Likewise.
59064         * lib/unistr/u32-strmbtouc.c: Likewise.
59065         * lib/unistr/u32-strncat.c: Likewise.
59066         * lib/unistr/u32-strncmp.c: Likewise.
59067         * lib/unistr/u32-strncpy.c: Likewise.
59068         * lib/unistr/u32-strnlen.c: Likewise.
59069         * lib/unistr/u32-strpbrk.c: Likewise.
59070         * lib/unistr/u32-strrchr.c: Likewise.
59071         * lib/unistr/u32-strspn.c: Likewise.
59072         * lib/unistr/u32-strstr.c: Likewise.
59073         * lib/unistr/u32-strtok.c: Likewise.
59074         * lib/unistr/u32-to-u16.c: Likewise.
59075         * lib/unistr/u32-to-u8.c: Likewise.
59076         * lib/unistr/u32-uctomb.c: Likewise.
59077         * lib/unistr/u8-check.c: Likewise.
59078         * lib/unistr/u8-chr.c: Likewise.
59079         * lib/unistr/u8-cmp.c: Likewise.
59080         * lib/unistr/u8-cpy-alloc.c: Likewise.
59081         * lib/unistr/u8-cpy.c: Likewise.
59082         * lib/unistr/u8-endswith.c: Likewise.
59083         * lib/unistr/u8-mblen.c: Likewise.
59084         * lib/unistr/u8-mbsnlen.c: Likewise.
59085         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59086         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59087         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59088         * lib/unistr/u8-mbtouc.c: Likewise.
59089         * lib/unistr/u8-mbtoucr.c: Likewise.
59090         * lib/unistr/u8-move.c: Likewise.
59091         * lib/unistr/u8-next.c: Likewise.
59092         * lib/unistr/u8-prev.c: Likewise.
59093         * lib/unistr/u8-set.c: Likewise.
59094         * lib/unistr/u8-startswith.c: Likewise.
59095         * lib/unistr/u8-stpcpy.c: Likewise.
59096         * lib/unistr/u8-stpncpy.c: Likewise.
59097         * lib/unistr/u8-strcat.c: Likewise.
59098         * lib/unistr/u8-strchr.c: Likewise.
59099         * lib/unistr/u8-strcmp.c: Likewise.
59100         * lib/unistr/u8-strcpy.c: Likewise.
59101         * lib/unistr/u8-strcspn.c: Likewise.
59102         * lib/unistr/u8-strdup.c: Likewise.
59103         * lib/unistr/u8-strlen.c: Likewise.
59104         * lib/unistr/u8-strmblen.c: Likewise.
59105         * lib/unistr/u8-strmbtouc.c: Likewise.
59106         * lib/unistr/u8-strncat.c: Likewise.
59107         * lib/unistr/u8-strncmp.c: Likewise.
59108         * lib/unistr/u8-strncpy.c: Likewise.
59109         * lib/unistr/u8-strnlen.c: Likewise.
59110         * lib/unistr/u8-strpbrk.c: Likewise.
59111         * lib/unistr/u8-strrchr.c: Likewise.
59112         * lib/unistr/u8-strspn.c: Likewise.
59113         * lib/unistr/u8-strstr.c: Likewise.
59114         * lib/unistr/u8-strtok.c: Likewise.
59115         * lib/unistr/u8-to-u16.c: Likewise.
59116         * lib/unistr/u8-to-u32.c: Likewise.
59117         * lib/unistr/u8-uctomb-aux.c: Likewise.
59118         * lib/unistr/u8-uctomb.c: Likewise.
59119         * lib/unitypes.h: Likewise.
59120         * lib/uniwidth.h: Likewise.
59121         * lib/uniwidth/cjk.h: Likewise.
59122         * lib/uniwidth/u16-strwidth.c: Likewise.
59123         * lib/uniwidth/u16-width.c: Likewise.
59124         * lib/uniwidth/u32-strwidth.c: Likewise.
59125         * lib/uniwidth/u32-width.c: Likewise.
59126         * lib/uniwidth/u8-strwidth.c: Likewise.
59127         * lib/uniwidth/u8-width.c: Likewise.
59128         * lib/uniwidth/width.c: Likewise.
59129
59130 2007-10-07  Bruno Haible  <bruno@clisp.org>
59131
59132         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59133         The file is still under LGPL (see modules/inttypes).
59134
59135 2007-10-06  Bruno Haible  <bruno@clisp.org>
59136
59137         * modules/trunc (Dependencies): Add 'extensions'.
59138         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59139         Reported by Ben Pfaff <blp@gnu.org>.
59140
59141 2007-10-06  Bruno Haible  <bruno@clisp.org>
59142
59143         * modules/freopen-tests: New file.
59144         * tests/test-freopen.c: New file.
59145
59146         * modules/fopen-tests: New file.
59147         * tests/test-fopen.c: New file.
59148
59149         * modules/fopen: New file.
59150         * lib/fopen.c: New file.
59151         * m4/fopen.m4: New file.
59152         * modules/freopen: New file.
59153         * lib/freopen.c: New file.
59154         * m4/freopen.m4: New file.
59155         * lib/stdio.in.h (fopen, freopen): New declarations.
59156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59157         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59158         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59159         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59160         * doc/functions/fopen.texi: Mention the 'fopen' module.
59161         * doc/functions/freopen.texi: Mention the 'freopen' module.
59162
59163 2007-10-06  Bruno Haible  <bruno@clisp.org>
59164
59165         * modules/open-tests: New file.
59166         * tests/test-open.c: New file.
59167
59168         * modules/open: New file.
59169         * lib/open.c: New file.
59170         * m4/open.m4: New file.
59171         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59172         lib/open.c does.
59173         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59174         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59175         macros.
59176         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59177         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59178         REPLACE_OPEN.
59179         * doc/functions/open.texi: Mention the 'open' module.
59180
59181 2007-10-04  Bruno Haible  <bruno@clisp.org>
59182
59183         * modules/ceill-tests: New file.
59184         * tests/test-ceill.c: New file.
59185
59186         * modules/ceill: New file.
59187         * lib/ceill.c: Replace entire file.
59188         * m4/ceill.m4: New file.
59189         * lib/math.in.h (ceill): Replace declaration.
59190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
59191         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
59192         * doc/functions/ceill.texi: Mention the 'ceill' module.
59193         * modules/mathl (Files): Remove lib/ceill.c.
59194         (Depends-on): Add ceill.
59195
59196 2007-10-04  Bruno Haible  <bruno@clisp.org>
59197
59198         * modules/ceilf-tests: New file.
59199         * tests/test-ceilf.c: New file.
59200
59201         * modules/ceilf: New file.
59202         * lib/ceil.c: New file.
59203         * lib/ceilf.c: New file.
59204         * m4/ceilf.m4: New file.
59205         * lib/math.in.h (ceilf): New declaration.
59206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
59207         HAVE_DECL_CEILF.
59208         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
59209         HAVE_DECL_CEILF.
59210         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
59211
59212 2007-10-04  Bruno Haible  <bruno@clisp.org>
59213
59214         * modules/floorl-tests: New file.
59215         * tests/test-floorl.c: New file.
59216
59217         * modules/floorl: New file.
59218         * lib/floorl.c: Replace entire file.
59219         * m4/floorl.m4: New file.
59220         * lib/math.in.h (floorl): Replace declaration.
59221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
59222         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
59223         * doc/functions/floorl.texi: Mention the 'floorl' module.
59224         * modules/mathl (Files): Remove lib/floorl.c.
59225         (Depends-on): Add floorl.
59226
59227 2007-10-04  Bruno Haible  <bruno@clisp.org>
59228
59229         * modules/floorf-tests: New file.
59230         * tests/test-floorf.c: New file.
59231
59232         * modules/floorf: New file.
59233         * lib/floor.c: New file.
59234         * lib/floorf.c: New file.
59235         * m4/floorf.m4: New file.
59236         * lib/math.in.h (floorf): New declaration.
59237         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
59238         HAVE_DECL_FLOORF.
59239         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
59240         HAVE_DECL_FLOORF.
59241         * doc/functions/floorf.texi: Mention the 'floorf' module.
59242
59243 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
59244             Bruno Haible  <bruno@clisp.org>
59245
59246         Advertise for the Git server instead of the CVS server.
59247         * doc/gnulib-intro.texi (Steady Development): Mention the Git
59248         repository instead of the CVS one.
59249         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
59250         about all VCS systems generically.
59251         * doc/gnulib.texi (Introduction): Capitalize `Git'.
59252
59253 2007-10-04  Bruno Haible  <bruno@clisp.org>
59254
59255         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
59256         means.
59257         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
59258
59259 2007-10-04  Bruno Haible  <bruno@clisp.org>
59260
59261         * modules/truncl-tests: New file.
59262         * tests/test-truncl.c: New file.
59263
59264         * modules/truncl: New file.
59265         * lib/truncl.c: New file.
59266         * m4/truncl.m4: New file.
59267         * lib/math.in.h (truncl): New declaration.
59268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
59269         HAVE_DECL_TRUNCL.
59270         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
59271         HAVE_DECL_TRUNCL.
59272         * doc/functions/truncl.texi: Mention the 'truncl' module.
59273
59274 2007-10-04  Bruno Haible  <bruno@clisp.org>
59275
59276         * modules/truncf-tests: New file.
59277         * tests/test-truncf.c: New file.
59278
59279         * modules/truncf: New file.
59280         * lib/trunc.c: Make paramerizable through USE_* macros.
59281         * lib/truncf.c: New file.
59282         * m4/truncf.m4: New file.
59283         * lib/math.in.h (truncf): New declaration.
59284         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
59285         HAVE_DECL_TRUNCF.
59286         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
59287         HAVE_DECL_TRUNCF.
59288         * doc/functions/truncf.texi: Mention the 'truncf' module.
59289
59290 2007-10-03  Bruno Haible  <bruno@clisp.org>
59291
59292         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59293         augmentation also for tests modules.
59294         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
59295         * modules/atexit-tests (Makefile.am): Likewise.
59296         * modules/binary-io-tests (Makefile.am): Likewise.
59297         * modules/c-strcase-tests (Makefile.am): Likewise.
59298         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
59299         * modules/canonicalize-tests (Makefile.am): Likewise.
59300         * modules/closein-tests (Makefile.am): Likewise.
59301         * modules/fprintf-posix-tests (Makefile.am): Likewise.
59302         * modules/freadahead-tests (Makefile.am): Likewise.
59303         * modules/fseek-tests (Makefile.am): Likewise.
59304         * modules/fseeko-tests (Makefile.am): Likewise.
59305         * modules/ftell-tests (Makefile.am): Likewise.
59306         * modules/ftello-tests (Makefile.am): Likewise.
59307         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59308         * modules/isnanl-tests (Makefile.am): Likewise.
59309         * modules/lseek-tests (Makefile.am): Likewise.
59310         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59311         * modules/mbscasestr-tests (Makefile.am): Likewise.
59312         * modules/mbschr-tests (Makefile.am): Likewise.
59313         * modules/mbscspn-tests (Makefile.am): Likewise.
59314         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59315         * modules/mbspbrk-tests (Makefile.am): Likewise.
59316         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59317         * modules/mbsrchr-tests (Makefile.am): Likewise.
59318         * modules/mbsspn-tests (Makefile.am): Likewise.
59319         * modules/mbsstr-tests (Makefile.am): Likewise.
59320         * modules/printf-posix-tests (Makefile.am): Likewise.
59321         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59322         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59323         * modules/tsearch-tests (Makefile.am): Likewise.
59324         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59325         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59326         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59327         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59328         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59329         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59330         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59331         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59332         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59333         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59334         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59335         * modules/xstrtol-tests (Makefile.am): Likewise.
59336         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59337         * modules/yesno-tests (Makefile.am): Likewise.
59338
59339 2007-10-03  Bruno Haible  <bruno@clisp.org>
59340
59341         * modules/trunc-tests: New file.
59342         * tests/test-trunc.c: New file.
59343
59344         * modules/trunc: New file.
59345         * lib/trunc.c: New file.
59346         * m4/trunc.m4: New file.
59347         * lib/math.in.h (trunc): New declaration.
59348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59349         HAVE_DECL_TRUNC.
59350         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59351         HAVE_DECL_TRUNC.
59352         * doc/functions/trunc.texi: Mention the 'trunc' module.
59353
59354 2007-10-03  Bruno Haible  <bruno@clisp.org>
59355
59356         * tests/test-fpending.c: New file, mostly copied
59357         from coreutils/lib/t-fpending.c.
59358         * modules/fpending-tests: New file.
59359
59360 2007-10-03  Bruno Haible  <bruno@clisp.org>
59361
59362         Port the stdio extensions to QNX (untested).
59363         * lib/fseterr.c (fseterr): Add support for QNX.
59364         * lib/fbufmode.c (fbufmode): Likewise.
59365         * lib/freadable.c (freadable): Likewise.
59366         * lib/fwritable.c (fwritable): Likewise.
59367         * lib/freading.c (freading): Likewise.
59368         * lib/fwriting.c (fwriting): Likewise.
59369         * lib/freadahead.c (freadahed): Likewise.
59370         * lib/fpurge.c (fpurge): Likewise.
59371         * lib/fseeko.c (rpl_fseeko): Likewise.
59372
59373 2007-10-03  Bruno Haible  <bruno@clisp.org>
59374             Jim Meyering  <jim@meyering.net>
59375             Eric Blake  <ebb9@byu.net>
59376
59377         * doc/relocatable.texi: Use @command instead of @program.
59378
59379 2007-10-02  Jim Meyering  <jim@meyering.net>
59380
59381         Perform one more "_.h" -> ".in.h" substitution.
59382         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59383         instead of unistd_.h here, too.
59384
59385 2007-10-01  Bruno Haible  <bruno@clisp.org>
59386
59387         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59388         Needed for the alloca-opt module.
59389
59390 2007-09-30  Bruno Haible  <bruno@clisp.org>
59391
59392         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59393         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59394         alloca_.h.
59395         * lib/argz.in.h: Renamed from lib/argz_.h.
59396         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59397         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59398         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59399         byteswap_.h.
59400         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59401         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59402         dirent_.h.
59403         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59404         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59405         fcntl_.h.
59406         * lib/float.in.h: Renamed from lib/float_.h.
59407         * modules/float (Files, Makefile.am): Use float.in.h instead of
59408         float_.h.
59409         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59410         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59411         fnmatch_.h.
59412         * lib/getopt.in.h: Renamed from lib/getopt_.h.
59413         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
59414         getopt_.h.
59415         * lib/glob.in.h: Renamed from lib/glob_.h.
59416         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
59417         * lib/iconv.in.h: Renamed from lib/iconv_.h.
59418         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
59419         iconv_.h.
59420         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
59421         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
59422         inttypes_.h.
59423         * lib/locale.in.h: Renamed from lib/locale_.h.
59424         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
59425         locale_.h.
59426         * lib/math.in.h: Renamed from lib/math_.h.
59427         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
59428         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
59429         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
59430         of netinet_in_.h. Add dependency.
59431         * lib/poll.in.h: Renamed from lib/poll_.h.
59432         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
59433         * lib/search.in.h: Renamed from lib/search_.h.
59434         * modules/search (Files, Makefile.am): Use search.in.h instead of
59435         search_.h.
59436         * lib/signal.in.h: Renamed from lib/signal_.h.
59437         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
59438         _signal.h.
59439         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
59440         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
59441         stdbool_.h.
59442         * lib/stdint.in.h: Renamed from lib/stdint_.h.
59443         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
59444         stdint_.h.
59445         * lib/stdio.in.h: Renamed from lib/stdio_.h.
59446         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
59447         stdio_.h.
59448         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
59449         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
59450         stdlib_.h.
59451         * lib/string.in.h: Renamed from lib/string_.h.
59452         * modules/string (Files, Makefile.am): Use string.in.h instead of
59453         string_.h.
59454         * doc/gnulib-tool.texi (Initial import): Update.
59455         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
59456         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
59457         of sys_select_.h. Add dependency.
59458         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
59459         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
59460         of sys_socket_.h.
59461         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
59462         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
59463         sys_stat_.h.
59464         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
59465         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
59466         sys_time_.h.
59467         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
59468         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
59469         sysexits_.h.
59470         * lib/time.in.h: Renamed from lib/time_.h.
59471         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
59472         * lib/unistd.in.h: Renamed from lib/unistd_.h.
59473         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
59474         unistd_.h.
59475         * lib/wchar.in.h: Renamed from lib/wchar_.h.
59476         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
59477         wchar_.h.
59478         * lib/wctype.in.h: Renamed from lib/wctype_.h.
59479         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
59480         wctype_.h.
59481         * build-aux/bootstrap (slurp): Update.
59482         * lib/.cppi-disable: Update.
59483
59484 2007-09-30  Bruno Haible  <bruno@clisp.org>
59485
59486         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59487         Needed on BeOS.
59488
59489 2007-09-30  Bruno Haible  <bruno@clisp.org>
59490
59491         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59492
59493 2007-09-29  Bruno Haible  <bruno@clisp.org>
59494
59495         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59496
59497 2007-09-29  Bruno Haible  <bruno@clisp.org>
59498
59499         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59500         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59501         * build-aux/install-reloc: Compile also areadlink.c.
59502         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59503
59504 2007-09-29  Bruno Haible  <bruno@clisp.org>
59505
59506         * gnulib-tool (func_emit_initmacro_done): Indentation.
59507
59508 2007-09-29  Bruno Haible  <bruno@clisp.org>
59509
59510         * README: Add CVS checkout update instructions.
59511         Info from Bob Proulx <bob@proulx.com>.
59512
59513 2007-09-28  Eric Blake  <ebb9@byu.net>
59514
59515         Provide move-if-change.
59516         * build-aux/move-if-change: New file, based on best practice
59517         rather than any canonical upstream location.
59518
59519 2007-09-28  Jim Meyering  <jim@meyering.net>
59520
59521         Fix canonicalize loop-detection corner case.
59522         Do not attempt to stat the symlink values stored via seen_triple.
59523         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59524         on linux-2.6.18, (but not 2.6.22).
59525         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59526         triple_compare.  The former compares dev,ino,filename, while the latter
59527         would actually stat dirname(filename) when dev and ino were equal.
59528         * lib/hash-triple.c: Install <string.h>.
59529         (STREQ): Define.
59530         (triple_compare_ino_str): New function.
59531         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59532
59533 2007-09-28  Eric Blake  <ebb9@byu.net>
59534
59535         Enforce that AC_REPLACE_FUNCS files exist.
59536         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59537         override check for typos.
59538
59539         Fix test-closein on Solaris 10.
59540         * tests/test-closein.c (main): Don't assume stdin can be inherited
59541         closed on all systems.
59542         * tests/test-closein.sh: Likewise.
59543         Reported by Piotr Tarnowski.
59544
59545 2007-09-28  Jim Meyering  <jim@meyering.net>
59546
59547         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59548
59549 2007-09-27  Jim Meyering  <jim@meyering.net>
59550
59551         canonicalize: Avoid a false-positive cycle failure.
59552         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59553         Sort.  Remove cycle-check.
59554         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59555         not cycle-check.h.
59556         (seen_triple): New function.
59557         (canonicalize_filename_mode): Use it instead of cycle-check.
59558         * tests/test-canonicalize.c: Add a test for this bug.
59559         * tests/test-canonicalize.sh: Set up and run the test.
59560
59561         New module, file-set, from coreutils.
59562         * modules/file-set: Define it.
59563         * lib/file-set.c, lib/file-set.h: Implement.
59564
59565         New module, hash-triple, from coreutils.
59566         * modules/hash-triple: Define it.
59567         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59568
59569 2007-09-25  Eric Blake  <ebb9@byu.net>
59570
59571         Fix strerror on Interix.
59572         * lib/string_.h (strerror): Declare replacement.
59573         * doc/functions/strerror.texi (strerror): Document the Interix
59574         shortcoming.
59575         * modules/string (Makefile.am): Support new hooks.
59576         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59577         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59578         gl_FUNC_STRERROR_SEPARATE.
59579         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59580         * lib/strerror.c (rpl_strerror): Provide replacement.
59581         * modules/strerror (Depends-on): Add string.
59582         (configure.ac): Detect use of module.
59583         * tests/test-strerror.c: New file.
59584         * modules/strerror-tests: New test module.
59585         * modules/argp (Depends-on): Add strerror.
59586         * modules/error (Depends-on): Likewise.
59587         Reported by Martin Koeppe.
59588
59589 2007-09-24  Bruno Haible  <bruno@clisp.org>
59590
59591         * README: Update git instructions.
59592
59593 2007-09-24  Eric Blake  <ebb9@byu.net>
59594
59595         Revert fpending breakage from 2007-09-08.
59596         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59597         __fpending.c.
59598
59599 2007-09-24  Jim Meyering  <jim@meyering.net>
59600
59601         filenamecat.c: Add a test.
59602         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59603         showing how the function works when DIR is the empty string.
59604
59605 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59606
59607         * tests/test-canonicalize.sh: Turn on executable bit.
59608
59609 2007-09-19  Eric Blake  <ebb9@byu.net>
59610
59611         * README: Update CVS instructions.
59612
59613 2007-09-18  Bruno Haible  <bruno@clisp.org>
59614
59615         * modules/areadlink: New file.
59616         * lib/areadlink.h (areadlink): New declaration.
59617         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59618
59619 2007-09-17  Jim Meyering  <jim@meyering.net>
59620
59621         * lib/savewd.c (ESTALE) [!defined]: Define.
59622         Reported to be required on Interix by Martin Koeppe.
59623
59624 2007-09-17  Bruno Haible  <bruno@clisp.org>
59625
59626         * gnulib-tool (func_version): Use $version.
59627
59628 2007-09-16  Bruno Haible  <bruno@clisp.org>
59629
59630         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59631         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59632         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59633         Reported by Greg Schafer <gschafer@zip.com.au>.
59634
59635 2007-09-15  Bruno Haible  <bruno@clisp.org>
59636
59637         * gnulib-tool (sed): Try a little harder to make bash understand the
59638         alias.
59639         Reported by Bruce Korb <bruce.korb@gmail.com>.
59640
59641 2007-09-13  Eric Blake  <ebb9@byu.net>
59642
59643         * ChangeLog: Remove conflict markers.
59644
59645 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59646
59647         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59648         Reported by Bruno Haible <bruno@clisp.org>.
59649
59650 2007-09-12  Bruno Haible  <bruno@clisp.org>
59651
59652         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59653         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59654         is not defined.
59655
59656 2007-09-12  Eric Blake  <ebb9@byu.net>
59657
59658         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59660         Autoconf definition.
59661         * modules/euidaccess (Depends-on): Add extensions, for
59662         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59663         * modules/fnmatch (Depends-on): Likewise.
59664         * modules/getaddrinfo (Depends-on): Likewise.
59665         * modules/getdelim (Depends-on): Likewise.
59666         * modules/getline (Depends-on): Likewise.
59667         * modules/getsubopt (Depends-on): Likewise.
59668         * modules/gettext (Depends-on): Likewise.
59669         * modules/group-member (Depends-on): Likewise.
59670         * modules/mbchar (Depends-on): Likewise.
59671         * modules/memmem (Depends-on): Likewise.
59672         * modules/mempcpy (Depends-on): Likewise.
59673         * modules/memrchr (Depends-on): Likewise.
59674         * modules/pagealign_alloc (Depends-on): Likewise.
59675         * modules/readutmp (Depends-on): Likewise.
59676         * modules/stpcpy (Depends-on): Likewise.
59677         * modules/stpncpy (Depends-on): Likewise.
59678         * modules/strchrnul (Depends-on): Likewise.
59679         * modules/strndup (Depends-on): Likewise.
59680         * modules/strsep (Depends-on): Likewise.
59681         * modules/strverscmp (Depends-on): Likewise.
59682         * modules/vasprintf (Depends-on): Likewise.
59683         * modules/wcwidth (Depends-on): Likewise.
59684         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59685         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59686         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59687         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59688         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59689         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59690         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59691         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59692         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59693         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59694         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59695         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59696         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59697         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59698         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59699         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59700         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59701         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59702         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59703         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59704         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59705         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59706         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59707         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59708         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59709         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59710         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59711         so that lock.m4 can be used in gettext without extensions module.
59712
59713 2007-09-11  Bruno Haible  <bruno@clisp.org>
59714
59715         * m4/isc-posix.m4: Remove file.
59716         Suggested by Eric Blake.
59717
59718 2007-09-11  Eric Blake  <ebb9@byu.net>
59719
59720         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59721
59722 2007-09-10  Bruno Haible  <bruno@clisp.org>
59723
59724         * posix-modules: Fix typo in error message.
59725         Reported by Matt <mkraai@beckman.com>.
59726
59727 2007-09-09  Bruno Haible  <bruno@clisp.org>
59728
59729         * doc/functions/getdelim.texi: Update list of platforms lacking the
59730         function.
59731         * doc/functions/getline.texi: Likewise.
59732
59733 2007-09-09  Jim Meyering  <jim@meyering.net>
59734
59735         * lib/hash.c (hash_initialize): Detect calloc failure.
59736         Reported by Bruno Haible.
59737
59738 2007-09-09  Bruno Haible  <bruno@clisp.org>
59739
59740         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59741         malloc or realloc fails.
59742
59743 2007-09-09  Bruno Haible  <bruno@clisp.org>
59744
59745         * modules/getcwd (Depends-on): Add malloc-posix.
59746         * modules/glob (Depends-on): Likewise.
59747         * modules/putenv (Depends-on): Likewise.
59748         * modules/strdup (Depends-on): Likewise.
59749         * modules/getdelim (Depends-on): Add realloc-posix.
59750         * modules/read-file (Depends-on): Likewise.
59751
59752 2007-09-09  Bruno Haible  <bruno@clisp.org>
59753
59754         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59755         (gl_FUNC_MALLOC_POSIX): Require it.
59756         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59757         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59758         * modules/realloc (Files): Add m4/malloc.m4.
59759         * modules/calloc (Files): Likewise.
59760
59761 2007-09-09  Bruno Haible  <bruno@clisp.org>
59762
59763         * modules/malloc-posix: New file.
59764         * modules/malloc (Depends-on): Add malloc-posix.
59765         * lib/malloc.c: Include errno.h.
59766         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59767         and a POSIX-compatible malloc into a single function. Set ENOMEM
59768         when returning NULL.
59769         * m4/malloc.m4: New file.
59770         * doc/functions/malloc.texi: Mention the malloc-posix module.
59771         * lib/stdlib_.h (malloc): New declaration.
59772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59773         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59774         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59775         and HAVE_MALLOC_POSIX.
59776
59777 2007-09-09  Bruno Haible  <bruno@clisp.org>
59778
59779         * modules/realloc-posix: New file.
59780         * modules/realloc (Depends-on): Add realloc-posix.
59781         * lib/realloc.c: Include errno.h.
59782         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59783         and a POSIX-compatible realloc into a single function. Set ENOMEM
59784         when returning NULL.
59785         * m4/realloc.m4: New file.
59786         * doc/functions/realloc.texi: Mention the realloc-posix module.
59787         * lib/stdlib_.h (realloc): New declaration.
59788         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59789         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59790         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59791         and HAVE_REALLOC_POSIX.
59792
59793 2007-09-09  Bruno Haible  <bruno@clisp.org>
59794
59795         * modules/calloc-posix: New file.
59796         * modules/calloc (Depends-on): Add calloc-posix.
59797         * lib/calloc.c: Include errno.h.
59798         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59799         and a POSIX-compatible calloc into a single function. Set ENOMEM
59800         when returning NULL.
59801         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59802         * doc/functions/calloc.texi: Mention the calloc-posix module.
59803         * lib/stdlib_.h (calloc): New declaration.
59804         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59805         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59806         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59807         and HAVE_CALLOC_POSIX.
59808
59809 2007-09-09  Bruno Haible  <bruno@clisp.org>
59810
59811         Allow for modules to show an arbitrary notice.
59812         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59813         * gnulib-tool: New option --extract-notice.
59814         (func_usage): Document it.
59815         (sed_extract_prog): Update.
59816         (func_get_notice): New function.
59817         (func_modules_notice): New function.
59818         (func_import, func_create_testdir): Invoke it.
59819         Suggested by Jim Meyering.
59820
59821 2007-09-09  Bruno Haible  <bruno@clisp.org>
59822
59823         * gnulib-tool: New options --verbose, --quiet.
59824         (func_usage): Document them.
59825         (verbose): New variable.
59826         (func_execute_command): New function.
59827         (func_import): Don't show the module list and the file list if
59828         $verbose < 0.
59829         (func_create_testdir): Likewise. Use func_execute_command.
59830         (func_create_megatestdir): Use func_execute_command.
59831
59832 2007-09-08  Bruno Haible  <bruno@clisp.org>
59833
59834         * gnulib-tool (func_import): Prefer rsync over wget when available,
59835         for fetching the PO files.
59836
59837 2007-09-08  Bruno Haible  <bruno@clisp.org>
59838
59839         * posix-modules: New file. Portions copied from gnulib-tool.
59840         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59841
59842 2007-09-08  Jim Meyering  <jim@meyering.net>
59843
59844         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59845         * lib/fpending.h: Rename from __fpending.h.
59846         * lib/fpending.c: Rename from __fpending.c.
59847         Include "fpending.h", not "__fpending.h".
59848         * lib/__fpending.h, lib/__fpending.c: Remove files.
59849         * modules/fpending (Files): Reflect new file names.
59850         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59851
59852 2007-09-08  Bruno Haible  <bruno@clisp.org>
59853
59854         * m4/inttypes-h.m4: Remove stub file.
59855
59856 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59857
59858         * doc/headers/stdint.texi: Discuss #include_next issue.
59859
59860 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59861
59862         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59863
59864 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59865
59866         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59867         in variable name.
59868
59869 2007-09-03  Jim Meyering  <jim@meyering.net>
59870
59871         New module: git-version-gen.
59872         * modules/git-version-gen: New file.
59873
59874         Import changes from coreutils for bootstrap script.
59875
59876         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59877
59878         bootstrap: uses rsync to download the .po files
59879         * build-aux/bootstrap (po_download_command_format): New global.
59880         (download_po_files): Use rsync.
59881         (update_po_files): Don't remove .po files after download,
59882         so future rsync runs can take advantage of the copies.
59883
59884         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59885
59886         Solve the unnecessary-.po-file-regeneration problem once and for all.
59887         * build-aux/bootstrap (download_po_files): New function, renamed from
59888         get_translations.  Now, downloads, but doesn't update LINGUAS.
59889         (update_po_files): New function.
59890
59891         bootstrap: Ignore more.
59892         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59893         uniwidth to e.g., lib/.gitignore.
59894         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59895
59896         * build-aux/bootstrap: New setting: vc_ignore.
59897         (insert_sorted_if_absent): Create $file if absent.
59898         Adapt to new, possibly empty, list: $vc_ignore.
59899
59900         bootstrap: generate more ignorable names
59901         * build-aux/bootstrap (slurp): When generating ignorable names,
59902         also map .sin to .sed, .gperf to .c, and .y to .c.
59903
59904 2007-09-03  Jim Meyering  <jim@meyering.net>
59905
59906         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59907         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59908
59909 2007-09-02  Bruno Haible  <bruno@clisp.org>
59910
59911         Fix mis-recognition of 'mcs' on QNX 6.
59912         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59913         output contains the string "Mono".
59914         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59915         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59916
59917 2007-09-01  Bruno Haible  <bruno@clisp.org>
59918
59919         Fix collision between uniwidth/* and linebreak modules.
59920         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59921         u32_width): Remove declarations.
59922         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59923         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59924         streq3, streq2, streq1, streq0): Remove functions.
59925         (STREQ): Remove macro.
59926         (is_cjk_encoding): Remove function.
59927         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59928         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59929         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59930         * NEWS: Document the change.
59931
59932 2007-09-01  Bruno Haible  <bruno@clisp.org>
59933
59934         * lib/streq.h: Add double-inclusion guard.
59935
59936 2007-09-01  Karl Berry  <karl@gnu.org>
59937
59938         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59939
59940 2007-08-28  Jim Meyering  <jim@meyering.net>
59941
59942         Rename mreadlink_with_size to areadlink_with_size.
59943         * NEWS: Document the change.
59944         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59945         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59946         * lib/mreadlink.h: Rename this to...
59947         * lib/areadlink.h: ...this.
59948         * modules/mreadlink-with-size: Rename this to...
59949         * modules/areadlink-with-size: ...this.
59950         * lib/canonicalize.c: Reflect the renaming.
59951         * modules/canonicalize: Likewise.
59952
59953 2007-08-26  Bruno Haible  <bruno@clisp.org>
59954
59955         * gnulib-tool (func_import): When deciding which files to remove,
59956         consider also dangling symbolic links.
59957         Reported by Eric Blake.
59958
59959 2007-08-26  Bruno Haible  <bruno@clisp.org>
59960
59961         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59962
59963 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59964
59965         * lib/readline.c: Don't include getline.h, the prototype is now
59966         found in stdio.h.
59967
59968 2007-08-23  Jim Meyering  <jim@meyering.net>
59969
59970         Getdelim touchup.
59971         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59972         around the funlockfile call, since funlockfile never sets errno.
59973         Don't set errno upon failed realloc.
59974
59975 2007-08-22  Eric Blake  <ebb9@byu.net>
59976
59977         Getline touchups.
59978         * lib/getdelim.c (getdelim): Revert regression that required *n to
59979         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59980         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59981         getdelim, rather than whether implementation is missing.
59982         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59983         * lib/stdio_.h (getline): Also declare if replacement is
59984         required.
59985         * doc/functions/getdelim.texi: New file.
59986         * doc/functions/getline.texi: Likewise.
59987         * doc/gnulib.texi (Function Substitutes): Add new files.
59988         Reported by Bruno Haible.
59989
59990 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59991
59992         * users.txt: Add Guile.
59993
59994 2007-08-22  Eric Blake  <ebb9@byu.net>
59995
59996         * tests/test-getdelim.c (main): Use remove, not unlink.
59997         * tests/test-getline.c (main): Likewise.
59998
59999         Move getline and getdelim into stdio.h, per POSIX 200x.
60000         * modules/getline (Files): Remove getline.h.
60001         (Depends-on): Add stdio.
60002         (configure.ac): Add module indicator.
60003         * modules/getdelim (Files): Remove getdelim.h.
60004         (Depends-on): Add stdio.
60005         (configure.ac): Add module indicator.
60006         * modules/stdio (Makefile.am): Work with new indicators.
60007         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60008         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60009         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60010         * lib/getdelim.h: Delete.
60011         * lib/getline.h: Delete.
60012         * lib/stdio_.h (getdelim, getline): Declare.
60013         * modules/getdelim-tests: New module.
60014         * modules/getline-tests: Likewise.
60015         * tests/test-getdelim.c: New file.
60016         * tests/test-getline.c: Likewise.
60017         * NEWS: Document the change.
60018         * lib/getline.c: Update choice of header.
60019         * lib/csharpcomp.c: Likewise.
60020         * lib/getpass.c: Likewise.
60021         * lib/javacomp.c: Likewise.
60022         * lib/javaversion.c: Likewise.
60023         * lib/yesno.c: Likewise.
60024         * lib/getdelim.c: Likewise.
60025         (getdelim): Set errno on failure, and avoid memory leak.
60026
60027 2007-08-19  Bruno Haible  <bruno@clisp.org>
60028
60029         * modules/closein (Depends-on): Add freadahead.
60030         * lib/closein.c: Include freadahead.h.
60031         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60032         is zero.
60033
60034 2007-08-19  Bruno Haible  <bruno@clisp.org>
60035
60036         * modules/freadahead-tests: New file.
60037         * tests/test-freadahead.sh: New file.
60038         * tests/test-freadahead.c: New file.
60039
60040         * modules/freadahead: New file.
60041         * lib/freadahead.h: New file.
60042         * lib/freadahead.c: New file.
60043         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60044         fbufmode, fpurge, freadable, fwritable.
60045
60046 2007-08-19  Eric Blake  <ebb9@byu.net>
60047
60048         Test yesno in combination with closein.
60049         * lib/yesno.c (yesno): Document use of stdin.
60050         * modules/yesno-tests (Files): New module.
60051         * tests/test-yesno.c (main): New file.
60052         * tests/test-yesno.sh: Likewise.
60053
60054 2007-08-19  Bruno Haible  <bruno@clisp.org>
60055
60056         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60057         * lib/fseeko.c (rpl_fseeko): Likewise.
60058         * lib/fseterr.c (fseterr): Likewise.
60059
60060 2007-08-19  Bruno Haible  <bruno@clisp.org>
60061
60062         * tests/test-lseek.c (main): Disable a test for BeOS.
60063         * doc/functions/lseek.texi: Document the BeOS bug.
60064
60065 2007-08-19  Bruno Haible  <bruno@clisp.org>
60066             Eric Blake  <ebb9@byu.net>
60067
60068         * lib/lseek.c: Include <sys/stat.h>.
60069         (rpl_lseek): Add workaround code also for Unix platforms.
60070         Needed for BeOS.
60071         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60072         * doc/functions/lseek.texi: Document BeOS definiency.
60073
60074 2007-08-18  Bruno Haible  <bruno@clisp.org>
60075
60076         * modules/fstrcmp-tests: New file.
60077         * tests/test-fstrcmp.c: New file.
60078
60079 2007-08-18  Bruno Haible  <bruno@clisp.org>
60080
60081         * modules/fstrcmp: New file, from GNU gettext with modifications.
60082         * lib/fstrcmp.h: New file, from GNU gettext.
60083         * lib/fstrcmp.c: New file, from GNU gettext.
60084         * MODULES.html.sh (String handling): Add fstrcmp.
60085
60086 2007-08-18  Bruno Haible  <bruno@clisp.org>
60087
60088         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60089         'bool'.
60090         (diag, compareseq): Remove const from the ctxt argument.
60091         (USE_HEURISTIC): Undefine at the end.
60092
60093 2007-08-18  Jim Meyering  <jim@meyering.net>
60094
60095         New file: lib/idcache.h
60096         * NEWS: Mention the addition.
60097         * modules/idcache (Files): Add lib/idcache.h
60098         * lib/idcache.c: Include "idcache.h".
60099         Don't include <sys/types.h>.
60100         Add a FIXME comment.
60101         Move file-scoped "static" declarations to the top.
60102         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60103
60104 2007-08-17  Bruno Haible  <bruno@clisp.org>
60105         and Paul Eggert  <eggert@cs.ucla.edu>
60106
60107         * MODULES.html.sh: Add diffseq.
60108         * modules/diffseq: New file.
60109         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60110         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60111
60112 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60113
60114         Import changes from coreutils for bootstrap script.
60115
60116         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60117
60118         * build-aux/bootstrap (slurp): Work even in environments where
60119         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60120         current code does not slurp files whose names start with ".", and
60121         this looks like it might be a troublesome area.
60122
60123         2007-07-11  Jim Meyering  <jim@meyering.net>
60124
60125         If there's a GPL vN copyright comment, require that N == 3.
60126
60127         2007-07-08  Jim Meyering  <jim@meyering.net>
60128
60129         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60130         * build-aux/bootstrap (mam_template): Move definition out of loop.
60131
60132         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60133
60134         * build-aux/bootstrap (symlink_to_dir): Rename function from
60135         symlink_to_gnulib.  Add a directory parameter.  Update all
60136         callers.
60137         (cp_mark_as_generated): Also check for -- and link to -- files in
60138         gl/.
60139
60140         2007-07-08  Jim Meyering  <jim@meyering.net>
60141
60142         Adapt to deeper hierarchy in gnulib.
60143         * build-aux/bootstrap (symlink_to_dir): If the destination
60144         directory doesn't exist, create it. This is required at least for
60145         "lib/uniwidth/cjk.h".
60146
60147         2007-05-15  Jim Meyering  <jim@meyering.net>
60148
60149         * build-aux/bootstrap: Now that generated Makefile.am files
60150         are no longer under version control, they must be created at
60151         bootstrap time.
60152
60153 2007-08-14  Ben Pfaff  <blp@gnu.org>
60154
60155         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60156
60157 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60158
60159         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60160         given the changes below.
60161         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60162         even on hosts that have padding bits beyond the supported 64.
60163
60164 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60165
60166         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60167         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60168         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60169         depends on it.
60170         (xstrtol_error): Remove.
60171         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60172         but with a different signature.
60173         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60174         * lib/xstrtol-error.c: Include exitfail.h.
60175         (xstrtol_fatal): New function, with a different signature from the
60176         old xstrtol_error, so that the caller need not worry about passing
60177         in an exit status, or about storage management of the option argument.
60178         (xstrtol_error): Now a static function.  Redo signature to
60179         implement xstrtol_fatal.  Output the correct number of hyphens in
60180         front of the option so that the caller need not worry about
60181         storage management.
60182         (N_): New macro.
60183         (_): Remove; not used now.
60184         * modules/xstrtol: Depend on getopt.
60185         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60186         of old STRTOL_FATAL_ERROR macro.
60187         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60188         of test program.
60189         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
60190         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
60191
60192 2007-08-08  Eric Blake  <ebb9@byu.net>
60193
60194         * lib/xstrtol-error.c: Add missing include.
60195
60196         Move xstrtol messages into gnulib domain, when --pobase is used.
60197         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
60198         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
60199         * modules/xstrtol (Files): Distribute new file.
60200         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
60201         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
60202         * tests/test-xstrtol.c: ...into new file.
60203         * tests/test-xstrtoul.c: Also test xstrtoul.
60204         * tests/test-xstrtoimax.c: Also test xstrtoimax.
60205         * tests/test-xstrtoumax.c: Also test xstrtoumax.
60206         * tests/test-xstrtol.sh: Drive the tests.
60207         * tests/test-xstrtoimax.sh: Likewise.
60208         * tests/test-xstrtoumax.sh: Likewise.
60209         * modules/xstrtol-tests: New module.
60210         * modules/xstrtoimax-tests: Likewise.
60211         * modules/xstrtoumax-tests: Likewise.
60212
60213 2007-08-08  Jim Meyering  <jim@meyering.net>
60214
60215         New function: mfile_name_concat.
60216         * lib/filenamecat.c (mfile_name_concat): New function, just like
60217         file_name_concat, but return NULL upon failure rather than exiting
60218         with a diagnostic.
60219         * lib/filenamecat.h: Declare it.
60220
60221 2007-08-07  Bruno Haible  <bruno@clisp.org>
60222
60223         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
60224         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
60225         warning from gcc.
60226         Reported by Eric Blake.
60227
60228 2007-08-07  Simon Josefsson  <simon@josefsson.org>
60229
60230         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
60231         * modules/crypto/arcfour (License): Likewise.
60232         * modules/crypto/des-tests (License): Likewise.
60233         * modules/crypto/gc-arctwo-tests (License): Likewise.
60234         * modules/crypto/gc-des-tests (License): Likewise.
60235         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
60236         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
60237         * modules/crypto/gc-md2-tests (License): Likewise.
60238         * modules/crypto/gc-md4-tests (License): Likewise.
60239         * modules/crypto/gc-md5-tests (License): Likewise.
60240         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
60241         * modules/crypto/gc-rijndael-tests (License): Likewise.
60242         * modules/crypto/gc-sha1-tests (License): Likewise.
60243         * modules/crypto/gc-tests (License): Likewise.
60244         * modules/crypto/hmac-md5 (License): Likewise.
60245         * modules/crypto/hmac-sha1 (License): Likewise.
60246         * modules/crypto/md2-tests (License): Likewise.
60247         * modules/crypto/md4-tests (License): Likewise.
60248         * modules/crypto/md5 (License): Likewise.
60249         * modules/crypto/rijndael (License): Likewise.
60250         * modules/crypto/sha1 (License): Likewise.
60251         * modules/memxor (License): Likewise.
60252
60253 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60254         and Bruno Haible  <bruno@clisp.org>
60255
60256         * NEWS: Describe interface changes to human, xstrtol.
60257         * lib/human.h: Include <xstrtol.h>.
60258         (human_options): Return enum strtol_error, not int.  Remove
60259         bool arg; take int * instead.
60260         * lib/human.c: Don't include "gettext.h".
60261         (_): Remove; no longer used.
60262         Don't include <xstrtol.h>, since human.h does it.
60263         (human_options): Adjust to abovementioned interface changes.
60264         Do not report error to stderr; that's now the caller's
60265         responsibility.
60266         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
60267         interface change.
60268         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
60269         Str, Argument_type_string.  All uses changed.  Put " argument"
60270         in diagnostics to make them clearer.  Change wording of suffix
60271         message for clarity.
60272         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
60273         Argument_type_string.
60274         (STRTOL_FATAL_WARN): Remove; no longer used.
60275         * modules/human (Depends-on): Remove gettext-h.
60276
60277 2007-08-06  Simon Josefsson  <simon@josefsson.org>
60278
60279         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
60280
60281 2007-07-31  Bruno Haible  <bruno@clisp.org>
60282
60283         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
60284         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
60285         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
60286
60287 2007-07-31  Bruno Haible  <bruno@clisp.org>
60288
60289         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
60290         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
60291
60292 2007-07-30  Bruno Haible  <bruno@clisp.org>
60293
60294         * modules/base64 (License): Use the synonymous term "LGPLv2+".
60295         * modules/c-ctype (License): Likewise.
60296         * modules/c-strcase (License): Likewise.
60297         * modules/check-version (License): Likewise.
60298         * modules/iconv (License): Likewise.
60299         * modules/iconv_open (License): Likewise.
60300         * modules/read-file (License): Likewise.
60301         * modules/striconv (License): Likewise.
60302         * modules/strverscmp (License): Likewise.
60303         * modules/vasprintf (License): Likewise.
60304         * modules/crypto/des (License): Likewise.
60305         * modules/crypto/gc (License): Likewise.
60306         * modules/crypto/gc-arcfour (License): Likewise.
60307         * modules/crypto/gc-arctwo (License): Likewise.
60308         * modules/crypto/gc-des (License): Likewise.
60309         * modules/crypto/gc-hmac-md5 (License): Likewise.
60310         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60311         * modules/crypto/gc-md2 (License): Likewise.
60312         * modules/crypto/gc-md4 (License): Likewise.
60313         * modules/crypto/gc-md5 (License): Likewise.
60314         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60315         * modules/crypto/gc-random (License): Likewise.
60316         * modules/crypto/gc-rijndael (License): Likewise.
60317         * modules/crypto/gc-sha1 (License): Likewise.
60318         * modules/crypto/md2 (License): Likewise.
60319         * modules/crypto/md4 (License): Likewise.
60320
60321 2007-07-30  Jim Meyering  <jim@meyering.net>
60322
60323         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60324         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60325         it has valid stat data.  This bug would cause du not to count the
60326         sizes of inaccessible directories.
60327         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60328         in <http://bugzilla.redhat.com/250077>.
60329
60330 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60331             Bruno Haible  <bruno@clisp.org>
60332
60333         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60334         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60335         #include_next, gives a diagnostic about it, but reports no error in
60336         the exit code.
60337         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60338
60339 2007-07-24  Ben Pfaff  <blp@gnu.org>
60340
60341         Improve name: "count-one-bits" is better than "popcount".
60342         * MODULES.html.sh: Update name.
60343         * lib/popcount.h: Renamed lib/count-one-bits.h.
60344         (popcount): Renamed count_one_bits.
60345         (popcountl): Renamed count_one_bits_l.
60346         (popcountll): Renamed count_one_bits_ll.
60347         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60348         * modules/popcount: Renamed module/count-one-bits.
60349         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60350         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60351
60352 2007-07-23  Ben Pfaff  <blp@gnu.org>
60353
60354         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60355         better code generation, and add U to large constants to avoid
60356         warnings, in non-GCC case.
60357         Suggested by Bruno Haible.
60358
60359 2007-07-23  Ben Pfaff  <blp@gnu.org>
60360
60361         * lib/popcount.h: Use verify_true instead of if...abort.
60362         * modules/popcount: Depend on verify module.
60363         Suggested by Jim Meyering.
60364
60365 2007-07-23  Bruno Haible  <bruno@clisp.org>
60366
60367         * gnulib-tool (func_import): Create a .cvsignore file also when the
60368         directory is not yet in CVS but the toplevel directory is. When
60369         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
60370         Reported by Karl Berry.
60371
60372 2007-07-22  Ben Pfaff  <blp@gnu.org>
60373
60374         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
60375         case.
60376         Suggested by Eric Blake.
60377
60378 2007-07-22  Ben Pfaff  <blp@gnu.org>
60379
60380         New module: popcount.
60381         * MODULES.html.sh: Add popcount.
60382         * modules/popcount: New file.
60383         * modules/popcount-tests: New file.
60384         * tests/test-popcount.c: New file.
60385         * lib/popcount.h: New file.
60386         * m4/popcount.m4: New file.
60387
60388 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60389
60390         * build-aux/announce-gen: Update to GPLv3.
60391
60392         * build-aux/config.guess: Update from config.
60393
60394 2007-07-21  Bruno Haible  <bruno@clisp.org>
60395
60396         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60397         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60398
60399 2007-07-20  Jim Meyering  <jim@meyering.net>
60400
60401         * check-module: Diagnose a self-dependency.
60402
60403 2007-07-19  Bruno Haible  <bruno@clisp.org>
60404
60405         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60406         empty.
60407         Reported by Eric Blake.
60408
60409 2007-07-18  Bruno Haible  <bruno@clisp.org>
60410
60411         * gnulib-tool: New options --po-base, --po-domain.
60412         (func_usage): Document them.
60413         (pobase, po_domain): New variables.
60414         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
60415         DEFAULT_TEXT_DOMAIN.
60416         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
60417         (func_import): Consider pobase and po_domain. Create a po/ directory.
60418         (func_create_testdir): Set pobase and po_domain to empty.
60419         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
60420         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
60421
60422 2007-07-18  Bruno Haible  <bruno@clisp.org>
60423
60424         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60425         EXTRA_DIST augmentation for files in build-aux/.
60426
60427 2007-07-16  Bruno Haible  <bruno@clisp.org>
60428
60429         * modules/lseek (License): Use the synonymous term "LGPLv2+".
60430         * modules/getdelim (License): Likewise.
60431
60432 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60433
60434         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
60435         * modules/d-type (License): Likewise.
60436         * modules/extensions (License): Likewise.
60437         * modules/fnmatch (License): Likewise.
60438         * modules/fseeko (License): Likewise.
60439         * modules/getaddrinfo (License): Likewise.
60440         * modules/getline (License): Likewise.
60441         * modules/getlogin_r (License): Likewise.
60442         * modules/getpass (License): Likewise.
60443         * modules/gettimeofday (License): Likewise.
60444         * modules/glob (License): Likewise.
60445         * modules/inet_ntop (License): Likewise.
60446         * modules/malloc (License): Likewise.
60447         * modules/malloca (License): Likewise.
60448         * modules/memmem (License): Likewise.
60449         * modules/mempcpy (License): Likewise.
60450         * modules/memset (License): Likewise.
60451         * modules/minmax (License): Likewise.
60452         * modules/mktime (License): Likewise.
60453         * modules/netinet_in (License): Likewise.
60454         * modules/pathmax (License): Likewise.
60455         * modules/poll (License): Likewise.
60456         * modules/regex (License): Likewise.
60457         * modules/snprintf (License): Likewise.
60458         * modules/stdbool (License): Likewise.
60459         * modules/stdint (License): Likewise.
60460         * modules/stdio (License): Likewise.
60461         * modules/strcase (License): Likewise.
60462         * modules/strcasestr (License): Likewise.
60463         * modules/strdup (License): Likewise.
60464         * modules/string (License): Likewise.
60465         * modules/strndup (License): Likewise.
60466         * modules/strnlen (License): Likewise.
60467         * modules/strpbrk (License): Likewise.
60468         * modules/strptime (License): Likewise.
60469         * modules/strsep (License): Likewise.
60470         * modules/sys_select (License): Likewise.
60471         * modules/sys_socket (License): Likewise.
60472         * modules/sys_stat (License): Likewise.
60473         * modules/sys_time (License): Likewise.
60474         * modules/time (License): Likewise.
60475         * modules/time_r (License): Likewise.
60476         * modules/timegm (License): Likewise.
60477         * modules/unistd (License): Likewise.
60478         * modules/vsnprintf (License): Likewise.
60479         * modules/wctype (License): Likewise.
60480
60481 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60482
60483         * modules/argz (License): LGPLv2+.
60484
60485 2007-07-15  Karl Berry  <karl@gnu.org>
60486
60487         * doc/gnulib.texi: revise node structure per new fdl.texi.
60488
60489 2007-07-14  Bruno Haible  <bruno@clisp.org>
60490
60491         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60492         the output file.
60493         * lib/uniname/uninames.h: Regenerated.
60494
60495 2007-07-14  Karl Berry  <karl@gnu.org>
60496
60497         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60498         omitting sectioning and index commands.
60499
60500 2007-07-13  Bruno Haible  <bruno@clisp.org>
60501
60502         New gnulib-tool option --more-symlinks.
60503         * gnulib-tool (func_usage): Document --more-symlinks.
60504         (do_copyrights): New variable.
60505         Recognize option --more-symlinks.
60506         (func_import): Don't add a copyright notice transform to
60507         sed_transform_lib_file if do_copyrights is empty.
60508
60509 2007-07-13  Bruno Haible  <bruno@clisp.org>
60510
60511         * lib/vasnprintf.c (decimal_point_char): Define also if
60512         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60513         && !NEED_PRINTF_DIRECTIVE_A.
60514         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60515         Gary V. Vaughan <gary@gnu.org>.
60516
60517 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60518
60519         * lib/inttypes_.h: Undo previous change, since it was fixed
60520         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60521
60522 2007-07-13  Bruno Haible  <bruno@clisp.org>
60523
60524         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60525         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60526
60527 2007-07-13  Jim Meyering  <jim@meyering.net>
60528
60529         df: Don't fail for Tru64's "file-on-file mount".
60530         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60531         so we fall through and use statfs instead.  Details here:
60532         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60533         Reported by Albert Chin.
60534
60535 2007-07-13  Bruno Haible  <bruno@clisp.org>
60536
60537         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60538         * modules/configmake (License): Likewise.
60539         * modules/gettext (License): Likewise.
60540         * modules/gettext-h (License): Likewise.
60541         * modules/include_next (License): Likewise.
60542         * modules/link-warning (License): Likewise.
60543         * modules/localcharset (License): Likewise.
60544         * modules/localename (License): Likewise.
60545         * modules/lock (License): Likewise.
60546         * modules/relocatable-lib-lgpl (License): Likewise.
60547         * modules/size_max (License): Likewise.
60548         * modules/vasnprintf (License): Likewise.
60549         * modules/wchar (License): Likewise.
60550         * modules/xsize (License): Likewise.
60551
60552 2007-07-13  Bruno Haible  <bruno@clisp.org>
60553
60554         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60555         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60556
60557 2007-07-12  Bruno Haible  <bruno@clisp.org>
60558
60559         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60560         in the modules files.
60561
60562 2007-07-11  Karl Berry  <karl@gnu.org>
60563
60564         * MODULES.html.sh (func_module): use
60565          sed -e '\|^'"${includefile}"'$|d'
60566          instead of /.../d, to avoid errors on $includefile's containing /.
60567
60568 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60569
60570         * gnulib-tool (func_import): Avoid duplication of --avoid
60571         statements
60572         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60573         names to `_' in variable names.
60574
60575 2007-07-10  Eric Blake  <ebb9@byu.net>
60576
60577         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60578         * NEWS: Document this change.
60579
60580 2007-07-08  Bruno Haible  <bruno@clisp.org>
60581
60582         Update to Unicode 5.0.
60583         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60584         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60585         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60586         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60587         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60588         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60589         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60590         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60591         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60592         U+10A3F, U+1D242..U+1D244.
60593         (nonspacing_table_ind): Update.
60594         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60595         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60596
60597 2007-07-08  Bruno Haible  <bruno@clisp.org>
60598
60599         Update to Unicode 5.0.
60600         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60601         code transform. Extend the name index field of unicode_name_to_code and
60602         unicode_code_to_name from 16 to 24 bits.
60603         * lib/uniname/uniname.c (unicode_character_name,
60604         unicode_name_character): Add the range 0x12xxx to the code transform.
60605         * lib/uniname/uninames.h: Regenerated.
60606         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60607
60608 2007-07-07  Bruno Haible  <bruno@clisp.org>
60609
60610         * modules/wcwidth-tests: New file.
60611         * tests/test-wcwidth.c: New file.
60612
60613         Work around MacOS X wcwidth() bug.
60614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60615         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60616         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60617         original wcwidth in non-UTF-8 locales.
60618         * modules/wcwidth (Depends-on): Add localcharset, streq,
60619         uniwidth/width.
60620         * doc/functions/wcwidth.texi: Update.
60621
60622 2007-07-07  Bruno Haible  <bruno@clisp.org>
60623
60624         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60625         (wcwidth): New declaration.
60626         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60627         macros.
60628         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60629         here. Prepare for creating <wchar.h> unconditionally.
60630         * modules/wchar (Depends-on): Add link-warning.
60631         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60632         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60633         * lib/wcwidth.h: Remove file.
60634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60635         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60636         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60637         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60638         (Include): Replace wcwidth.h with <wchar.h>.
60639         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60640         * lib/mbchar.h: Don't include wcwidth.h.
60641         * lib/mbswidth.c: Likewise.
60642         * NEWS: Mention the change.
60643
60644 2007-07-07  Bruno Haible  <bruno@clisp.org>
60645
60646         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60647         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60648         definition with an external declaration.
60649         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60650         defined as a function. Remove AC_C_INLINE requirement.
60651         * modules/wcwidth (Files): Add lib/wcwidth.c.
60652         (Makefile.am): Remove redundant statement.
60653
60654 2007-07-07  Bruno Haible  <bruno@clisp.org>
60655
60656         * MODULES.html.sh (Unicode string functions): Add the new modules.
60657
60658         * tests/uniwidth/test-u32-strwidth.c: New file.
60659         * modules/uniwidth/u32-strwidth-tests: New file.
60660
60661         * lib/uniwidth/u32-strwidth.c: New file.
60662         * modules/uniwidth/u32-strwidth: New file.
60663
60664         * tests/uniwidth/test-u16-strwidth.c: New file.
60665         * modules/uniwidth/u16-strwidth-tests: New file.
60666
60667         * lib/uniwidth/u16-strwidth.c: New file.
60668         * modules/uniwidth/u16-strwidth: New file.
60669
60670         * tests/uniwidth/test-u8-strwidth.c: New file.
60671         * modules/uniwidth/u8-strwidth-tests: New file.
60672
60673         * lib/uniwidth/u8-strwidth.c: New file.
60674         * modules/uniwidth/u8-strwidth: New file.
60675
60676         * tests/uniwidth/test-u32-width.c: New file.
60677         * modules/uniwidth/u32-width-tests: New file.
60678
60679         * lib/uniwidth/u32-width.c: New file.
60680         * modules/uniwidth/u32-width: New file.
60681
60682         * tests/uniwidth/test-u16-width.c: New file.
60683         * modules/uniwidth/u16-width-tests: New file.
60684
60685         * lib/uniwidth/u16-width.c: New file.
60686         * modules/uniwidth/u16-width: New file.
60687
60688         * tests/uniwidth/test-u8-width.c: New file.
60689         * modules/uniwidth/u8-width-tests: New file.
60690
60691         * lib/uniwidth/u8-width.c: New file.
60692         * modules/uniwidth/u8-width: New file.
60693
60694         * tests/uniwidth/test-uc_width.c: New file.
60695         * modules/uniwidth/width-tests: New file.
60696
60697         * lib/uniwidth/width.c: New file, from GNU libiconv.
60698         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60699         * modules/uniwidth/width: New file.
60700
60701         * lib/uniwidth.h: New file, from GNU libiconv.
60702         * modules/uniwidth/base: New file.
60703
60704 2007-07-07  Bruno Haible  <bruno@clisp.org>
60705
60706         * lib/uniname.h: New file, from GNU gettext.
60707         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60708         * lib/uniname/uninames.h: New file, from GNU gettext.
60709         * lib/uniname/uniname.c: New file, from GNU gettext.
60710         * tests/uniname/test-uninames.sh: New file.
60711         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60712         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60713         * modules/uniname/base: New file.
60714         * modules/uniname/uniname: New file.
60715         * modules/uniname/uniname-tests: New file.
60716         * MODULES.html.sh (Unicode string functions): Add the new modules.
60717
60718 2007-07-06  Bruno Haible  <bruno@clisp.org>
60719
60720         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60721
60722 2007-07-06  Bruno Haible  <bruno@clisp.org>
60723
60724         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60725         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60726         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60727         include <sys/time.h>.
60728         Reported by Eric Blake.
60729
60730 2007-07-06  Eric Blake  <ebb9@byu.net>
60731
60732         Fix testing canonicalize on cygwin.
60733         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60734         Revert patch from 2007-06-19.
60735         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60736         canonicalize module is also in use.
60737         * tests/test-canonicalize.c: New file.
60738         * tests/test-canonicalize.sh: Likewise.
60739         * modules/canonicalize-tests: Likewise.
60740
60741 2007-07-06  Jim Meyering  <jim@meyering.net>
60742
60743         * lib/getugroups.c (getugroups): Detect getgrent failure.
60744         Adjust comment to reflect reality: this function may return -1.
60745
60746 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60747
60748         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60749         the new TP address.
60750         (usage): Fix typo
60751         (gnulib_mk): New variable.
60752
60753 2007-07-05  Jim Meyering  <jim@meyering.net>
60754
60755         Don't let endgrent clobber errno, no matter how improbable.
60756         * lib/getugroups.c (getugroups): Save and restore errno around
60757         endgrent call.
60758
60759         Close the group DB even when failing with 2^31 or more members.
60760         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60761
60762 2007-07-04  Jim Meyering  <jim@meyering.net>
60763
60764         * lib/getugroups.h: New file.
60765         * lib/getugroups.c: Include "getugroups.h".
60766         Remove uses of "register" keyword.
60767         Move local variable, "cp", down into scope where used.
60768         Give "username" parameter the "const" attribute.
60769         * modules/getugroups (Files): Add lib/getugroups.h
60770
60771 2007-07-04  Karl Berry  <karl@gnu.org>
60772
60773         * MODULES.html.sh (func_all_modules): Complete rename of
60774         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60775
60776 2007-07-02  Bruno Haible  <bruno@clisp.org>
60777
60778         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60779         mode, when inttypes.h comes from gnulib.
60780         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60781
60782 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60783
60784         * NEWS: Mention lgpl module name change.
60785
60786         * modules/lgpl-2.1: Renamed from lgpl.
60787
60788         * NEWS: Mention gpl module name change.
60789
60790         * modules/gpl-3.0: New file, based on gpl-2.0.
60791
60792         * modules/gpl-2.0: Renamed from gpl.
60793
60794         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60795         doc/gpl-2.0.texi.
60796
60797 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60798
60799         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60800         #define __STDC_LIMIT_MACROS temporarily while including
60801         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60802         Problem reported by Joel E. Denny in
60803         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60804
60805 2007-07-01  Bruno Haible  <bruno@clisp.org>
60806
60807         * lib/unistdio.h: New file.
60808         * lib/unistdio/u-asnprintf.h: New file.
60809         * lib/unistdio/u-asprintf.h: New file.
60810         * lib/unistdio/u-printf-args.c: New file.
60811         * lib/unistdio/u-printf-args.h: New file.
60812         * lib/unistdio/u-printf-parse.h: New file.
60813         * lib/unistdio/u-snprintf.h: New file.
60814         * lib/unistdio/u-sprintf.h: New file.
60815         * lib/unistdio/u-vasprintf.h: New file.
60816         * lib/unistdio/u-vsnprintf.h: New file.
60817         * lib/unistdio/u-vsprintf.h: New file.
60818         * lib/unistdio/ulc-asnprintf.c: New file.
60819         * lib/unistdio/ulc-asprintf.c: New file.
60820         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60821         * lib/unistdio/ulc-printf-parse.c: New file.
60822         * lib/unistdio/ulc-snprintf.c: New file.
60823         * lib/unistdio/ulc-sprintf.c: New file.
60824         * lib/unistdio/ulc-vasnprintf.c: New file.
60825         * lib/unistdio/ulc-vasprintf.c: New file.
60826         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60827         * lib/unistdio/ulc-vsnprintf.c: New file.
60828         * lib/unistdio/ulc-vsprintf.c: New file.
60829         * lib/unistdio/u8-asnprintf.c: New file.
60830         * lib/unistdio/u8-asprintf.c: New file.
60831         * lib/unistdio/u8-printf-parse.c: New file.
60832         * lib/unistdio/u8-snprintf.c: New file.
60833         * lib/unistdio/u8-sprintf.c: New file.
60834         * lib/unistdio/u8-vasnprintf.c: New file.
60835         * lib/unistdio/u8-vasprintf.c: New file.
60836         * lib/unistdio/u8-vsnprintf.c: New file.
60837         * lib/unistdio/u8-vsprintf.c: New file.
60838         * lib/unistdio/u8-u8-asnprintf.c: New file.
60839         * lib/unistdio/u8-u8-asprintf.c: New file.
60840         * lib/unistdio/u8-u8-snprintf.c: New file.
60841         * lib/unistdio/u8-u8-sprintf.c: New file.
60842         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60843         * lib/unistdio/u8-u8-vasprintf.c: New file.
60844         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60845         * lib/unistdio/u8-u8-vsprintf.c: New file.
60846         * lib/unistdio/u16-asnprintf.c: New file.
60847         * lib/unistdio/u16-asprintf.c: New file.
60848         * lib/unistdio/u16-printf-parse.c: New file.
60849         * lib/unistdio/u16-snprintf.c: New file.
60850         * lib/unistdio/u16-sprintf.c: New file.
60851         * lib/unistdio/u16-vasnprintf.c: New file.
60852         * lib/unistdio/u16-vasprintf.c: New file.
60853         * lib/unistdio/u16-vsnprintf.c: New file.
60854         * lib/unistdio/u16-vsprintf.c: New file.
60855         * lib/unistdio/u16-u16-asnprintf.c: New file.
60856         * lib/unistdio/u16-u16-asprintf.c: New file.
60857         * lib/unistdio/u16-u16-snprintf.c: New file.
60858         * lib/unistdio/u16-u16-sprintf.c: New file.
60859         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60860         * lib/unistdio/u16-u16-vasprintf.c: New file.
60861         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60862         * lib/unistdio/u16-u16-vsprintf.c: New file.
60863         * lib/unistdio/u32-asnprintf.c: New file.
60864         * lib/unistdio/u32-asprintf.c: New file.
60865         * lib/unistdio/u32-printf-parse.c: New file.
60866         * lib/unistdio/u32-snprintf.c: New file.
60867         * lib/unistdio/u32-sprintf.c: New file.
60868         * lib/unistdio/u32-vasnprintf.c: New file.
60869         * lib/unistdio/u32-vasprintf.c: New file.
60870         * lib/unistdio/u32-vsnprintf.c: New file.
60871         * lib/unistdio/u32-vsprintf.c: New file.
60872         * lib/unistdio/u32-u32-asnprintf.c: New file.
60873         * lib/unistdio/u32-u32-asprintf.c: New file.
60874         * lib/unistdio/u32-u32-snprintf.c: New file.
60875         * lib/unistdio/u32-u32-sprintf.c: New file.
60876         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60877         * lib/unistdio/u32-u32-vasprintf.c: New file.
60878         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60879         * lib/unistdio/u32-u32-vsprintf.c: New file.
60880         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60881         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60882         * tests/unistdio/test-ulc-printf1.h: New file.
60883         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60884         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60885         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60886         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60887         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60888         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60889         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60890         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60891         * tests/unistdio/test-u8-asnprintf1.c: New file.
60892         * tests/unistdio/test-u8-asnprintf1.h: New file.
60893         * tests/unistdio/test-u8-printf1.h: New file.
60894         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60895         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60896         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60897         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60898         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60899         * tests/unistdio/test-u8-vasprintf1.c: New file.
60900         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60901         * tests/unistdio/test-u8-vsprintf1.c: New file.
60902         * tests/unistdio/test-u16-asnprintf1.c: New file.
60903         * tests/unistdio/test-u16-asnprintf1.h: New file.
60904         * tests/unistdio/test-u16-printf1.h: New file.
60905         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60906         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60907         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60908         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60909         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60910         * tests/unistdio/test-u16-vasprintf1.c: New file.
60911         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60912         * tests/unistdio/test-u16-vsprintf1.c: New file.
60913         * tests/unistdio/test-u32-asnprintf1.c: New file.
60914         * tests/unistdio/test-u32-asnprintf1.h: New file.
60915         * tests/unistdio/test-u32-printf1.h: New file.
60916         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60917         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60918         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60919         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60920         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60921         * tests/unistdio/test-u32-vasprintf1.c: New file.
60922         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60923         * tests/unistdio/test-u32-vsprintf1.c: New file.
60924         * modules/unistdio/base: New file.
60925         * modules/unistdio/u-printf-args: New file.
60926         * modules/unistdio/ulc-asnprintf: New file.
60927         * modules/unistdio/ulc-asprintf: New file.
60928         * modules/unistdio/ulc-fprintf: New file.
60929         * modules/unistdio/ulc-printf-parse: New file.
60930         * modules/unistdio/ulc-snprintf: New file.
60931         * modules/unistdio/ulc-sprintf: New file.
60932         * modules/unistdio/ulc-vasnprintf: New file.
60933         * modules/unistdio/ulc-vasprintf: New file.
60934         * modules/unistdio/ulc-vfprintf: New file.
60935         * modules/unistdio/ulc-vsnprintf: New file.
60936         * modules/unistdio/ulc-vsprintf: New file.
60937         * modules/unistdio/u8-asnprintf: New file.
60938         * modules/unistdio/u8-asprintf: New file.
60939         * modules/unistdio/u8-printf-parse: New file.
60940         * modules/unistdio/u8-snprintf: New file.
60941         * modules/unistdio/u8-sprintf: New file.
60942         * modules/unistdio/u8-vasnprintf: New file.
60943         * modules/unistdio/u8-vasprintf: New file.
60944         * modules/unistdio/u8-vsnprintf: New file.
60945         * modules/unistdio/u8-vsprintf: New file.
60946         * modules/unistdio/u8-u8-asnprintf: New file.
60947         * modules/unistdio/u8-u8-asprintf: New file.
60948         * modules/unistdio/u8-u8-snprintf: New file.
60949         * modules/unistdio/u8-u8-sprintf: New file.
60950         * modules/unistdio/u8-u8-vasnprintf: New file.
60951         * modules/unistdio/u8-u8-vasprintf: New file.
60952         * modules/unistdio/u8-u8-vsnprintf: New file.
60953         * modules/unistdio/u8-u8-vsprintf: New file.
60954         * modules/unistdio/u16-asnprintf: New file.
60955         * modules/unistdio/u16-asprintf: New file.
60956         * modules/unistdio/u16-printf-parse: New file.
60957         * modules/unistdio/u16-snprintf: New file.
60958         * modules/unistdio/u16-sprintf: New file.
60959         * modules/unistdio/u16-vasnprintf: New file.
60960         * modules/unistdio/u16-vasprintf: New file.
60961         * modules/unistdio/u16-vsnprintf: New file.
60962         * modules/unistdio/u16-vsprintf: New file.
60963         * modules/unistdio/u16-u16-asnprintf: New file.
60964         * modules/unistdio/u16-u16-asprintf: New file.
60965         * modules/unistdio/u16-u16-snprintf: New file.
60966         * modules/unistdio/u16-u16-sprintf: New file.
60967         * modules/unistdio/u16-u16-vasnprintf: New file.
60968         * modules/unistdio/u16-u16-vasprintf: New file.
60969         * modules/unistdio/u16-u16-vsnprintf: New file.
60970         * modules/unistdio/u16-u16-vsprintf: New file.
60971         * modules/unistdio/u32-asnprintf: New file.
60972         * modules/unistdio/u32-asprintf: New file.
60973         * modules/unistdio/u32-printf-parse: New file.
60974         * modules/unistdio/u32-snprintf: New file.
60975         * modules/unistdio/u32-sprintf: New file.
60976         * modules/unistdio/u32-vasnprintf: New file.
60977         * modules/unistdio/u32-vasprintf: New file.
60978         * modules/unistdio/u32-vsnprintf: New file.
60979         * modules/unistdio/u32-vsprintf: New file.
60980         * modules/unistdio/u32-u32-asnprintf: New file.
60981         * modules/unistdio/u32-u32-asprintf: New file.
60982         * modules/unistdio/u32-u32-snprintf: New file.
60983         * modules/unistdio/u32-u32-sprintf: New file.
60984         * modules/unistdio/u32-u32-vasnprintf: New file.
60985         * modules/unistdio/u32-u32-vasprintf: New file.
60986         * modules/unistdio/u32-u32-vsnprintf: New file.
60987         * modules/unistdio/u32-u32-vsprintf: New file.
60988         * modules/unistdio/ulc-asnprintf-tests: New file.
60989         * modules/unistdio/ulc-vasnprintf-tests: New file.
60990         * modules/unistdio/ulc-vasprintf-tests: New file.
60991         * modules/unistdio/ulc-vsnprintf-tests: New file.
60992         * modules/unistdio/ulc-vsprintf-tests: New file.
60993         * modules/unistdio/u8-asnprintf-tests: New file.
60994         * modules/unistdio/u8-vasnprintf-tests: New file.
60995         * modules/unistdio/u8-vasprintf-tests: New file.
60996         * modules/unistdio/u8-vsnprintf-tests: New file.
60997         * modules/unistdio/u8-vsprintf-tests: New file.
60998         * modules/unistdio/u16-asnprintf-tests: New file.
60999         * modules/unistdio/u16-vasnprintf-tests: New file.
61000         * modules/unistdio/u16-vasprintf-tests: New file.
61001         * modules/unistdio/u16-vsnprintf-tests: New file.
61002         * modules/unistdio/u16-vsprintf-tests: New file.
61003         * modules/unistdio/u32-asnprintf-tests: New file.
61004         * modules/unistdio/u32-vasnprintf-tests: New file.
61005         * modules/unistdio/u32-vasprintf-tests: New file.
61006         * modules/unistdio/u32-vsnprintf-tests: New file.
61007         * modules/unistdio/u32-vsprintf-tests: New file.
61008         * MODULES.html.sh (Unicode string functions): Add the new modules.
61009
61010 2007-07-01  Bruno Haible  <bruno@clisp.org>
61011
61012         * lib/sprintf.c (sprintf): Limit the available length estimation,
61013         to avoid address wraparound.
61014         * lib/vsprintf.c (vsprintf): Likewise.
61015         * modules/sprintf-posix (Dependencies): Add stdint.
61016         * modules/vsprintf-posix (Dependencies): Likewise.
61017
61018 2007-07-01  Bruno Haible  <bruno@clisp.org>
61019
61020         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61021         Windows PATH as well. Conservative double-quoting. Comments.
61022
61023 2007-07-01  Bruno Haible  <bruno@clisp.org>
61024             Eric Blake  <ebb9@byu.net>
61025             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61026
61027         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61028         empty components in $PATH, denoting '.'.
61029
61030 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61031
61032         * gnulib-tool: Fix indentation.
61033         (func_create_megatestdir): Likewise.
61034         Report by Bruno Haible.
61035
61036 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61037
61038         Sync from Automake.
61039         * build-aux/gnupload: Fix shell portability issues with for loops.
61040         Report by Karl Berry.
61041
61042 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61043
61044         * build-aux/maint.mk (POURL): Use translationproject.org.
61045
61046 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61047             Bruno Haible  <bruno@clisp.org>
61048
61049         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61050         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61051         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61052         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61053         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61054
61055 2007-06-27  Bruno Haible  <bruno@clisp.org>
61056
61057         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61058         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61059
61060 2007-06-26  Karl Berry  <karl@gnu.org>
61061
61062         * MODULES.html.sh: remove xreadlink-with-size.
61063
61064 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61065
61066         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61067         method that I hope also handles the double-include problem noted
61068         by Bruno Haible in
61069         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61070
61071 2007-06-23  Bruno Haible  <bruno@clisp.org>
61072
61073         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61074         Don't let the 'mostlyclean' target fail if the last subdirectory could
61075         not be removed.
61076         Reported by Karl Berry.
61077
61078 2007-06-23  Bruno Haible  <bruno@clisp.org>
61079
61080         * gnulib-tool (echo): Add a speedier workaround for ksh.
61081         * tests/test-echo.sh: Likewise.
61082
61083 2007-06-23  Bruno Haible  <bruno@clisp.org>
61084
61085         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61086         * tests/test-echo.sh: Likewise.
61087
61088 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61089
61090         * gnulib-tool (IFS): Initialize early, so we don't set it to
61091         empty later.
61092         (self_abspathname): Rewrite algorithm to set it, reindent.
61093         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61094         (func_create_megatestdir): Merge some sed scripts.
61095
61096 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61097
61098         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61099         exposed by Sun Studio 11 cc on Solaris 8.
61100
61101 2007-06-22  Bruno Haible  <bruno@clisp.org>
61102
61103         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61104         backslashes.
61105         * tests/test-echo.sh: New file.
61106
61107 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61108
61109         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61110         simplify `sed_replace_build_aux' scripts, they are portable but
61111         echoing them with `echo' is not.
61112         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61113
61114 2007-06-21  Karl Berry  <karl@gnu.org>
61115
61116         * config/srclist.txt: guess we can't handle the licenses via
61117         srclist at the moment.
61118
61119 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61120
61121         * MODULES.html.sh: Add include_next.
61122         * modules/include_next: New file.
61123
61124 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61125
61126         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61127         INCLUDE_NEXT.
61128         (gl_CHECK_NEXT_HEADERS): New macro.
61129         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61130         the obsolescent gl_ABSOLUTE_HEADER.
61131         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61132         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61133         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61134         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61135         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61136         * m4/math_h.m4 (gl_MATH_H): Likewise.
61137         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61138         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61139         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61140         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61141         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61142         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61143         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61144         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61145         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61146         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61147         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61148         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61149         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61150         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61151         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61152         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61153         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61154         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61155         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61156         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61157         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61158         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61159         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61160         * lib/float_.h: Likewise.
61161         * lib/inttypes_.h: Likewise.
61162         * lib/math_.h: Likewise.
61163         * lib/search_.h: Likewise.
61164         * lib/signal_.h: Likewise.
61165         * lib/stdint_.h: Likewise.
61166         * lib/stdio_.h: Likewise.
61167         * lib/stdlib_.h: Likewise.
61168         * lib/string_.h: Likewise.
61169         * lib/sys_stat_.h: Likewise.
61170         * lib/sys_time_.h: Likewise.
61171         * lib/time_.h: Likewise.
61172         * lib/unistd_.h: Likewise.
61173         * lib/wchar_.h: Likewise.
61174         * lib/wctype_.h: Likewise.
61175         * lib/dirent_.h: Likewise.
61176         * lib/iconv_.h: Likewise.
61177         * lib/locale_.h: Likewise.
61178         * lib/netinet_in_.h: Likewise.
61179         * lib/sys_select_.h: Likewise.
61180         * lib/sys_socket_.h: Likewise.
61181         * lib/sysexits_.h: Likewise.
61182         * modules/fcntl (Depends-on): Depend on include_next, not
61183         absolute_header.
61184         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61185         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61186         * modules/fchdir: Likewise.
61187         * modules/float: Likewise.
61188         * modules/iconv_open: Likewise.
61189         * modules/inttypes: Likewise.
61190         * modules/locale: Likewise.
61191         * modules/math: Likewise.
61192         * modules/netinet_in: Likewise.
61193         * modules/search: Likewise.
61194         * modules/signal: Likewise.
61195         * modules/stdint: Likewise.
61196         * modules/stdio: Likewise.
61197         * modules/stdlib: Likewise.
61198         * modules/string: Likewise.
61199         * modules/sys_select: Likewise.
61200         * modules/sys_socket: Likewise.
61201         * modules/sys_stat: Likewise.
61202         * modules/sys_time: Likewise.
61203         * modules/sysexits: Likewise.
61204         * modules/time: Likewise.
61205         * modules/unistd: Likewise.
61206         * modules/wchar: Likewise.
61207         * modules/wctype: Likewise.
61208         * modules/sys_stat: Change maintainer to "all".
61209         * modules/unistd: Likewise.
61210
61211 2007-06-20  Karl Berry  <karl@gnu.org>
61212
61213         * config/srclist.txt: track www changes in license files.
61214
61215 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
61216
61217         * build-aux/bootstrap: Remove stray dot.
61218         Make sure build_aux settings are honored when linking
61219         gnulib_extra_files.
61220
61221 2007-06-19  Eric Blake  <ebb9@byu.net>
61222
61223         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61224         Allow compilation on cygwin.
61225
61226 2007-06-19  Jim Meyering  <jim@meyering.net>
61227
61228         xreadlink-with-size: Remove module.  No longer used.
61229         Ex-callers now use xreadlink or mreadlink-with-size.
61230         * modules/xreadlink-with-size: Remove module.
61231         * lib/xreadlink-with-size.c: Remove file.
61232         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
61233         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
61234         just before the function definition *is* accurate.
61235
61236         Eliminate one way canonicalize_filename_mode could exit.
61237         * lib/canonicalize.c (canonicalize_filename_mode):
61238         Use mreadlink_with_size, not xreadlink_with_size.
61239
61240 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
61241
61242         Detect porting problems to FreeBSD/arm, which has time_t wider than
61243         long int.  Original problem reported for GNU diff by Xin Li in
61244         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
61245         * modules/getdate (Depends-on): Add intprops, verify.
61246         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
61247         is an integer type no wider than long int.
61248
61249 2007-06-18  Jim Meyering  <jim@meyering.net>
61250
61251         New module: mreadlink-with-size.
61252         * MODULES.html.sh: Add mreadlink-with-size.
61253         * modules/mreadlink-with-size: New module
61254         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
61255         not xreadlink-with-size.
61256         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
61257
61258 2007-06-16  Bruno Haible  <bruno@clisp.org>
61259
61260         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
61261         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
61262         Reported by Gary V. Vaughan <gary@gnu.org>.
61263
61264 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61265
61266         Revamp lchown so that it lives in unistd.h where it belongs.
61267         * lib/lchown.h: Remove.
61268         * lib/dirchownmod.c: Don't include lib/lchown.h.
61269         * lib/fchownat.c: Likewise.
61270         * lib/openat.c: Likewise.
61271         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
61272         does not follow symlinks.
61273         (EOPNOTSUPP): Define if not defined.
61274         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
61275         is defined to 0.
61276         (lchown): New decl.
61277         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
61278         Do not check for lchown decl.
61279         Set REPLACE_LCHOWN.
61280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
61281         REPLACE_LCHOWN.
61282         * modules/chown: Make it clear it follows symlinks.
61283         * modules/lchown: Make it clear it doesn't follow symlinks.
61284         (Files): Remove lib/lchown.h
61285         (Depends-on): Add unistd.
61286         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
61287         (Include): Include <unistd.h>, not "lchown.h".
61288         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
61289         REPLACE_LCHOWN.
61290
61291 2007-06-15  Jim Meyering  <jim@meyering.net>
61292
61293         Change license (GPL to LGPL) of fsusage and dependents.
61294         * modules/fsusage (License): Change to LGPL.
61295         * modules/full-read (License): Likewise.
61296         * modules/full-write (License): Likewise.
61297         * modules/safe-read (License): Likewise.
61298         * modules/safe-write (License): Likewise.
61299
61300 2007-06-14  Ben Pfaff  <blp@gnu.org>
61301
61302         Missing part of allocsa -> malloca transition.
61303         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
61304         gl_MALLOCA.
61305
61306 2007-06-12  Bruno Haible  <bruno@clisp.org>
61307
61308         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61309         to ia64, x86_64, i386.
61310         Reported by Eric Blake.
61311
61312 2007-06-12  Bruno Haible  <bruno@clisp.org>
61313
61314         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61315         cross-compiling to x86_64.
61316
61317 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61318
61319         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61320         glitch reported by Ralf Wildenhues in
61321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61322
61323         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61324         Vin Shelton.
61325
61326 2007-06-11  Bruno Haible  <bruno@clisp.org>
61327
61328         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61329         replacement string.
61330         Reported by Eric Blake.
61331
61332 2007-06-10  Bruno Haible  <bruno@clisp.org>
61333
61334         Prepare vasnprintf code for use with Unicode strings.
61335         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61336         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61337         TYPE_U32_STRING.
61338         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61339         a_u32_string variants.
61340         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61341         * lib/printf-args.c: Don't include config.h and the specification
61342         header if PRINTF_FETCHARGS is already defined.
61343         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61344         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61345         TYPE_U16_STRING, TYPE_U32_STRING.
61346         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61347         u16_directive, u16_directives, u32_directive, u32_directives): New
61348         types.
61349         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61350         New declarations.
61351         * lib/printf-parse.c: Don't include config.h and the specification
61352         header if PRINTF_PARSE is already defined. Eliminate the set of
61353         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61354         them now. Include c-ctype.h.
61355         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61356         directive and CHAR_T_ONLY_ASCII.
61357         * lib/vasnprintf.c: Don't include config.h and the specification header
61358         if VASNPRINTF is already defined.
61359         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
61360         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
61361         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
61362         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
61363         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
61364         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
61365         code accordingly.
61366         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
61367         pad_ourselves also in this case, with the 'c' and 's' directives, and
61368         with a different notion of "width".
61369         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
61370
61371 2007-06-10  Bruno Haible  <bruno@clisp.org>
61372
61373         * modules/unistr/u32-mbsnlen: New file.
61374         * lib/unistr/u32-mbsnlen.c: New file.
61375
61376         * modules/unistr/u16-mbsnlen: New file.
61377         * lib/unistr/u16-mbsnlen.c: New file.
61378
61379         * modules/unistr/u8-mbsnlen: New file.
61380         * lib/unistr/u8-mbsnlen.c: New file.
61381
61382         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61383         declarations.
61384
61385 2007-06-10  Bruno Haible  <bruno@clisp.org>
61386
61387         * lib/string_.h (mbsnlen): New declaration.
61388         * lib/mbsnlen.c: New file.
61389         * m4/mbsnlen.m4: New file.
61390         * modules/mbsnlen: New file.
61391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61392         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61393         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61394
61395 2007-06-10  Bruno Haible  <bruno@clisp.org>
61396
61397         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61398
61399 2007-06-10  Bruno Haible  <bruno@clisp.org>
61400
61401         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61402         * lib/mbuiter.h: Likewise.
61403
61404 2007-06-10  Bruno Haible  <bruno@clisp.org>
61405
61406         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61407         declaration.
61408
61409 2007-06-10  Karl Berry  <karl@gnu.org>
61410
61411         * config/srclist.txt: remove gettext entries, Bruno prefers
61412         to update individually.
61413
61414 2007-06-10  Bruno Haible  <bruno@clisp.org>
61415
61416         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
61417         'maxlen'. Ensure only length + width bytes are allocated, not
61418         length + 1 + width.
61419
61420 2007-06-09  Bruno Haible  <bruno@clisp.org>
61421
61422         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
61423         (CHAR_T): Remove macro.
61424         (VASNPRINTF): Update.
61425
61426 2007-06-09  Bruno Haible  <bruno@clisp.org>
61427
61428         * MODULES.html.sh (Unicode string functions): Add the new modules.
61429
61430         * modules/uniconv/u32-conv-to-enc: New file.
61431         * lib/uniconv/u32-conv-to-enc.c: New file.
61432         * modules/uniconv/u32-conv-to-enc-tests: New file.
61433         * tests/uniconv/test-u32-conv-to-enc.c: New file.
61434
61435         * modules/uniconv/u16-conv-to-enc: New file.
61436         * lib/uniconv/u16-conv-to-enc.c: New file.
61437         * lib/uniconv/u-conv-to-enc.h: New file.
61438         * modules/uniconv/u16-conv-to-enc-tests: New file.
61439         * tests/uniconv/test-u16-conv-to-enc.c: New file.
61440
61441         * modules/uniconv/u8-conv-to-enc: New file.
61442         * lib/uniconv/u8-conv-to-enc.c: New file.
61443         * modules/uniconv/u8-conv-to-enc-tests: New file.
61444         * tests/uniconv/test-u8-conv-to-enc.c: New file.
61445
61446         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
61447         u32_conv_to_encoding): New declarations.
61448
61449 2007-06-09  Bruno Haible  <bruno@clisp.org>
61450
61451         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
61452
61453 2007-06-09  Bruno Haible  <bruno@clisp.org>
61454
61455         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
61456         * modules/malloca: Renamed from modules/allocsa, updated.
61457         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
61458         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
61459         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
61460         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
61461         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
61462         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
61463         * modules/xmalloca: Renamed from modules/xallocsa, updated.
61464         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
61465         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
61466         * modules/c-strcasestr (Depends-on): Update.
61467         * lib/c-strcasestr.c: Update.
61468         * modules/c-strstr (Depends-on): Update.
61469         * lib/c-strstr.c: Update.
61470         * modules/canonicalize-lgpl (Depends-on): Update.
61471         * lib/canonicalize-lgpl.c: Update.
61472         * modules/clean-temp (Depends-on): Update.
61473         * lib/clean-temp.c: Update.
61474         * modules/csharpcomp (Depends-on): Update.
61475         * lib/csharpcomp.c: Update.
61476         * modules/csharpexec (Depends-on): Update.
61477         * lib/csharpexec.c: Update.
61478         * modules/javacomp (Depends-on): Update.
61479         * lib/javacomp.c: Update.
61480         * modules/javaexec (Depends-on): Update.
61481         * lib/javaexec.c: Update.
61482         * modules/mbscasestr (Depends-on): Update.
61483         * lib/mbscasestr.c: Update.
61484         * modules/mbsstr (Depends-on): Update.
61485         * lib/mbsstr.c: Update.
61486         * modules/setenv (Depends-on): Update.
61487         * lib/setenv.c: Update.
61488         * modules/strcasestr (Depends-on): Update.
61489         * lib/strcasestr.c: Update.
61490         * modules/striconveha (Depends-on): Update.
61491         * lib/striconveha.c: Update.
61492         * modules/relocatable-prog-wrapper (Files): Update.
61493         * lib/relocwrapper.c: Update.
61494         * build-aux/install-reloc: Update.
61495         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61496
61497 2007-06-08  Bruno Haible  <bruno@clisp.org>
61498
61499         Port to uClibc.
61500         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61501         * lib/fpurge.c (fpurge): Likewise.
61502         * lib/freading.c (freading): Likewise.
61503         * lib/fseeko.c (rpl_fseeko): Likewise.
61504         * lib/fseterr.c (fseterr): Likewise.
61505         * lib/fwriting.c (fwriting): Likewise.
61506         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61507
61508 2007-06-08  Bruno Haible  <bruno@clisp.org>
61509
61510         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61511         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61512         * modules/gettext (Files): Add m4/intlmacosx.m4.
61513
61514 2007-06-07  Bruno Haible  <bruno@clisp.org>
61515
61516         * modules/localename-tests: New file.
61517         * tests/test-localename.c: New file.
61518
61519         New module 'localename'.
61520         * lib/localename.h: New file.
61521         * lib/localename.c: New file, from GNU gettext.
61522         * m4/localename.m4: New file.
61523         * modules/localename: New file.
61524
61525 2007-06-07  Bruno Haible  <bruno@clisp.org>
61526
61527         Work around the lack of <wchar.h> on some builds of uClibc.
61528         * doc/headers/wchar.texi: Update.
61529         * lib/wchar_.h: Include <wchar.h> only if it exists.
61530         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61531         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61532         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61533         doesn't exist.
61534         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61535         * modules/mbfile (Depends-on): Add wchar.
61536         * modules/mbiter (Depends-on): Likewise.
61537         * modules/mbuiter (Depends-on): Likewise.
61538         Reported by Simon Josefsson.
61539
61540 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61541
61542         Work around problem reported by Steven M. Schweda in
61543         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61544         Tru64 5.1B with the Compaq compiler environment installed declares
61545         an 'isblank' function but does not define it in the C library.
61546         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61547         * lib/regex_internal.h (isblank): Likewise.
61548         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61549         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61550
61551 2007-06-05  Bruno Haible  <bruno@clisp.org>
61552
61553         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61554         ia64.
61555         * modules/printf-safe: New file.
61556         * modules/fprintf-posix (Depends-on): Add printf-safe.
61557         * modules/printf-posix (Depends-on): Likewise.
61558         * modules/snprintf-posix (Depends-on): Likewise.
61559         * modules/sprintf-posix (Depends-on): Likewise.
61560         * modules/vasnprintf-posix (Depends-on): Likewise.
61561         * modules/vasprintf-posix (Depends-on): Likewise.
61562         * modules/vfprintf-posix (Depends-on): Likewise.
61563         * modules/vprintf-posix (Depends-on): Likewise.
61564         * modules/vsnprintf-posix (Depends-on): Likewise.
61565         * modules/vsprintf-posix (Depends-on): Likewise.
61566         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61567         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61568         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61569         "no" on i386, x86_64, ia64.
61570         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61571         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61572         on i386, x86_64, ia64.
61573         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
61574         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61575         on i386, x86_64, ia64.
61576         * tests/test-vasnprintf-posix.c: Include float.h.
61577         (LDBL80_WORDS): New macro.
61578         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61579         on i386, x86_64, ia64.
61580         * tests/test-vasprintf-posix.c: Include float.h.
61581         (LDBL80_WORDS): New macro.
61582         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61583         on i386, x86_64, ia64.
61584         * tests/test-snprintf-posix.c: Include float.h.
61585         * tests/test-sprintf-posix.c: Likewise.
61586         * tests/test-vsnprintf-posix.c: Likewise.
61587         * tests/test-vsprintf-posix.c: Likewise.
61588
61589 2007-06-05  Bruno Haible  <bruno@clisp.org>
61590
61591         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61592         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61593         non-IEEE numbers on i386, x86_64, ia64.
61594         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61595         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61596         * tests/test-isnanl.h: Include float.h.
61597         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61598
61599 2007-06-05  Bruno Haible  <bruno@clisp.org>
61600
61601         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61602         also the %a / %A. Handle the %a / %A code before this extra handling.
61603
61604 2007-06-05  Bruno Haible  <bruno@clisp.org>
61605
61606         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61607         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61608
61609 2007-06-05  Bruno Haible  <bruno@clisp.org>
61610
61611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61612         typo in variable name.
61613
61614 2007-06-05  Eric Blake  <ebb9@byu.net>
61615
61616         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61617         Reported by Simon Josefsson.
61618
61619 2007-06-04  Bruno Haible  <bruno@clisp.org>
61620
61621         Avoid test failures on some PowerPC platforms.
61622         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61623         Define differently for PowerPC.
61624         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61625         Reported by Gary V. Vaughan <gary@gnu.org>.
61626
61627 2007-06-02  Bruno Haible  <bruno@clisp.org>
61628
61629         Fix test-stdint failure on FreeBSD/ia64.
61630         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61631         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61632         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61633         * doc/headers/stdint.texi: Update.
61634
61635 2007-06-01  Bruno Haible  <bruno@clisp.org>
61636
61637         * tests/test-binary-io.c (main): Pass a third argument to open().
61638         Reported by Gary V. Vaughan <gary@gnu.org>.
61639
61640 2007-06-01  Bruno Haible  <bruno@clisp.org>
61641
61642         * doc/functions/frexpl.texi: Update for mingw.
61643
61644 2007-06-01  Bruno Haible  <bruno@clisp.org>
61645
61646         * tests/test-lseek.c (main): Disable test of errno for invalid third
61647         argument.
61648         * doc/functions/lseek.texi: Update.
61649         Reported by Gary V. Vaughan <gary@gnu.org>.
61650
61651 2007-05-28  Bruno Haible  <bruno@clisp.org>
61652
61653         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61654
61655 2007-05-31  Eric Blake  <ebb9@byu.net>
61656
61657         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61658         cross compiling.
61659
61660 2007-05-30  Eric Blake  <ebb9@byu.net>
61661         and Bruno Haible  <bruno@clisp.org>
61662
61663         Work around mingw test failures exposed by m4-1.4.9b.
61664         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61665         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61666         moment.
61667
61668 2007-05-30  Bruno Haible  <bruno@clisp.org>
61669
61670         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61671         assuming that they are closed. Needed on HP-UX 11.
61672
61673 2007-05-29  Bruno Haible  <bruno@clisp.org>
61674
61675         Fix a problem with #include_next.
61676         * lib/dirent_.h: Split the double-inclusion guard.
61677         * lib/fcntl_.h: Likewise.
61678         * lib/float_.h: Likewise.
61679         * lib/iconv_.h: Likewise.
61680         * lib/inttypes_.h: Likewise.
61681         * lib/locale_.h: Likewise.
61682         * lib/math_.h: Likewise.
61683         * lib/netinet_in_.h: Likewise.
61684         * lib/search_.h: Likewise.
61685         * lib/signal_.h: Likewise.
61686         * lib/stdint_.h: Likewise.
61687         * lib/stdio_.h: Likewise.
61688         * lib/stdlib_.h: Likewise.
61689         * lib/string_.h: Likewise.
61690         * lib/sys_select_.h: Likewise.
61691         * lib/sys_socket_.h: Likewise.
61692         * lib/sys_stat_.h: Likewise.
61693         * lib/sys_time_.h: Likewise.
61694         * lib/sysexits_.h: Likewise.
61695         * lib/time_.h: Likewise.
61696         * lib/unistd_.h: Likewise.
61697         * lib/wchar_.h: Likewise.
61698         * lib/wctype_.h: Likewise.
61699
61700 2007-05-29  Bruno Haible  <bruno@clisp.org>
61701
61702         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61703         for the moment.
61704
61705 2007-05-29  Bruno Haible  <bruno@clisp.org>
61706
61707         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61708         invocation.
61709         Reported by Eric Blake.
61710
61711 2007-05-29  Bruno Haible  <bruno@clisp.org>
61712
61713         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61714         compiling case.
61715
61716 2007-05-29  Eric Blake  <ebb9@byu.net>
61717             Bruno Haible  <bruno@clisp.org>
61718
61719         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61720         cross compiles.
61721
61722 2007-05-28  Eric Blake  <ebb9@byu.net>
61723
61724         * modules/closein-tests (test_closein_LDADD): Support test on
61725         cygwin with libtool.
61726
61727 2007-05-28  Bruno Haible  <bruno@clisp.org>
61728
61729         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61730         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61731         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61732         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61733         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61734         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61735         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61736         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61737         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61738
61739 2007-05-28  Eric Blake  <ebb9@byu.net>
61740
61741         Unconditionally include <config.h> in unit tests.
61742         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61743         * tests/test-allocsa.c, tests/test-arcfour.c,
61744         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61745         tests/test-array_list.c, tests/test-array_oset.c,
61746         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61747         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61748         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61749         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61750         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61751         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61752         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61753         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61754         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61755         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61756         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61757         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61758         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61759         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61760         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61761         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61762         test-md5.c, test-memmem.c, test-printf-posix.c,
61763         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61764         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61765         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61766         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61767         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61768         test-vasnprintf-posix2.c, test-vasnprintf.c,
61769         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61770         test-vfprintf-posix.c, test-vprintf-posix.c,
61771         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61772         test-xvasprintf.c: Likewise.
61773
61774 2007-05-28  Bruno Haible  <bruno@clisp.org>
61775
61776         * gnulib-tool (func_import): Remember the --with-tests command-line
61777         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61778         Reported by Eric Blake.
61779
61780 2007-05-28  Bruno Haible  <bruno@clisp.org>
61781
61782         * modules/ftell-tests: New file.
61783         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61784         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61785
61786         * lib/ftell.c: New file.
61787         * modules/ftell: New file.
61788         * m4/ftell.m4: New file.
61789         * doc/functions/ftell.texi: Update.
61790         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61791         REPLACE_FTELL.
61792         * lib/stdio_.h (rpl_ftell): New declaration.
61793         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61794         REPLACE_FTELL.
61795
61796 2007-05-28  Eric Blake  <ebb9@byu.net>
61797
61798         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61799
61800 2007-05-28  Bruno Haible  <bruno@clisp.org>
61801
61802         * modules/fseek-tests: New file.
61803         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61804         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61805
61806         * lib/fseek.c: New file.
61807         * modules/fseek: New file.
61808         * m4/fseek.m4: New file.
61809         * doc/functions/fseek.texi: Update.
61810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61811         REPLACE_FSEEK.
61812         * lib/stdio_.h (rpl_fseek): New declaration.
61813         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61814         REPLACE_FSEEK.
61815
61816 2007-05-28  Bruno Haible  <bruno@clisp.org>
61817
61818         * lib/stdio_.h (fflush): More comments.
61819
61820 2007-05-28  Bruno Haible  <bruno@clisp.org>
61821
61822         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61823         runtime test.
61824
61825 2007-05-28  Eric Blake  <ebb9@byu.net>
61826
61827         Improve lseek module.
61828         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61829         * lib/unistd_.h (lseek): Scale back link warning message.
61830         * tests/test-lseek.c: Beef up test.
61831         * tests/test-lseek.sh: Exercise more facets of lseek.
61832         Reported by Bruno Haible.
61833
61834 2007-05-28  Bruno Haible  <bruno@clisp.org>
61835
61836         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61837         to define.
61838
61839 2007-05-27  Bruno Haible  <bruno@clisp.org>
61840
61841         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61842
61843 2007-05-27  Bruno Haible  <bruno@clisp.org>
61844
61845         * modules/openmp: New file.
61846         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61847         Noah Misch.
61848
61849 2007-05-26  Bruno Haible  <bruno@clisp.org>
61850
61851         * modules/chdir-long (Depends-on): Add fchdir.
61852         * modules/chdir-safer (Depends-on): Likewise.
61853         * modules/fts (Depends-on): Likewise.
61854         * modules/fts-lgpl (Depends-on): Likewise.
61855         * modules/openat (Depends-on): Likewise.
61856         * modules/savewd (Depends-on): Likewise.
61857
61858 2007-05-24  Eric Blake  <ebb9@byu.net>
61859
61860         Fix lseek on mingw.
61861         * modules/lseek: New module.
61862         * m4/lseek.m4: New file.
61863         * lib/lseek.c: New file.
61864         * modules/lseek-tests: New file.
61865         * tests/test-lseek.c: New file.
61866         * tests/test-lseek.sh: New file.
61867         * MODULES.html.sh: Document lseek module.
61868         * modules/fflush (Depends-on): Add lseek, fseeko.
61869         * modules/fseeko (Depends-on): Likewise.
61870         * modules/ftello (Depends-on): Likewise.
61871         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61872         broken.
61873         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61874         broken.
61875         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61876         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61877         * lib/ftello.c (rpl_ftello): Likewise.
61878         * tests/test-fseeko.c (main): Test this.
61879         * tests/test-fseeko.sh: Likewise.
61880         * tests/test-ftello.c (main): Likewise.
61881         * tests/test-ftello.sh: Likewise.
61882         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61883         implies replacing fseek.
61884         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61885         HAVE_FTELLO.
61886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61887         * modules/unistd (Makefile.am): Likewise.
61888         * lib/unistd_.h (lseek): Declare a replacement.
61889         * doc/functions/lseek.texi (lseek): Document this fix.
61890         * doc/functions/fseek.texi (fseek): Likewise.
61891         * doc/functions/ftell.texi (ftell): Likewise.
61892
61893 2007-05-24  Bruno Haible  <bruno@clisp.org>
61894
61895         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61896         in the printed representation of a NaN.
61897         * tests/test-vasprintf-posix.c (test_function): Likewise.
61898         * tests/test-snprintf-posix.h (test_function): Likewise.
61899         * tests/test-sprintf-posix.h (test_function): Likewise.
61900         Reported by Eric Blake.
61901
61902 2007-05-23  Eric Blake  <ebb9@byu.net>
61903
61904         Fix fseeko/ftello on cygwin 1.5.24.
61905         * doc/functions/fseeko.texi (fseeko): Document the fix.
61906         * doc/functions/ftello.texi (ftello): Document the fix.
61907         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61908         * doc/functions/stdout.text (stdout): New file.
61909         * doc/functions/stderr.text (stderr): New file.
61910         * doc/gnulib.texi (Function Substitutes): Use new files.
61911         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61912         prior to 1.7.0.
61913         * tests/test-ftello.c (main): Likewise for ftello.
61914         * tests/test-fseeko.sh: New file.
61915         * tests/test-ftello.sh: New file.
61916         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61917         with seekable stdin.
61918         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61919         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61920         (gl_REPLACE_FSEEKO): New macro.
61921         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61922         * modules/fseeko (Files): Distribute fseeko.c.
61923         * modules/ftello (Files): Distribute ftello.c.
61924         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61925         mode.
61926         * lib/ftello.c (rpl_ftello): New file.
61927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61928         fseeko, ftello.
61929         (gl_STDIN_LARGE_OFFSET): New macro.
61930         * modules/stdio (Makefile.am): Perform the replacement.
61931         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61932
61933 2007-05-23  Bruno Haible  <bruno@clisp.org>
61934
61935         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61936         GNULIB_POSIXCHECK is defined.
61937
61938 2007-05-21  Bruno Haible  <bruno@clisp.org>
61939
61940         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61941         Check also the output for NaN arguments. When cross-compiling, guess
61942         no on IRIX.
61943         * lib/vasnprintf.c: Update comments.
61944         * tests/test-vasnprintf-posix.c (strisnan): New function.
61945         (test_function): Use it.
61946         * tests/test-vasprintf-posix.c (strisnan): New function.
61947         (test_function): Use it.
61948         * tests/test-snprintf-posix.h (strisnan): New function.
61949         (test_function): Use it.
61950         * tests/test-sprintf-posix.h (strisnan): New function.
61951         (test_function): Use it.
61952         Reported by Eric Blake.
61953
61954 2007-05-20  Bruno Haible  <bruno@clisp.org>
61955
61956         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61957         numbers that fails on BeOS.
61958         * doc/functions/frexpl.texi: Update.
61959
61960 2007-05-20  Jim Meyering  <jim@meyering.net>
61961
61962         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61963         forced upon us by glibc-2.6.
61964
61965 2007-05-20  Bruno Haible  <bruno@clisp.org>
61966
61967         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61968         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61969         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61970         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61971         NEED_PRINTF_INFINITE.
61972         (is_infinitel): New function.
61973         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61974         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61975         gl_PREREQ_VASNPRINTF_INFINITE.
61976         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61977         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61978         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61979         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61980         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61981         gl_PREREQ_VASNPRINTF_INFINITE.
61982         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61983         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61984         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61985         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61986         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61987         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61988         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61989         * doc/functions/fprintf.texi: Update.
61990         * doc/functions/printf.texi: Update.
61991         * doc/functions/snprintf.texi: Update.
61992         * doc/functions/sprintf.texi: Update.
61993         * doc/functions/vfprintf.texi: Update.
61994         * doc/functions/vprintf.texi: Update.
61995         * doc/functions/vsnprintf.texi: Update.
61996         * doc/functions/vsprintf.texi: Update.
61997
61998 2007-05-20  Bruno Haible  <bruno@clisp.org>
61999
62000         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62001         was not found in libc.
62002         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62003
62004 2007-05-20  Bruno Haible  <bruno@clisp.org>
62005
62006         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62007         printed as "-nan" instead of "nan".
62008         * tests/test-vasprintf-posix.c (test_function): Likewise.
62009         * tests/test-snprintf-posix.h (test_function): Likewise.
62010         * tests/test-sprintf-posix.h (test_function): Likewise.
62011         Needed for HP-UX 11.
62012
62013 2007-05-20  Jim Meyering  <jim@meyering.net>
62014
62015         Fix buggy test for the fchownat-deref bug.
62016         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62017         symlink required for the run-test.  Without it, this test would
62018         always declare that fchownat doesn't work, and client code would
62019         unnecessarily use the replacement function with fixed libc.
62020         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62021         Reported by Greg Schafer.
62022
62023 2007-05-19  Bruno Haible  <bruno@clisp.org>
62024
62025         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62026         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62027         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62028         Needed for IRIX 6.5 and Solaris 2.5.1.
62029
62030 2007-05-19  Bruno Haible  <bruno@clisp.org>
62031
62032         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62033         (test_function): Skip tests involving -0.0 on platforms where
62034         -0.0 = 0.0.
62035         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62036         (test_function): Skip tests involving -0.0 on platforms where
62037         -0.0 = 0.0.
62038         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62039         (test_function): Skip tests involving -0.0 on platforms where
62040         -0.0 = 0.0.
62041         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62042         (test_function): Skip tests involving -0.0 on platforms where
62043         -0.0 = 0.0.
62044         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62045         tests.
62046         * tests/test-printf-posix.h (test_function): Likewise.
62047         * tests/test-printf-posix.output: Remove all -0.0 related results.
62048         Needed for IRIX 6.5.
62049
62050 2007-05-19  Bruno Haible  <bruno@clisp.org>
62051
62052         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62053         printed as "nan0x7fffffff" instead of "nan".
62054         * tests/test-vasprintf-posix.c (test_function): Likewise.
62055         * tests/test-snprintf-posix.h (test_function): Likewise.
62056         * tests/test-sprintf-posix.h (test_function): Likewise.
62057         * tests/test-fprintf-posix.h (NaN): Remove macro.
62058         (test_function): Remove all NaN related tests.
62059         * tests/test-printf-posix.h (NaN): Remove macro.
62060         (test_function): Remove all NaN related tests.
62061         * tests/test-printf-posix.output: Remove all NaN related results.
62062         Needed for IRIX 6.5.
62063
62064 2007-05-19  Bruno Haible  <bruno@clisp.org>
62065
62066         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62067         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62068
62069 2007-05-19  Bruno Haible  <bruno@clisp.org>
62070
62071         * lib/float_.h: New file.
62072         * m4/float_h.m4: New file.
62073         * modules/float: New file.
62074         * modules/isnanl (Dependencies): Add float.
62075         * modules/isnanl-nolibm (Dependencies): Likewise.
62076         * modules/mathl (Dependencies): Likewise.
62077         * modules/printf-frexpl (Dependencies): Likewise.
62078         * modules/signbit (Dependencies): Likewise.
62079         * modules/vasnprintf (Dependencies): Likewise.
62080         * doc/headers/float.texi: Update.
62081
62082 2007-05-19  Jim Meyering  <jim@meyering.net>
62083
62084         * lib/utimens.c (gl_futimens): Rename from futimens,
62085         now that glibc-2.6 declares futimens.
62086         * lib/utimens.h: Likewise.
62087
62088 2007-05-19  Bruno Haible  <bruno@clisp.org>
62089
62090         Avoid test failures on mingw.
62091         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62092         * tests/test-printf-posix.sh: Likewise.
62093         * tests/test-vfprintf-posix.sh: Likewise.
62094         * tests/test-vprintf-posix.sh: Likewise.
62095
62096 2007-05-19  Bruno Haible  <bruno@clisp.org>
62097
62098         Fix *printf result for NaN, Inf, -0.0 on mingw.
62099         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62100         * lib/vasnprintf.c: Include math.h and isnan.h.
62101         (is_infinite_or_zero): New function.
62102         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62103         values in the %f, %F, %e, %E, %g, %G directives.
62104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62105         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62106         gl_PRINTF_INFINITE and test its result. Invoke
62107         gl_PREREQ_VASNPRINTF_INFINITE.
62108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62112         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62113         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62114         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62115         * doc/functions/fprintf.texi: Update.
62116         * doc/functions/printf.texi: Update.
62117         * doc/functions/snprintf.texi: Update.
62118         * doc/functions/sprintf.texi: Update.
62119         * doc/functions/vfprintf.texi: Update.
62120         * doc/functions/vprintf.texi: Update.
62121         * doc/functions/vsnprintf.texi: Update.
62122         * doc/functions/vsprintf.texi: Update.
62123
62124 2007-05-19  Bruno Haible  <bruno@clisp.org>
62125
62126         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62127         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62128         Instead of multiplying with 10^k, set extra_zeroes to k.
62129         (scale10_round_long_double): Remove function.
62130
62131 2007-05-18  Bruno Haible  <bruno@clisp.org>
62132
62133         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62134         introduced on 2007-05-06.
62135
62136 2007-05-18  Bruno Haible  <bruno@clisp.org>
62137
62138         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62139         %g directives.
62140         * tests/test-vasprintf-posix.c (test_function): Likewise.
62141         * tests/test-snprintf-posix.h (test_function): Likewise.
62142         * tests/test-sprintf-posix.h (test_function): Likewise.
62143
62144 2007-05-18  Bruno Haible  <bruno@clisp.org>
62145
62146         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62147         (strmatch): New function.
62148         (test_function): Test the %f directive on numbers of various exponents.
62149         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62150         (strmatch): New function.
62151         (test_function): Test the %f directive on numbers of various exponents.
62152         * tests/test-snprintf-posix.h (strmatch): New function.
62153         (test_function): Test the %f directive on numbers of various exponents.
62154         * tests/test-sprintf-posix.h (strmatch): New function.
62155         (test_function): Test the %f directive on numbers of various exponents.
62156         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62157         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62158         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62159         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62160
62161 2007-05-18  Bruno Haible  <bruno@clisp.org>
62162
62163         Add support for 'long double' number output.
62164         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62165         * lib/vasnprintf.c: Include math.h and float+.h.
62166         (mp_limb_t): New type.
62167         (GMP_LIMB_BITS): New macro.
62168         (mp_twolimb_t): New type.
62169         (GMP_TWOLIMB_BITS): New macro.
62170         (mpn_t): New type.
62171         (multiply, divide, convert_to_decimal, decode_long_double,
62172         scale10_round_long_double, scale10_round_decimal_long_double,
62173         floorlog10l): New functions.
62174         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62175         for the %f, %F, %e, %E, %g, %G directives.
62176         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62177         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62178         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62179         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62180         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62184         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62185         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62186         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62187         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62188         * modules/snprintf-posix (Depends-on): Likewise.
62189         * modules/sprintf-posix (Depends-on): Likewise.
62190         * modules/vasnprintf-posix (Depends-on): Likewise.
62191         * modules/vasprintf-posix (Depends-on): Likewise.
62192         * modules/vfprintf-posix (Depends-on): Likewise.
62193         * modules/vsnprintf-posix (Depends-on): Likewise.
62194         * modules/vsprintf-posix (Depends-on): Likewise.
62195         * modules/vasnprintf (Files): Add lib/float+.h.
62196         * doc/functions/fprintf.texi: Update.
62197         * doc/functions/printf.texi: Update.
62198         * doc/functions/snprintf.texi: Update.
62199         * doc/functions/sprintf.texi: Update.
62200         * doc/functions/vfprintf.texi: Update.
62201         * doc/functions/vprintf.texi: Update.
62202         * doc/functions/vsnprintf.texi: Update.
62203         * doc/functions/vsprintf.texi: Update.
62204
62205 2007-05-18  Bruno Haible  <bruno@clisp.org>
62206
62207         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
62208
62209 2007-05-18  Bruno Haible  <bruno@clisp.org>
62210
62211         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
62212         for printing 64-bit integers. Needed for mingw.
62213
62214 2007-05-18  Bruno Haible  <bruno@clisp.org>
62215
62216         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62217         gl_FUNC_FREXPL_WORKS.
62218         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
62219
62220 2007-05-18  Bruno Haible  <bruno@clisp.org>
62221
62222         * modules/frexpl-nolibm-tests: New file.
62223
62224         * modules/frexpl-nolibm: New file.
62225         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
62226
62227 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
62228
62229         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
62230         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62231         GCC 4.2, which otherwise issues a lot of warnings.
62232         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
62233         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
62234         Likewise.
62235         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
62236         * modules/iconv_open (iconv.h): Likewise.
62237         * modules/locale (locale.h): Likewise.
62238         * modules/netinet_in (netinet/in.h): Likewise.
62239         * modules/sys_select (sys_select.h): Likewise.
62240         * modules/sys_socket (sys/socket.h): Likewise.
62241         * modules/sys_stat (sys/stat.h): Likewise.
62242         * modules/sysexits (sysexits.h): Likewise.
62243         * modules/unistd (unistd.h): Likewise.
62244
62245 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62246
62247         * modules/closein-tests (Makefile.am): Distribute
62248         `test-closein.sh'.
62249
62250 2007-05-17  Bruno Haible  <bruno@clisp.org>
62251
62252         * tests/test-printf-posix.output: Renamed from
62253         tests/test-fprintf-posix.out.
62254         * modules/fprintf-posix-tests: Update.
62255         * modules/printf-posix-tests: Update.
62256         * modules/vfprintf-posix-tests: Update.
62257         * modules/vprintf-posix-tests: Update.
62258         * tests/test-fprintf-posix.sh: Update.
62259         * tests/test-printf-posix.sh: Update.
62260         * tests/test-vfprintf-posix.sh: Update.
62261         * tests/test-vprintf-posix.sh: Update.
62262         Reported by Ralf Wildenhues.
62263
62264 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
62265
62266         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
62267         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62268         GCC 4.2, which otherwise issues a lot of warnings.
62269         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
62270         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
62271         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
62272         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
62273         it should no longer be needed.
62274         * lib/string_.h: Likewise.
62275         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
62276         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
62277         * modules/inttypes (inttypes.h): Likewise.
62278         * modules/math (math.h): Likewise.
62279         * modules/search (search.h): Likewise.
62280         * modules/signal (signal.h): Likewise.
62281         * modules/stdint (stdint.h): Likewise.
62282         * modules/stdio (stdio.h): Likewise.
62283         * modules/stdlib (stdlib.h): Likewise.
62284         * modules/string (string.h): Likewise.
62285         * modules/sys_time (sys/time.h): Likewise.
62286         * modules/time (time.h): Likewise.
62287         * modules/wchar (wchar.h): Likewise.
62288         * modules/wctype (wtype.h): Likewise.
62289
62290 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62291
62292         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
62293
62294 2007-05-13  Bruno Haible  <bruno@clisp.org>
62295
62296         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
62297         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62298         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
62299         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62300         (gl_PREREQ_STRTOK_R): Don't require it here.
62301
62302 2007-05-13  Bruno Haible  <bruno@clisp.org>
62303
62304         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
62305         when used in C++ mode.
62306
62307 2007-05-12  Bruno Haible  <bruno@clisp.org>
62308
62309         * lib/linebuffer.h: Tweak doc.
62310         * lib/linebuffer.c: Likewise.
62311
62312 2007-05-12  James Youngman  <jay@gnu.org>
62313
62314         * lib/linebuffer.c (readlinebuffer_delim): New function,
62315         like readlinebuffer, but use a caller-specified delimiter.
62316         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62317         as the delimiter.
62318         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62319
62320 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62321
62322         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62323         * modules/openat (Files): Remove openat-die.c.
62324         (Depends-on): Add openat-die.
62325         * modules/openat-die: New module.
62326
62327 2007-05-06  Bruno Haible  <bruno@clisp.org>
62328
62329         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62330         Update with info about Cygwin.
62331         * doc/functions/fprintf.texi: Update.
62332         * doc/functions/printf.texi: Update.
62333         * doc/functions/snprintf.texi: Update.
62334         * doc/functions/sprintf.texi: Update.
62335         * doc/functions/vfprintf.texi: Update.
62336         * doc/functions/vprintf.texi: Update.
62337         * doc/functions/vsnprintf.texi: Update.
62338         * doc/functions/vsprintf.texi: Update.
62339         Reported by Eric Blake.
62340
62341 2007-05-06  Bruno Haible  <bruno@clisp.org>
62342
62343         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62344         padding ourselves for the floating-point directives.
62345         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62347         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62348         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62349         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62350         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62351         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62352         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62353         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62354         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62355         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62356         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62357         * tests/test-snprintf-posix.h (test_function): Also check the width
62358         and some flags in the %f directive.
62359         * tests/test-sprintf-posix.h (test_function): Likewise.
62360         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62361         * tests/test-vasprintf-posix.c (test_function): Likewise.
62362         * doc/functions/fprintf.texi: Update.
62363         * doc/functions/printf.texi: Update.
62364         * doc/functions/snprintf.texi: Update.
62365         * doc/functions/sprintf.texi: Update.
62366         * doc/functions/vfprintf.texi: Update.
62367         * doc/functions/vprintf.texi: Update.
62368         * doc/functions/vsnprintf.texi: Update.
62369         * doc/functions/vsprintf.texi: Update.
62370
62371 2007-05-06  Bruno Haible  <bruno@clisp.org>
62372
62373         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
62374         pass the ' flag character to sprintf or snprintf.
62375         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
62376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
62377         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62378         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62379         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62380         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62381         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62382         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62383         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62386         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62387         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62388         flag.
62389         * tests/test-sprintf-posix.h (test_function): Likewise.
62390         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62391         * tests/test-vasprintf-posix.c (test_function): Likewise.
62392         * doc/functions/fprintf.texi: Update.
62393         * doc/functions/printf.texi: Update.
62394         * doc/functions/snprintf.texi: Update.
62395         * doc/functions/sprintf.texi: Update.
62396         * doc/functions/vfprintf.texi: Update.
62397         * doc/functions/vprintf.texi: Update.
62398         * doc/functions/vsnprintf.texi: Update.
62399         * doc/functions/vsprintf.texi: Update.
62400
62401 2007-05-01  Bruno Haible  <bruno@clisp.org>
62402
62403         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62404
62405 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62406
62407         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62408         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62409
62410 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62411
62412         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
62413         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
62414         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
62415
62416 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
62417
62418         * lib/argp-help.c (struct hol_entry): New member `ord'.
62419         (HOL_ENTRY_PTRCMP): Use ord for comparison
62420         (hol_sort): Initialize ord.
62421
62422 2007-05-01  Bruno Haible  <bruno@clisp.org>
62423
62424         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
62425         Reported by Eric Blake.
62426         * doc/gnulib.texi (Function Substitutes): Update.
62427
62428 2007-05-01  Bruno Haible  <bruno@clisp.org>
62429
62430         * doc/functions.texi: Remove file, now redundant through
62431         doc/functions/*.texi.
62432
62433 2007-05-01  Bruno Haible  <bruno@clisp.org>
62434
62435         * modules/argp (Depends-on): Add sleep.
62436
62437 2007-05-01  Bruno Haible  <bruno@clisp.org>
62438
62439         * modules/sleep-tests: New file.
62440         * tests/test-sleep.c: New file.
62441
62442         * modules/sleep: New file.
62443         * lib/sleep.c: New file.
62444         * m4/sleep.m4: New file.
62445         * lib/unistd_.h (sleep): New declaration.
62446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
62447         HAVE_SLEEP.
62448         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
62449         * doc/functions/sleep.texi: Document the sleep module.
62450
62451 2007-05-01  Bruno Haible  <bruno@clisp.org>
62452
62453         * lib/sigprocmask.h: Remove file.
62454         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
62455         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
62456         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
62457         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
62458         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
62459         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
62460         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
62461         HAVE_SIGSET_T as a shell variable.
62462         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
62463         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
62464         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
62465         (Depends-on): Add signal. Remove verify.
62466         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
62467         (Include): Mention <signal.h> instead of sigprocmask.h.
62468         * NEWS: Mention the change.
62469         * lib/fatal-signal.c: Don't include sigprocmask.h.
62470
62471 2007-05-01  Bruno Haible  <bruno@clisp.org>
62472
62473         * modules/signal: New file.
62474         * lib/signal_.h: New file.
62475         * m4/signal_h.m4: New file.
62476
62477 2007-05-01  Bruno Haible  <bruno@clisp.org>
62478
62479         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
62480         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
62481         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62482         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62483
62484 2007-05-01  Bruno Haible  <bruno@clisp.org>
62485
62486         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62487         configure time.
62488         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62489         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62490         * modules/sys_stat (Makefile.am): Substitute their values into
62491         sys/stat.h.
62492
62493 2007-05-01  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62496         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62497         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62498
62499 2007-05-01  Bruno Haible  <bruno@clisp.org>
62500
62501         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62502         'assert' module here.
62503
62504 2007-05-01  Bruno Haible  <bruno@clisp.org>
62505
62506         * doc/functions/*.texi: New files.
62507         * doc/functions/google-ranking.txt: New file.
62508         * doc/gnulib.texi (Function Substitutes): New chapter.
62509         (ctime, inet_ntoa): Remove sections.
62510         * doc/ctime.texi: Remove file.
62511         * doc/inet_ntoa.texi: Remove file.
62512         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62513         dependencies.
62514         (%.info): New rule, specifying a --reference-limit.
62515
62516 2007-05-01  Bruno Haible  <bruno@clisp.org>
62517
62518         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62519
62520 2007-05-01  Bruno Haible  <bruno@clisp.org>
62521
62522         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62523         the portability of 'mkdir' to mingw systems.
62524
62525 2007-05-01  Bruno Haible  <bruno@clisp.org>
62526
62527         * doc/headers/google-ranking.txt: New file.
62528
62529 2007-04-30  Eric Blake  <ebb9@byu.net>
62530
62531         Prefer fseeko to fseek.
62532         * modules/getpass (Depends-on): Add fseeko.
62533         * lib/getpass.c (getpass): Use fseeko, not fseek.
62534
62535 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62536
62537         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62538         assumes the sorting is stable, while most qsort implementations
62539         are not.  Use argument addresses to ensure they never compare as
62540         equal.
62541
62542         * tests/test-argp-2.sh (usage-indent test): Fix output
62543         (func_compare): Restore diff options
62544         * tests/test-argp.c: Restore #include "progname.h"
62545
62546 2007-04-29  Bruno Haible  <bruno@clisp.org>
62547
62548         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62549         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62550         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62551         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62552         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62553         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62554         (TESTS, check_PROGRAMS): Add test-snprintf.
62555         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62556         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62557         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62558         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62559         assertions that fail on HP-UX, OSF/1, or IRIX.
62560         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62561
62562 2007-04-29  Bruno Haible  <bruno@clisp.org>
62563
62564         * MODULES.html.sh (posix_functions): Remove 'contents'.
62565
62566 2007-04-29  Karl Berry  <karl@gnu.org>
62567
62568         * config/srclist.txt (gendocs_template_min): new entry.
62569
62570 2007-04-29  Bruno Haible  <bruno@clisp.org>
62571
62572         Work around fpurge bug on BSD systems.
62573         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62574         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62575         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62576         fpurge to rpl_fpurge if the system already has this function.
62577         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62578         the case where the system already has this function. Correct invariants
62579         on BSD systems.
62580         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62581         BSD systems.
62582
62583 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62584
62585         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62586         proposed by Sven Verdoolaege.
62587
62588         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62589         options.
62590         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62591         (usage and help tests): Update
62592
62593 2007-04-29  Bruno Haible  <bruno@clisp.org>
62594
62595         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62596         Print more information in case of failure. Disable a test on BeOS.
62597
62598 2007-04-29  Bruno Haible  <bruno@clisp.org>
62599
62600         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62601         This helps debugging on systems on which no gdb is available.
62602
62603 2007-04-29  Bruno Haible  <bruno@clisp.org>
62604
62605         * lib/freading.h: Improve comments.
62606         * lib/fwriting.h: Likewise.
62607         * tests/test-freading.c (main): Don't check freading immediately after
62608         repositioning. Needed for glibc.
62609
62610 2007-04-29  Bruno Haible  <bruno@clisp.org>
62611
62612         * lib/freading.c (freading): Trivial simplification.
62613
62614 2007-04-28  Bruno Haible  <bruno@clisp.org>
62615
62616         * tests/test-fwriting.c (main): Also test the interaction between
62617         fflush and fwriting.
62618         * modules/fwriting-tests (Depends-on): Add fflush.
62619
62620         * tests/test-freading.c (main): Also test the interaction between
62621         fflush and freading.
62622         * modules/freading-tests (Depends-on): Add fflush.
62623
62624 2007-04-28  Bruno Haible  <bruno@clisp.org>
62625
62626         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62627         fseeko and ftello.
62628         Suggested by Eric Blake.
62629
62630 2007-04-28  Jim Meyering  <jim@meyering.net>
62631
62632         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62633         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62634         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62635
62636 2007-04-27  Eric Blake  <ebb9@byu.net>
62637
62638         * doc/headers/assert.texi (assert.h): Document assert module use.
62639
62640 2007-04-27  Bruno Haible  <bruno@clisp.org>
62641
62642         * doc/headers/*.texi: New files.
62643         * doc/gnulib.texi (Header File Substitutes): New chapter.
62644         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62645         dependencies.
62646         (standards.info ,standards.html, standards.dvi): Update dependencies.
62647         (mostlyclean, clean): New targets.
62648
62649 2007-04-27  Bruno Haible  <bruno@clisp.org>
62650
62651         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62652         * modules/sysexits (Files, Makefile.am): Update.
62653
62654         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62655         * modules/sys_socket (Files, Makefile.am): Update.
62656
62657         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62658         * modules/sys_stat (Files, Makefile.am): Update.
62659
62660 2007-04-27  Eric Blake  <ebb9@byu.net>
62661
62662         * lib/freading.h: Improve comments.
62663         * lib/fwriting.h: Likewise.
62664         * lib/fflush.c: Likewise.
62665
62666         Fix closein for mingw.
62667         * modules/closein-tests: Add tests for closein.
62668         * tests/test-closein.c: New file.
62669         * tests/test-closein.sh: Likewise.
62670         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62671         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62672
62673 2007-04-27  Bruno Haible  <bruno@clisp.org>
62674
62675         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62676         version is < 6.
62677         * lib/math_.h [__DECC]: Likewise.
62678         * lib/stdio_.h [__DECC]: Likewise.
62679         * lib/stdlib_.h [__DECC]: Likewise.
62680         * lib/string_.h [__DECC]: Likewise.
62681         * lib/time_.h [__DECC]: Likewise.
62682         * lib/wchar_.h [__DECC]: Likewise.
62683         * lib/wctype_.h [__DECC]: Likewise.
62684
62685 2007-04-27  Bruno Haible  <bruno@clisp.org>
62686
62687         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62688
62689 2007-04-27  Bruno Haible  <bruno@clisp.org>
62690
62691         * lib/fflush.c: Add comments.
62692         * modules/fpurge-tests (Depends-on): Add fflush.
62693         * modules/freadable-tests (Depends-on): Likewise.
62694         * modules/fwritable-tests (Depends-on): Likewise.
62695
62696 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62697
62698         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62699         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62700         Report by Bruno Haible <bruno@clisp.org>.
62701
62702 2007-04-26  Eric Blake  <ebb9@byu.net>
62703
62704         Fix fflush on mingw.
62705         * modules/fflush (Depends-on): Add freading.
62706         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62707         but unread data.
62708
62709 2007-04-26  Eric Blake  <ebb9@byu.net>
62710         and Bruno Haible  <bruno@clisp.org>
62711
62712         Implement freading and fwriting.
62713         * lib/freading.c: New file.
62714         * lib/freading.h: Likewise.
62715         * m4/freading.m4: Likewise.
62716         * modules/freading: Likewise.
62717         * modules/freading-tests: Likewise.
62718         * tests/test-freading.c: Likewise.
62719         * lib/fwriting.c: New file.
62720         * lib/fwriting.h: Likewise.
62721         * m4/fwriting.m4: Likewise.
62722         * modules/fwriting: Likewise.
62723         * modules/fwriting-tests: Likewise.
62724         * tests/test-fwriting.c: Likewise.
62725         * MODULES.html.sh (File stream based Input/Output): Mention them.
62726
62727 2007-04-26  Bruno Haible  <bruno@clisp.org>
62728
62729         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62730         'long' when we assume it.
62731         Suggested by Eric Blake.
62732
62733 2007-04-26  Bruno Haible  <bruno@clisp.org>
62734
62735         Ensure fseeko, ftello are declared on glibc systems.
62736         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62737         * modules/fseeko (configure.ac-early): Likewise.
62738         * modules/ftello (configure.ac-early): Likewise.
62739         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62740         AC_FUNC_FSEEKO for this.
62741         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62742         (gl_CHECK_FSEEKO): Remove macro.
62743
62744 2007-04-26  Bruno Haible  <bruno@clisp.org>
62745
62746         * tests/test-fflush.c (main): Also check the ftell result after
62747         fflush and fseek/fseeko.
62748         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62749         file descriptor position cache in the stream.
62750         * lib/fseeko.c (rpl_fseeko): Likewise.
62751
62752 2007-04-26  Bruno Haible  <bruno@clisp.org>
62753
62754         * modules/fflush-tests (Depends-on): Add fseeko.
62755
62756 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62757             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62758
62759         * lib/argz_.h: ensure error_t definition is obtained in same
62760         mechanism system argz.h would have.
62761         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62762         argz facilities are known bad.  Err on the side of caution if
62763         cross-compiling.
62764
62765 2007-04-25  Eric Blake  <ebb9@byu.net>
62766
62767         * lib/fpurge.c (includes): Use stdlib.h for free.
62768         * tests/test-fflush.c (main): Also test fflush-fseeko.
62769
62770 2007-04-25  Bruno Haible  <bruno@clisp.org>
62771
62772         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62773         * lib/fseeko.c: New file.
62774         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62775         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62776         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62777         gl_FUNC_FSEEKO.
62778         (gl_FUNC_FSEEKO): Invoke it.
62779         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62780         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62781         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62782
62783 2007-04-25  Bruno Haible  <bruno@clisp.org>
62784
62785         * modules/fflush (Depends-on): Add ftello.
62786
62787 2007-04-25  Bruno Haible  <bruno@clisp.org>
62788
62789         * modules/ftello-tests: New file.
62790         * tests/test-ftello.c: New file.
62791
62792         * modules/ftello: New file.
62793         * m4/ftello.m4: New file.
62794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62795         HAVE_FTELLO.
62796         * lib/stdio_.h (ftello): New declaration.
62797         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62798         HAVE_FTELLO.
62799
62800 2007-04-25  Bruno Haible  <bruno@clisp.org>
62801
62802         * modules/fseeko-tests: New file.
62803         * tests/test-fseeko.c: New file.
62804
62805         * modules/fseeko: New file.
62806         * m4/fseeko.m4: New file.
62807         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62808         HAVE_FSEEKO.
62809         * lib/stdio_.h (fseeko): New declaration.
62810         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62811         HAVE_FSEEKO.
62812
62813 2007-04-25  Bruno Haible  <bruno@clisp.org>
62814
62815         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62816
62817 2007-04-25  Bruno Haible  <bruno@clisp.org>
62818
62819         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62820         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62821         * tests/test-unistd.c: Likewise.
62822         * tests/test-fcntl.c: Likewise.
62823
62824 2007-04-23  Eric Blake  <ebb9@byu.net>
62825
62826         * lib/fflush.c: Fix missing include.
62827         Reported by Bruno Haible.
62828
62829 2007-04-23  Bruno Haible  <bruno@clisp.org>
62830
62831         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62832         Reported by Eric Blake.
62833
62834 2007-04-23  Bruno Haible  <bruno@clisp.org>
62835
62836         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62837
62838 2007-04-23  Bruno Haible  <bruno@clisp.org>
62839
62840         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62841
62842 2007-04-23  Bruno Haible  <bruno@clisp.org>
62843
62844         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62845         Needed on HP-UX 11.
62846
62847 2007-04-16  Eric Blake  <ebb9@byu.net>
62848
62849         Make fflush rely on fpurge.
62850         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62851         open coding all variants.
62852         * modules/fflush (Depends-on): Add fpurge and unistd.
62853         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62854         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62855
62856         Fix --with-tests compilation on cygwin.
62857         * modules/argmatch-tests (Makefile.am): List gnulib library first
62858         in LDADD.
62859         * modules/argp-tests (Makefile.am): Likewise.
62860         * modules/array-list-tests (Makefile.am): Likewise.
62861         * modules/array-oset-tests (Makefile.am): Likewise.
62862         * modules/avltree-list-tests (Makefile.am): Likewise.
62863         * modules/avltree-oset-tests (Makefile.am): Likewise.
62864         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62865         * modules/carray-list-tests (Makefile.am): Likewise.
62866         * modules/dirname-tests (Makefile.am): Likewise.
62867         * modules/frexp-tests (Makefile.am): Likewise.
62868         * modules/isnanl-tests (Makefile.am): Likewise.
62869         * modules/linked-list-tests (Makefile.am): Likewise.
62870         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62871         * modules/lock-tests (Makefile.am): Likewise.
62872         * modules/rbtree-list-tests (Makefile.am): Likewise.
62873         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62874         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62875         * modules/tls-tests (Makefile.am): Likewise.
62876         * modules/tsearch-tests (Makefile.am): Likewise.
62877         * modules/xvasprintf-tests (Makefile.am): Likewise.
62878
62879         Fix fpurge for cygwin.
62880         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62881         value.
62882         * modules/fpurge-tests (Depends-on): Clean up trash.
62883
62884 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62885
62886         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62887
62888         * m4/autobuild.m4: Re-indent.
62889
62890 2007-04-13  Bruno Haible  <bruno@clisp.org>
62891
62892         * modules/fpurge-tests: New file.
62893         * tests/test-fpurge.c: New file.
62894
62895         * modules/fpurge: New file.
62896         * lib/fpurge.h: New file.
62897         * lib/fpurge.c: New file.
62898         * m4/fpurge.m4: New file.
62899
62900 2007-04-13  Bruno Haible  <bruno@clisp.org>
62901
62902         * modules/fbufmode-tests: New file.
62903         * tests/test-fbufmode.c: New file.
62904
62905         * modules/fbufmode: New file.
62906         * lib/fbufmode.h: New file.
62907         * lib/fbufmode.c: New file.
62908         * m4/fbufmode.m4: New file.
62909
62910 2007-04-13  Bruno Haible  <bruno@clisp.org>
62911
62912         * modules/fwritable-tests: New file.
62913         * tests/test-fwritable.c: New file.
62914
62915         * modules/fwritable: New file.
62916         * lib/fwritable.h: New file.
62917         * lib/fwritable.c: New file.
62918         * m4/fwritable.m4: New file.
62919
62920 2007-04-13  Bruno Haible  <bruno@clisp.org>
62921
62922         * modules/freadable-tests: New file.
62923         * tests/test-freadable.c: New file.
62924
62925         * modules/freadable: New file.
62926         * lib/freadable.h: New file.
62927         * lib/freadable.c: New file.
62928         * m4/freadable.m4: New file.
62929
62930 2007-04-13  Bruno Haible  <bruno@clisp.org>
62931
62932         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62933         MOSTLYCLEANFILES.
62934
62935 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62936
62937         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62938         gzip bootstrap.conf to avoid dragging in i18n machinery.
62939         (gnulib_tool_option): Use it.
62940
62941 2007-04-13  Bruno Haible  <bruno@clisp.org>
62942
62943         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62944         %F directives.
62945         * tests/test-vasprintf-posix.c (test_function): Likewise.
62946         * tests/test-snprintf-posix.h (test_function): Likewise.
62947         * tests/test-sprintf-posix.h (test_function): Likewise.
62948         * tests/test-fprintf-posix.h (test_function): Likewise.
62949         * tests/test-printf-posix.h (test_function): Likewise.
62950         * tests/test-fprintf-posix.out: Likewise.
62951
62952 2007-04-13  Bruno Haible  <bruno@clisp.org>
62953
62954         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62955         * modules/tls-tests (configure.ac): Likewise.
62956         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62957
62958 2007-04-13  Bruno Haible  <bruno@clisp.org>
62959
62960         * lib/tls.c (glthread_tls_get): Fix return type.
62961         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62962
62963 2007-04-12  Eric Blake  <ebb9@byu.net>
62964
62965         * modules/gettime (Depends-on): Remove gettime.
62966         Reported by Dmitry V. Levin.
62967
62968 2007-04-12  Bruno Haible  <bruno@clisp.org>
62969
62970         * modules/fflush (Include): Mention <stdio.h>.
62971         * modules/strtoimax (Include): Mention <inttypes.h>.
62972         * modules/strtoumax (Include): Likewise.
62973
62974 2007-04-12  Eric Blake  <ebb9@byu.net>
62975
62976         * .cvsignore: New file.
62977         * .gitignore: Likewise.
62978
62979 2007-04-12  Bruno Haible  <bruno@clisp.org>
62980
62981         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62982         not before, since $(LDADD) often contains libgnu.a.
62983         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62984         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62985         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62986         Needed on Cygwin.
62987
62988 2007-04-12  Eric Blake  <ebb9@byu.net>
62989
62990         Work around glibc's failure to flush stdin on fclose.
62991         * lib/closein.c (close_stdin): Flush stdin before closing.
62992
62993         Work around glibc's failure to reset seekable stdin on exit.
62994         * modules/closein: New module.
62995         * lib/closein.c: New file.
62996         * lib/closein.h: Likewise.
62997         * m4/closein.m4: Likewise.
62998         * MODULES.html.sh (File stream based Input/Output): Document it.
62999
63000 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63001
63002         * gnulib-tool: Rename generated 'autobuild' script to
63003         'do-autobuild' in --create-megatestdir output.
63004
63005         * doc/gnulib.texi (Build robot for gnulib): Fix.
63006
63007 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63008
63009         * modules/sysexits (Depends-on): Add absolute-header.
63010
63011 2007-04-12  Eric Blake  <ebb9@byu.net>
63012
63013         No need to preserve errno on success.
63014         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63015         Reported by Bruno Haible.
63016
63017 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63018
63019         * MODULES.html.sh (Support for maintaining and releasing
63020         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63021
63022 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63023
63024         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63025
63026 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63027
63028         * modules/autobuild: New module.
63029
63030         * m4/autobuild.m4: New file.
63031
63032 2007-04-11  Bruno Haible  <bruno@clisp.org>
63033
63034         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63035         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63036         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63038         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63039         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63040         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63041         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63042         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63043         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63044         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63045         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63046         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63047         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63048         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63049         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63051         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63052         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63053         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63054         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63055         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63056         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63057         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63058         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63060         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63061         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63062         Reported by Eric Blake.
63063
63064 2007-04-11  Bruno Haible  <bruno@clisp.org>
63065
63066         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63067
63068 2007-04-10  Bruno Haible  <bruno@clisp.org>
63069
63070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63071         for NaN and Infinity. Needed on FreeBSD 6.1.
63072         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63073         regarding results for "%010a" of Infinity and NaN.
63074         * tests/test-vasprintf-posix.c (test_function): Likewise.
63075         * tests/test-snprintf-posix.h (test_function): Likewise.
63076         * tests/test-sprintf-posix.h (test_function): Likewise.
63077         * tests/test-fprintf-posix.h (test_function): Likewise.
63078         * tests/test-printf-posix.h (test_function): Likewise.
63079         * tests/test-fprintf-posix.out: Likewise.
63080
63081 2007-04-10  Bruno Haible  <bruno@clisp.org>
63082
63083         * modules/locale-tests: New file.
63084         * tests/test-locale.c: New file.
63085
63086         * modules/locale: New file.
63087         * lib/locale_.h: New file.
63088         * m4/locale_h.m4: New file.
63089
63090 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63091             Bruno Haible  <bruno@clisp.org>
63092
63093         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63094         be determined, test for availability of the copysignf, copysign,
63095         copysignl functions.
63096         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63097         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63098         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63099
63100 2007-04-09  Eric Blake  <ebb9@byu.net>
63101
63102         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63103         * modules/stdio (Makefile.am): Support fflush.
63104         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63105         * modules/fflush: New file.
63106         * lib/fflush.c: Likewise.
63107         * m4/fflush.m4: Likewise.
63108         * modules/fflush-tests: New test.
63109         * tests/test-fflush.c: Likewise.
63110         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63111
63112 2007-04-06  Bruno Haible  <bruno@clisp.org>
63113
63114         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63115         (VASNPRINTF): Use signbit for faster determination whether to print a
63116         minus sign.
63117         * modules/vasnprintf (Files): Remove lib/float+.h.
63118         * modules/fprintf-posix (Depends-on): Add signbit.
63119         * modules/snprintf-posix (Depends-on): Likewise.
63120         * modules/sprintf-posix (Depends-on): Likewise.
63121         * modules/vasnprintf-posix (Depends-on): Likewise.
63122         * modules/vasprintf-posix (Depends-on): Likewise.
63123         * modules/vfprintf-posix (Depends-on): Likewise.
63124         * modules/vsnprintf-posix (Depends-on): Likewise.
63125         * modules/vsprintf-posix (Depends-on): Likewise.
63126
63127 2007-04-06  Bruno Haible  <bruno@clisp.org>
63128
63129         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63130         * tests/test-frexpl.c (main): Likewise.
63131         * tests/test-ldexpl.c (main): Likewise.
63132         * modules/frexp-tests (Depends-on): Add signbit.
63133         * modules/frexpl-tests (Depdends-on): Likewise.
63134         * modules/ldexpl-tests (Depdends-on): Likewise.
63135
63136 2007-04-06  Bruno Haible  <bruno@clisp.org>
63137
63138         * modules/signbit-tests: New file.
63139         * tests/test-signbit.c: New file.
63140
63141         * modules/signbit: New file.
63142         * lib/signbitf.c: New file.
63143         * lib/signbitd.c: New file.
63144         * lib/signbitl.c: New file.
63145         * m4/signbit.m4: New file.
63146         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63147         (signbit): New macro.
63148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63149         REPLACE_SIGNBIT.
63150         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63151         REPLACE_FREXPL into math.h.
63152
63153 2007-04-06  Bruno Haible  <bruno@clisp.org>
63154
63155         * modules/isnanf-nolibm-tests: New file.
63156         * tests/test-isnanf.c: New file.
63157
63158         * modules/isnanf-nolibm: New file.
63159         * lib/isnanf.h: New file.
63160         * lib/isnanf.c: New file.
63161         * lib/isnan.c: Consider the USE_FLOAT macro.
63162         * m4/isnanf.m4: New file.
63163
63164 2007-04-06  Bruno Haible  <bruno@clisp.org>
63165
63166         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63167         (Link): New section.
63168
63169         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63170
63171 2007-04-06  Bruno Haible  <bruno@clisp.org>
63172
63173         Assume the 'long double' type.
63174         * m4/longdouble.m4: Remove file.
63175         * config/srclist.txt: Don't mention longdouble.m4.
63176         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63177         * lib/float+.h: Likewise.
63178         * lib/frexp.c: Likewise.
63179         * lib/printf-args.h: Likewise.
63180         * lib/printf-args.c: Likewise.
63181         * lib/printf-frexp.c: Likewise.
63182         * lib/printf-parse.c: Likewise.
63183         * lib/vasnprintf.c: Likewise.
63184         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63185         * m4/intl.m4: Likewise.
63186         * m4/isnanl.m4: Likewise.
63187         * m4/printf.m4: Likewise.
63188         * m4/printf-frexpl.m4: Likewise.
63189         * m4/vasnprintf.m4: Likewise.
63190         * modules/allocsa (Files): Remove m4/longdouble.m4.
63191         * modules/gettext (Files): Likewise.
63192         * modules/relocatable-prog-wrapper (Files): Likewise.
63193         * modules/vasnprintf (Files): Likewise.
63194         * modules/isnanl (Files): Likewise.
63195         (Include): Simplify.
63196         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
63197         (Include): Simplify.
63198         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
63199         (Include): Simplify.
63200         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
63201         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63202         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
63203         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63204         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63205         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63206         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
63207         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63208         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63209         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63210         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
63211         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63212         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
63213         * tests/test-isnanl.c: Likewise.
63214         * tests/test-snprintf-posix.h: Likewise.
63215         * tests/test-sprintf-posix.h: Likewise.
63216         * tests/test-vasnprintf-posix.c: Likewise.
63217         * tests/test-vasnprintf-posix2.c: Likewise.
63218         * tests/test-vasprintf-posix.c: Likewise.
63219
63220 2007-04-06  Bruno Haible  <bruno@clisp.org>
63221
63222         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
63223         * lib/math_.h [__DECC]: Include the overridden include file through
63224         #include_next, outside the double-inclusion guard.
63225         * lib/stdio_.h [__DECC]: Likewise.
63226         * lib/stdlib_.h [__DECC]: Likewise.
63227         * lib/string_.h [__DECC]: Likewise.
63228         * lib/time_.h [__DECC]: Likewise.
63229         * lib/wchar_.h [__DECC]: Likewise.
63230         * lib/wctype_.h [__DECC]: Likewise.
63231         * lib/inttypes_.h [__DECC]: Likewise.
63232         Reported by Albert Chin <china@thewrittenword.com> in
63233         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
63234
63235 2007-04-04  Eric Blake  <ebb9@byu.net>
63236
63237         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
63238         1.5.x.
63239
63240 2007-04-04  Bruno Haible  <bruno@clisp.org>
63241
63242         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
63243         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
63244
63245 2007-04-04  Bruno Haible  <bruno@clisp.org>
63246
63247         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
63248         results for "%010a" of Infinity and NaN.
63249         * tests/test-vasprintf-posix.c (test_function): Likewise.
63250         * tests/test-snprintf-posix.h (test_function): Likewise.
63251         * tests/test-sprintf-posix.h (test_function): Likewise.
63252         * tests/test-fprintf-posix.h (test_function): Remove these tests.
63253         * tests/test-printf-posix.h (test_function): Likewise.
63254         * tests/test-fprintf-posix.out: Update.
63255         Needed for FreeBSD 6.1.
63256
63257 2007-04-04  Bruno Haible  <bruno@clisp.org>
63258
63259         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
63260         directly used by the gnulib modules nor by gnulib-tool.
63261
63262 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63263
63264         * DEPENDENCIES: Give overall description of version dependency
63265         desirability.  Use more-typical names for apps.
63266         Add shell, coreutils, diffutils, grep, tar, gzip.
63267
63268 2007-04-04  Simon Josefsson  <simon@josefsson.org>
63269
63270         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
63271
63272 2007-04-04  Karl Berry  <karl@gnu.org>
63273
63274         * MODULES.html.sh (func_module): missing '.
63275
63276 2007-04-03  Bruno Haible  <bruno@clisp.org>
63277
63278         * modules/argmatch-tests (Makefile.am): New variable
63279         test_argmatch_LDADD.
63280         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
63281         * modules/array-list-tests (Makefile.am): New variable
63282         test_array_list_LDADD.
63283         * modules/array-oset-tests (Makefile.am): New variable
63284         test_array_oset_LDADD.
63285         * modules/avltree-list-tests (Makefile.am): New variable
63286         test_avltree_list_LDADD.
63287         * modules/avltree-oset-tests (Makefile.am): New variable
63288         test_avltree_oset_LDADD.
63289         * modules/avltreehash-list-tests (Makefile.am): New variable
63290         test_avltreehash_list_LDADD.
63291         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
63292         test_canonicalize_lgpl_LDADD.
63293         * modules/carray-list-tests (Makefile.am): New variable
63294         test_carray_list_LDADD.
63295         * modules/dirname-tests (Makefile.am): New variable
63296         test_dirname_LDADD.
63297         * modules/linked-list-tests (Makefile.am): New variable
63298         test_linked_list_LDADD.
63299         * modules/linkedhash-list-tests (Makefile.am): New variable
63300         test_linkedhash_list_LDADD.
63301         * modules/rbtree-list-tests (Makefile.am): New variable
63302         test_rbtree_list_LDADD.
63303         * modules/rbtree-oset-tests (Makefile.am): New variable
63304         test_rbtree_oset_LDADD.
63305         * modules/rbtreehash-list-tests (Makefile.am): New variable
63306         test_rbtreehash_list_LDADD.
63307         * modules/xvasprintf-tests (Makefile.am): New variable
63308         test_xvasprintf_LDADD.
63309         Reported by Eric Blake.
63310
63311 2007-04-03  Eric Blake  <ebb9@byu.net>
63312
63313         * DEPENDENCIES: Weaken m4 requirements.
63314
63315 2007-04-03  Bruno Haible  <bruno@clisp.org>
63316
63317         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63318         * modules/isnanl-tests (configure.ac): Likewise.
63319
63320 2007-04-03  Ben Pfaff  <blp@gnu.org>
63321
63322         * modules/iconv_open: Add $(srcdir)/ to source directory
63323         references in Makefile fragments that call gperf, to fix VPATH
63324         builds.
63325
63326 2007-04-03  Bruno Haible  <bruno@clisp.org>
63327
63328         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63329         * lib/ldexpl.c: Undo last change.
63330
63331 2007-04-03  Bruno Haible  <bruno@clisp.org>
63332
63333         * modules/printf-frexpl (Depends-on): Undo last change.
63334         (Files): Add m4/ldexpl.m4.
63335
63336 2007-04-03  Bruno Haible  <bruno@clisp.org>
63337
63338         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63339         * modules/isnanl (Link): New section.
63340
63341         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63342         * modules/frexp (Link): New section.
63343
63344         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63345         * modules/frexpl (Link): New section.
63346
63347         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63348         * modules/ldexpl (Link): New section.
63349
63350 2007-04-03  Bruno Haible  <bruno@clisp.org>
63351
63352         * modules/TEMPLATE-EXTENDED: New file.
63353         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63354
63355 2007-04-03  Bruno Haible  <bruno@clisp.org>
63356
63357         * DEPENDENCIES: New file.
63358         Suggested by Simon Josefsson.
63359
63360 2007-04-03  Bruno Haible  <bruno@clisp.org>
63361
63362         * doc/gnulib.texi: Escape @.
63363
63364 2007-04-03  James Youngman  <jay@gnu.org>
63365         and Paul Eggert  <eggert@cs.ucla.edu>
63366
63367         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
63368         birthtime on all systems that have birthtime, not just those which
63369         use st_birthtimensec rather than st_birthtim.  Putting zero in
63370         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
63371         that the birth time is not available for files on an NFS mount.
63372
63373 2007-04-03  Simon Josefsson  <simon@josefsson.org>
63374
63375         * modules/memxor: Move back from crypto/, suggested by Bruno.
63376         * modules/crypto/hmac-sha1: Fix memxor dependency.
63377
63378         * modules/crypto/gc: Moved from ../.
63379
63380 2007-04-02  Eric Blake  <ebb9@byu.net>
63381
63382         * lib/ldexpl.c (includes): Avoid libm.
63383
63384         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63385
63386 2007-04-02  Bruno Haible  <bruno@clisp.org>
63387
63388         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63389         on IRIX.
63390
63391 2007-04-02  Bruno Haible  <bruno@clisp.org>
63392
63393         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63394         x86 or x86_64 platforms running MacOS X.
63395         Reported by Ryan Schmidt <@ryandesign.com>.
63396
63397 2007-04-02  Bruno Haible  <bruno@clisp.org>
63398
63399         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63400         i386.
63401
63402 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63403
63404         * modules/crypto/arcfour: Moved from ../.
63405         * modules/crypto/arcfour-tests: Moved from ../.
63406         * modules/crypto/arctwo: Moved from ../.
63407         * modules/crypto/arctwo-tests: Moved from ../.
63408         * modules/crypto/des: Moved from ../.
63409         * modules/crypto/des-tests: Moved from ../.
63410         * modules/crypto/gc-arcfour: Moved from ../.
63411         * modules/crypto/gc-arcfour-tests: Moved from ../.
63412         * modules/crypto/gc-arctwo: Moved from ../.
63413         * modules/crypto/gc-arctwo-tests: Moved from ../.
63414         * modules/crypto/gc-des: Moved from ../.
63415         * modules/crypto/gc-des-tests: Moved from ../.
63416         * modules/crypto/gc-hmac-md5: Moved from ../.
63417         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
63418         * modules/crypto/gc-hmac-sha1: Moved from ../.
63419         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
63420         * modules/crypto/gc-md2: Moved from ../.
63421         * modules/crypto/gc-md2-tests: Moved from ../.
63422         * modules/crypto/gc-md4: Moved from ../.
63423         * modules/crypto/gc-md4-tests: Moved from ../.
63424         * modules/crypto/gc-md5: Moved from ../.
63425         * modules/crypto/gc-md5-tests: Moved from ../.
63426         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
63427         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
63428         * modules/crypto/gc-random: Moved from ../.
63429         * modules/crypto/gc-rijndael: Moved from ../.
63430         * modules/crypto/gc-rijndael-tests: Moved from ../.
63431         * modules/crypto/gc-sha1: Moved from ../.
63432         * modules/crypto/gc-sha1-tests: Moved from ../.
63433         * modules/crypto/gc-tests: Moved from ../.
63434         * modules/crypto/hmac-md5: Moved from ../.
63435         * modules/crypto/hmac-md5-tests: Moved from ../.
63436         * modules/crypto/hmac-sha1: Moved from ../.
63437         * modules/crypto/hmac-sha1-tests: Moved from ../.
63438         * modules/crypto/md2: Moved from ../.
63439         * modules/crypto/md2-tests: Moved from ../.
63440         * modules/crypto/md4: Moved from ../.
63441         * modules/crypto/md4-tests: Moved from ../.
63442         * modules/crypto/md5: Moved from ../.
63443         * modules/crypto/md5-tests: Moved from ../.
63444         * modules/crypto/memxor: Moved from ../.
63445         * modules/crypto/rijndael: Moved from ../.
63446         * modules/crypto/rijndael-tests: Moved from ../.
63447         * modules/crypto/sha1: Moved from ../.
63448
63449 2007-03-30  James Youngman  <jay@gnu.org>
63450
63451         * tests/test-stat-time.c (prepare_test): use chmod() rather than
63452         rename() to change the ctime of a file (because ctime is unaffected
63453         by rename on jfs2 on AIX 5.1).
63454         (main): Start by doing cleanup, in case a previous run failed leaving
63455         test files behind.
63456
63457 2007-03-31  Bruno Haible  <bruno@clisp.org>
63458
63459         Support old proprietary implementations of iconv.
63460         * modules/iconv_open: New file.
63461         * lib/iconv_.h: New file.
63462         * m4/iconv_h.m4: New file.
63463         * lib/iconv_open.c: New file.
63464         * lib/iconv_open-aix.gperf: New file.
63465         * lib/iconv_open-hpux.gperf: New file.
63466         * lib/iconv_open-irix.gperf: New file.
63467         * lib/iconv_open-osf.gperf: New file.
63468         * m4/iconv_open.m4: New file.
63469         * modules/linebreak (Depends-on): Add iconv_open.
63470         * modules/striconv (Depends-on): Likewise.
63471         * modules/striconveh (Depends-on): Likewise.
63472         * modules/unicodeio (Depends-on): Likewise.
63473         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
63474         (iconv_t)(-1).
63475         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
63476         conversion if cd is (iconv_t)(-1).
63477         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
63478         is not possible.
63479
63480 2007-03-31  Bruno Haible  <bruno@clisp.org>
63481
63482         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63483         work on Solaris either. Protect also second use of "autodetect_jp".
63484
63485 2007-03-31  Bruno Haible  <bruno@clisp.org>
63486
63487         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63488         the function is not present.
63489
63490 2007-03-31  Bruno Haible  <bruno@clisp.org>
63491
63492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63493         the function is not present.
63494
63495 2007-03-31  Bruno Haible  <bruno@clisp.org>
63496
63497         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63498         a bug in HP-UX iconv_open().
63499
63500 2007-03-31  Bruno Haible  <bruno@clisp.org>
63501
63502         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63503         (Mathematics <math.h>): New section, add fpieee.
63504         (Input/output <stdio.h>): Add fseterr.
63505         (Mathematics <math.h>): New section, add printf-frexp.
63506         (Container data structures): Add sublist.
63507         (Core language properties): Add fpucw, inline.
63508         (Functions for greatest-width integer types <inttypes.h>): Add
63509         imaxabs, imaxdiv, inttypes.
63510         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63511         isnanl-nolibm, ldexp.
63512         (Mathematics <math.h>): New section, add printf-frexpl.
63513         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63514         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63515         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63516         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63517         (Unicode string functions): Add unistr/u*-mbtoucr.
63518         (Java): Add javacomp-script, javaexec-script.
63519         (C#): Add csharpcomp-script, csharpexec-script.
63520         (Support for building libraries and executables): Add havelib,
63521         relocatable-*.
63522         (Support for maintaining and releasing projects): Renamed from
63523         'Support for maintaining and release projects'. Add announce-gen.
63524
63525 2007-03-31  Bruno Haible  <bruno@clisp.org>
63526
63527         * README: Talk primarily about git.
63528         (git and CVS): Renamed from CVS.
63529         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63530         gnulib is available through git.
63531         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63532
63533 2007-03-30  Bruno Haible  <bruno@clisp.org>
63534
63535         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63536         * lib/poll_.h: Likewise.
63537         * lib/stat_.h: Likewise.
63538         * lib/sys_time_.h: Likewise.
63539         * lib/sysexit_.h: Likewise.
63540         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63541         * lib/stdbool_.h: Likewise.
63542         * lib/byteswap_.h: Add double-inclusion guard.
63543
63544 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63545
63546         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63547
63548 2007-03-30  Karl Berry  <karl@gnu.org>
63549
63550         * config/srclist-update: double space after USA in the license
63551         substitution, since that's how it's usually (?) written.
63552
63553 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63554
63555         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63556         reported by Bruno Haible.
63557
63558 2007-03-29  Bruno Haible  <bruno@clisp.org>
63559
63560         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63561         a bug in AIX iconv().
63562
63563 2007-03-29  Bruno Haible  <bruno@clisp.org>
63564
63565         * modules/ldexpl-tests: New file.
63566         * tests/test-ldexpl.c: New file.
63567
63568 2007-03-29  Bruno Haible  <bruno@clisp.org>
63569
63570         * lib/ldexpl.c: Include fpucw.h.
63571         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63572         multiplication.
63573         * modules/ldexpl (Depends-on): Add fpucw.
63574
63575 2007-03-29  Bruno Haible  <bruno@clisp.org>
63576
63577         * modules/ldexpl: New file.
63578         * m4/ldexpl.m4: New file.
63579         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63580         set.
63581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63582         REPLACE_LDEXPL.
63583         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63584         REPLACE_LDEXPL.
63585         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63586         gl_FUNC_LDEXPL_WORKS.
63587         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63588         * modules/mathl (Files): Remove lib/ldexpl.c.
63589         (Depends-on): Add ldexpl.
63590
63591 2007-03-29  Bruno Haible  <bruno@clisp.org>
63592
63593         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63594
63595 2007-03-29  Bruno Haible  <bruno@clisp.org>
63596
63597         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63598         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63599         and possibly also HP-UX.
63600         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63601         work on AIX, IRIX, HP-UX, OSF/1.
63602         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63603         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63604         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63605         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63606         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63607         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63608
63609 2007-03-29  Bruno Haible  <bruno@clisp.org>
63610
63611         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63612
63613 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63614
63615         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63616         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63617
63618 2007-03-29  Eric Blake  <ebb9@byu.net>
63619
63620         * lib/acl-internal.h: Remove redundant include.
63621         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63622         Cygwin when a file is locked.
63623
63624 2007-03-29  Bruno Haible  <bruno@clisp.org>
63625
63626         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63627         file.
63628         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63629
63630 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63633         try to remove a parent directory if the child couldn't be removed
63634         (except for the first rmdir, which could fail because the child
63635         doesn't exist).  Problem reported by Jeff Blaine in
63636         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63637
63638 2007-03-28  Bruno Haible  <bruno@clisp.org>
63639
63640         * lib/striconveh.c (utf8conv_carefully): New function.
63641         (mem_cd_iconveh_internal): Invoke it.
63642
63643 2007-03-28  Bruno Haible  <bruno@clisp.org>
63644
63645         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63646         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63647         input.
63648         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63649         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63650         unistr/u8-uctomb.
63651
63652 2007-03-28  Bruno Haible  <bruno@clisp.org>
63653
63654         * modules/unistr/u8-mbtoucr: New file.
63655         * lib/unistr/u8-mbtoucr.c: New file.
63656         * modules/unistr/u16-mbtoucr: New file.
63657         * lib/unistr/u16-mbtoucr.c: New file.
63658         * modules/unistr/u16-mbtoucr: New file.
63659         * lib/unistr/u16-mbtoucr.c: New file.
63660         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63661
63662 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63663             Bruno Haible  <bruno@clisp.org>
63664
63665         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63666         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63667         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63668
63669         * m4/stdio_h.m4: Add stubs for vasprintf too.
63670
63671         * modules/stdio: Support vasprintf in sed command.
63672
63673         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63674         vasprintf.h.  Add stdio module indicator.
63675
63676         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63677         vasprintf.h.
63678
63679         * lib/vasprintf.h: File removed.
63680
63681         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63682         * lib/vasprintf.c: Ditto.
63683         * lib/xvasprintf.c: Ditto.
63684         * tests/test-vasprintf-posix.c: Ditto.
63685         * tests/test-vasprintf.c: Ditto.
63686
63687 2007-03-27  Bruno Haible  <bruno@clisp.org>
63688
63689         Make vasnprintf multithread-safe.
63690         * lib/vasnprintf.c (decimal_point_char): New function.
63691         (VASNPRINTF): Use it.
63692         Suggested by Simon Josefsson.
63693
63694 2007-03-27  Eric Blake  <ebb9@byu.net>
63695
63696         Support sub-second birthtime on cygwin.
63697         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63698         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63699         (get_stat_birthtime): Also work with st_birthtim.
63700
63701 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63702
63703         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63704         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63705         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63706         (get_stat_birthtime_ns): Simplify compile-time tests.
63707         (get_stat_birthtime): Change the API to look like
63708         get_stat_mtime etc., except return a negative tv_nsec on error.
63709         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63710         Don't check for "spare" fields.
63711         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63712         or for struct stat.st_birthtime, as these tests aren't used.
63713         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63714
63715 2007-03-27  Bruno Haible  <bruno@clisp.org>
63716
63717         * lib/stat-time.h: Include <sys/stat.h>.
63718
63719 2007-03-27  James Youngman  <jay@gnu.org>
63720
63721         * lib/stat-time.h (get_stat_birthtime): New function for
63722           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63723         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63724           and its variants.
63725         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63726         * modules/stat-time-test: New file.
63727         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63728
63729 2007-03-26  Bruno Haible  <bruno@clisp.org>
63730
63731         Better support of signalling NaNs.
63732         * lib/atanl.c: Include isnanl.h.
63733         (atanl): Perform test for NaN at the beginning of the function and
63734         through a call to isnanl.
63735         * lib/cosl.c: Include isnanl.h.
63736         (cosl): Perform test for NaN at the beginning of the function and
63737         through a call to isnanl.
63738         * lib/ldexpl.c: Include isnanl.h.
63739         (ldexpl): Perform test for NaN through a call to isnanl.
63740         * lib/logl.c: Include isnanl.h.
63741         (logl): Perform test for NaN at the beginning of the function and
63742         through a call to isnanl.
63743         * lib/sinl.c: Include isnanl.h.
63744         (sinl): Perform test for NaN at the beginning of the function and
63745         through a call to isnanl.
63746         * lib/sqrtl.c: Include isnanl.h.
63747         (sqrtl): Perform test for NaN at the beginning of the function and
63748         through a call to isnanl.
63749         * lib/tanl.c: Include isnanl.h.
63750         (tanl): Perform test for NaN at the beginning of the function and
63751         through a call to isnanl.
63752         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63753         * modules/mathl (Depends-on): Add isnanl.
63754
63755 2007-03-26  Eric Blake  <ebb9@byu.net>
63756
63757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63758         regression in logic sense of previous patch.
63759
63760 2007-03-26  Bruno Haible  <bruno@clisp.org>
63761
63762         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63763         unportable shell command "if ! ...".
63764         Reported by Ralf Wildenhues.
63765
63766 2007-03-25  Bruno Haible  <bruno@clisp.org>
63767
63768         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63769         <sysexits.h> file, and only add EX_CONFIG.
63770         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63771         absolute file name and whether it is sufficient. Substitute also
63772         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63773         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63774         ABSOLUTE_SYSEXITS_H into sysexits.h.
63775
63776 2007-03-25  Bruno Haible  <bruno@clisp.org>
63777
63778         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63779         hints is NULL.
63780
63781 2007-03-25  Bruno Haible  <bruno@clisp.org>
63782
63783         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63784         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63785
63786 2007-03-25  Bruno Haible  <bruno@clisp.org>
63787
63788         * lib/vasnprintf.c: Include langinfo.h.
63789         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63790         multithread-safe.
63791         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63792         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63794         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63800         Reported by Simon Josefsson.
63801
63802 2007-03-25  Bruno Haible  <bruno@clisp.org>
63803
63804         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63805         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63806         * modules/vasnprintf (Depends-on): Add stdint.
63807
63808 2007-03-25  Bruno Haible  <bruno@clisp.org>
63809
63810         * modules/fpieee: New file.
63811         * m4/fpieee.m4: New file.
63812         * modules/isnan-nolibm (Depends-on): Add fpieee.
63813         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63814         * modules/isnanl (Depends-on): Add fpieee.
63815
63816 2007-03-25  Bruno Haible  <bruno@clisp.org>
63817
63818         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63819
63820 2007-03-25  Bruno Haible  <bruno@clisp.org>
63821
63822         Avoid test failures on IRIX 6.5.
63823         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63824         (main): Use it.
63825         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63826         macros.
63827         (main): Use them.
63828
63829 2007-03-25  Bruno Haible  <bruno@clisp.org>
63830
63831         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63832         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63833         exists but doesn't work.
63834         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63835         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63837         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63838         math.h.
63839
63840 2007-03-25  Bruno Haible  <bruno@clisp.org>
63841
63842         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63843         returns inf. Needed on IRIX 6.5.
63844
63845 2007-03-25  Bruno Haible  <bruno@clisp.org>
63846
63847         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63848         (main): Use isnanl instead of x != x idiom.
63849         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63850
63851         * tests/test-frexp.c: Include isnan.h.
63852         (main): Use isnan instead of x != x idiom.
63853         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63854
63855 2007-03-25  Bruno Haible  <bruno@clisp.org>
63856
63857         * tests/test-frexp.c (NaN): New function/macro.
63858         (main): Use it instead of 0.0 / 0.0.
63859         * tests/test-isnan.c (NaN): New function/macro.
63860         (main): Use it instead of 0.0 / 0.0.
63861         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63862         (test_function): Use it instead of 0.0 / 0.0.
63863         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63864         (test_function): Use it instead of 0.0 / 0.0.
63865         * tests/test-snprintf-posix.h (NaN): New function/macro.
63866         (test_function): Use it instead of 0.0 / 0.0.
63867         * tests/test-sprintf-posix.h (NaN): New function/macro.
63868         (test_function): Use it instead of 0.0 / 0.0.
63869         * tests/test-fprintf-posix.h (NaN): New function/macro.
63870         (test_function): Use it instead of 0.0 / 0.0.
63871         * tests/test-printf-posix.h (NaN): New function/macro.
63872         (test_function): Use it instead of 0.0 / 0.0.
63873
63874         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63875
63876 2007-03-25  Bruno Haible  <bruno@clisp.org>
63877
63878         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63879
63880 2007-03-25  Bruno Haible  <bruno@clisp.org>
63881
63882         * lib/regexec.c (merge_state_with_log): Make static.
63883
63884 2007-03-25  Bruno Haible  <bruno@clisp.org>
63885
63886         * lib/trigl.c (kernel_rem_pio2): Make static.
63887
63888 2007-03-25  Bruno Haible  <bruno@clisp.org>
63889
63890         * lib/sincosl.c (sincosl_table): Make static.
63891
63892 2007-03-25  Bruno Haible  <bruno@clisp.org>
63893
63894         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63895         if the compiler does not support C99.
63896
63897 2007-03-25  Bruno Haible  <bruno@clisp.org>
63898
63899         * modules/time (Makefile.am): Ensure all rule action lines start with a
63900         tab.
63901
63902 2007-03-24  Bruno Haible  <bruno@clisp.org>
63903
63904         * modules/tsearch-tests: New file.
63905         * tests/test-tsearch.sh: New file.
63906         * tests/test-tsearch.c: New file, mostly copied from glibc.
63907
63908         * modules/search-tests: New file.
63909         * tests/test-search.c: New file.
63910
63911         * modules/search: New file.
63912         * lib/search_.h: New file, incorporating lib/tsearch.h.
63913         * m4/search_h.m4: New file.
63914         * lib/tsearch.h: Remove file.
63915         * lib/tsearch.c: Include search.h instead of tsearch.h.
63916         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63917         HAVE_TSEARCH.
63918         * modules/tsearch (Files): Remove lib/tsearch.h.
63919         (Depends-on): Add search.
63920         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63921         (Include): Change tsearch.h into search.h.
63922
63923 2007-03-24  Bruno Haible  <bruno@clisp.org>
63924
63925         * modules/fpucw: New file.
63926         * lib/fpucw.h: New file.
63927         * lib/frexp.c: Include fpucw.h.
63928         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63929         (FUNC): Use them.
63930         * lib/printf-frexp.c: Include fpucw.h.
63931         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63932         (FUNC): Use them.
63933         * lib/vasnprintf.c: Include fpucw.h.
63934         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63935         'long double' calculations.
63936         * tests/test-frexpl.c: Include fpucw.h.
63937         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63938         * tests/test-printf-frexpl.c: Include fpucw.h.
63939         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63940         * modules/frexpl (Depends-on): Add fpucw.
63941         * modules/printf-frexpl (Depends-on): Likewise.
63942         * modules/fprintf-posix (Depends-on): Likewise.
63943         * modules/snprintf-posix (Depends-on): Likewise.
63944         * modules/sprintf-posix (Depends-on): Likewise.
63945         * modules/vasnprintf-posix (Depends-on): Likewise.
63946         * modules/vasprintf-posix (Depends-on): Likewise.
63947         * modules/vfprintf-posix (Depends-on): Likewise.
63948         * modules/vsnprintf-posix (Depends-on): Likewise.
63949         * modules/vsprintf-posix (Depends-on): Likewise.
63950         * modules/frexpl-tests (Depends-on): Likewise.
63951         * modules/printf-frexpl-tests (Depends-on): Likewise.
63952
63953 2007-03-24  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/float+.h: New file.
63956         * lib/isnan.c: Include float+.h.
63957         (SIZE): New macro.
63958         (FUNC): Compare only SIZE bytes of the value.
63959         * lib/vasnprintf.c: Include float+.h.
63960         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63961         SIZEOF_LDBL or SIZEOF_DBL bytes.
63962         * modules/isnan-nolibm (Files): Add lib/float+.h.
63963         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63964         * modules/isnanl (Files): Add lib/float+.h.
63965         * modules/vasnprintf (Files): Add lib/float+.h.
63966
63967 2007-03-24  Bruno Haible  <bruno@clisp.org>
63968
63969         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63970         include isnanl-nolibm.h.
63971
63972 2007-03-24  Bruno Haible  <bruno@clisp.org>
63973
63974         * tests/test-read-file.c (main): Don't produce spurious output for
63975         expected situations. Make the test fail if it encountered unexpected
63976         results.
63977
63978 2007-03-24  Bruno Haible  <bruno@clisp.org>
63979
63980         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63981         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63982
63983 2007-03-24  Bruno Haible  <bruno@clisp.org>
63984
63985         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63986
63987 2007-03-24  Bruno Haible  <bruno@clisp.org>
63988
63989         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63990         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63991
63992         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63993         * modules/utf8-ucs4: Turn into a symbolic link to module
63994         unistr/u8-mbtouc.
63995
63996         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63997         utf8-ucs4-unsafe.
63998         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63999         unistr/u8-mbtouc-unsafe.
64000
64001         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64002         * modules/utf16-ucs4: Turn into a symbolic link to module
64003         unistr/u16-mbtouc.
64004
64005         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64006         utf16-ucs4-unsafe.
64007         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64008         unistr/u16-mbtouc-unsafe.
64009
64010         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64011         * modules/ucs4-utf8: Turn into a symbolic link to module
64012         unistr/u8-ubtomb.
64013
64014         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64015         * modules/ucs4-utf16: Turn into a symbolic link to module
64016         unistr/u16-ubtomb.
64017
64018 2007-03-24  Bruno Haible  <bruno@clisp.org>
64019
64020         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64021         Enable the function only if HAVE_INLINE.
64022         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64023         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64024         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64025         Enable the function only if HAVE_INLINE.
64026         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64027         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64028         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64029         Enable the function only if HAVE_INLINE.
64030         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64031         Enable the function only if HAVE_INLINE.
64032         * modules/utf8-ucs4: Update.
64033         * modules/utf8-ucs4-unsafe: Update.
64034         * modules/utf16-ucs4: Update.
64035         * modules/utf16-ucs4-unsafe: Update.
64036         * modules/ucs4-utf8: Update.
64037         * modules/ucs4-utf16: Update.
64038
64039 2007-03-24  Bruno Haible  <bruno@clisp.org>
64040
64041         * lib/utf8-ucs4.h: Remove file.
64042         * lib/utf8-ucs4-unsafe.h: Remove file.
64043         * lib/utf16-ucs4.h: Remove file.
64044         * lib/utf16-ucs4-unsafe.h: Remove file.
64045         * lib/ucs4-utf8.h: Remove file.
64046         * lib/ucs4-utf16.h: Remove file.
64047         * lib/unistr.h: Include their previous contents.
64048         * m4/utf-ucs4.m4: Remove file.
64049         * m4/ucs4-utf.m4: Remove file.
64050         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64051         (Depends-on): Add unistr/base.
64052         (configure.ac): Remove gl_UTF_UCS4.
64053         (Makefile.am): Update.
64054         (Include): Change to unistr.h.
64055         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64056         (Depends-on): Add unistr/base.
64057         (configure.ac): Remove gl_UTF_UCS4.
64058         (Makefile.am): Update.
64059         (Include): Change to unistr.h.
64060         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64061         (Depends-on): Add unistr/base.
64062         (configure.ac): Remove gl_UTF_UCS4.
64063         (Makefile.am): Update.
64064         (Include): Change to unistr.h.
64065         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64066         (Depends-on): Add unistr/base.
64067         (configure.ac): Remove gl_UTF_UCS4.
64068         (Makefile.am): Update.
64069         (Include): Change to unistr.h.
64070         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64071         (Depends-on): Add unistr/base.
64072         (configure.ac): Remove gl_UCS4_UTF.
64073         (Makefile.am): Update.
64074         (Include): Change to unistr.h.
64075         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64076         (Depends-on): Add unistr/base.
64077         (configure.ac): Remove gl_UCS4_UTF.
64078         (Makefile.am): Update.
64079         (Include): Change to unistr.h.
64080         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64081         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64082         utf8-ucs4-unsafe.h.
64083         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64084         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64085         utf16-ucs4-unsafe.h.
64086         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64087         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64088         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64089         * lib/unistr/u8-strchr.c: Likewise.
64090         * lib/unistr/u8-strrchr.c: Likewise.
64091         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64092         * lib/unistr/u16-strchr.c: Likewise.
64093         * lib/unistr/u16-strrchr.c: Likewise.
64094         * lib/striconveh.c: Update.
64095         * lib/linebreak.c: Update.
64096
64097 2007-03-24  Bruno Haible  <bruno@clisp.org>
64098
64099         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64100         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64101
64102 2007-03-22  Bruno Haible  <bruno@clisp.org>
64103
64104         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64105
64106 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64107
64108         * MODULES.html.sh (File system functions): New module write-any-file.
64109         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64110         * m4/write-any-file.m4: New files.
64111
64112 2007-03-23  Eric Blake  <ebb9@byu.net>
64113
64114         * gnulib-tool: Rearrange space-tab sequences, since some editors
64115         like to eat them.
64116
64117 2007-03-23  Eric Blake  <ebb9@byu.net>
64118
64119         * lib/version-etc.c (version_etc_va): Update license wording to
64120         be more concise.  Recommended by Richard Stallman.
64121
64122 2007-03-22  Bruno Haible  <bruno@clisp.org>
64123
64124         * lib/poll.c (MSG_PEEK): New fallback definition.
64125
64126 2007-03-22  Bruno Haible  <bruno@clisp.org>
64127
64128         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64129         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64130         (main): Update.
64131         Fixes a compilation error on BeOS.
64132
64133 2007-03-22  Bruno Haible  <bruno@clisp.org>
64134
64135         * modules/frexpl-tests: New file.
64136         * tests/test-frexpl.c: New file.
64137
64138         * modules/frexpl: New file.
64139         * m4/frexpl.m4: New file.
64140         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64141         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64143         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64144         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64145         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64146
64147 2007-03-22  Bruno Haible  <bruno@clisp.org>
64148
64149         * lib/frexpl.c: Share code with lib/frexp.c.
64150         * modules/mathl (Files): Add lib/frexp.c.
64151         (Depends-on): Add isnanl-nolibm.
64152
64153 2007-03-22  Bruno Haible  <bruno@clisp.org>
64154
64155         * modules/printf-frexp (Files): Add m4/frexp.m4.
64156         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64157         only if the found frexp function actually works.
64158
64159 2007-03-22  Bruno Haible  <bruno@clisp.org>
64160
64161         * lib/frexp.c: Remove older implementation that uses divisions.
64162
64163 2007-03-21  Bruno Haible  <bruno@clisp.org>
64164
64165         * modules/frexp-tests: New file.
64166         * tests/test-frexp.c: New file.
64167
64168         * modules/frexp: New file.
64169         * lib/frexp.c: New file.
64170         * m4/frexp.m4: New file.
64171         * lib/math_.h (frexp): New declaration.
64172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64173         REPLACE_FREXP.
64174         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64175
64176 2007-03-21  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/isnanl-tests: New file.
64179         * tests/test-isnanl.c: New file.
64180
64181         * modules/isnanl: New file.
64182         * lib/isnanl.h: New file.
64183         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64184         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64185         gl_FUNC_ISNANL_WORKS.
64186         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64187         New macros.
64188
64189 2007-03-21  Bruno Haible  <bruno@clisp.org>
64190
64191         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
64192         lib/isnanl.h.
64193         (Include): Update.
64194         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
64195         * lib/vasnprintf.c: Update.
64196         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
64197         tests/test-isnanl.h, remove tests/test-isnanl.c.
64198         (Makefile.am): Update.
64199         * tests/test-isnanl-nolibm.c: New file.
64200         * tests/test-isnanl.h: New file.
64201         * tests/test-isnanl.c: Remove file.
64202
64203 2007-03-21  Jim Meyering  <jim@meyering.net>
64204
64205         When trying to open ".", treat ESTALE like EACCES.
64206         * lib/savewd.c (savewd_save): Resort to forking not just upon
64207         failure with EACCES, but also when errno is ESTALE.
64208
64209 2007-03-20  Bruno Haible  <bruno@clisp.org>
64210
64211         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
64212         Needed on AIX 5.1. Reported by Matthew Woehlke.
64213
64214 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64215
64216         Suggestions by Bruno Haible:
64217         * lib/acl-internal.h: Include "gettext.h" rather than rolling
64218         our own.
64219         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
64220         * modules/acl (Depends-on): Add gettext.
64221
64222 2007-03-19  Bruno Haible  <bruno@clisp.org>
64223
64224         * modules/iconvme: Remove file.
64225         * lib/iconvme.h: Remove file.
64226         * lib/iconvme.c: Remove file.
64227         * m4/iconvme.m4: Remove file.
64228
64229 2007-03-19  Bruno Haible  <bruno@clisp.org>
64230
64231         * doc/relocatable-maint.texi: Break long shell script line.
64232         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64233
64234 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64235
64236         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
64237         handle file_has_acl.
64238         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
64239         * lib/acl.c: Move header inclusions and related macro defns into
64240         lib/acl-internal.h.
64241         (S_ISLNK): Remove defn, since that's now done for us.
64242         (file_has_acl): Move to lib/file-has-acl.c.
64243         Call acl_trivial if available.  This is the crucial part of the fix.
64244         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
64245         shared within the library.  Rewrite a bit, partly to make it compatible
64246         with the GNU coding style.
64247         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
64248         Remove unnecessary double-quotes.
64249         Don't test for acl_to_text; the build will catch that.
64250         Replace acl_entries if it doesn't exist and it is needed.
64251         Check for -lsec and acl_trivial (as used on Solaris 10).
64252         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
64253         lib/file-has-acl.c.
64254         (Depends-on): Add sys_stat, for S_ISLNK.
64255
64256 2007-03-19  Ben Pfaff  <blp@gnu.org>
64257
64258         * doc/gnulib.texi: Fix typos.
64259         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64260
64261 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64262
64263         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
64264         If size is zero here, buf must be zero.
64265
64266 2007-03-19  Simon Josefsson  <simon@josefsson.org>
64267
64268         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
64269         <bruno@clisp.org>.
64270
64271 2007-03-18  Bruno Haible  <bruno@clisp.org>
64272
64273         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
64274         Suggested by Eric Blake.
64275
64276 2007-03-18  Ben Pfaff  <blp@gnu.org>
64277
64278         * doc/relocatable.texi: Recommend using as prefix a directory
64279         that does not exist and will never be created.  Based on
64280         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
64281         and others.
64282
64283 2007-03-17  Bruno Haible  <bruno@clisp.org>
64284
64285         * lib/fchownat.c: Include lchown.h.
64286
64287 2007-03-17  Bruno Haible  <bruno@clisp.org>
64288
64289         Fix endless loop when the given allocated size was > INT_MAX.
64290         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
64291         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
64292         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
64293         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
64294         * lib/sprintf.c (sprintf): Likewise.
64295
64296 2007-03-17  Bruno Haible  <bruno@clisp.org>
64297
64298         * tests/test-argp-2.sh (func_compare): Output a context diff.
64299
64300 2007-03-17  Bruno Haible  <bruno@clisp.org>
64301
64302         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
64303         locale's decimal-point character.
64304
64305 2007-03-17  Bruno Haible  <bruno@clisp.org>
64306
64307         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64308         before comparing it. Needed because on some platforms (e.g. x86) a
64309         'long double' occupies less bytes than sizeof (long double).
64310
64311 2007-03-17  Bruno Haible  <bruno@clisp.org>
64312
64313         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64314         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64315         * tests/test-getaddrinfo.c (simple): Likewise.
64316         * tests/test-read-file.c (main): Likewise.
64317
64318 2007-03-17  Bruno Haible  <bruno@clisp.org>
64319
64320         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64321
64322 2007-03-17  Bruno Haible  <bruno@clisp.org>
64323
64324         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64325         unused variable.
64326
64327 2007-03-17  Bruno Haible  <bruno@clisp.org>
64328
64329         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64330         * tests/test-c-strncasecmp.c: Likewise.
64331
64332 2007-03-17  Bruno Haible  <bruno@clisp.org>
64333
64334         * modules/stdlib (Depends-on): Add unistd.
64335         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64336         Needed for MacOS X 10.3.
64337
64338 2007-03-17  Bruno Haible  <bruno@clisp.org>
64339
64340         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64341
64342 2007-03-17  Bruno Haible  <bruno@clisp.org>
64343
64344         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64345
64346 2007-03-17  Bruno Haible  <bruno@clisp.org>
64347
64348         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64349         to reflect files copied from gnulib (with or without modifications).
64350         Suggested by Jim Meyering.
64351
64352 2007-03-17  Eric Blake  <ebb9@byu.net>
64353
64354         * NEWS: Document stdlib change from 2007-02-18.
64355
64356 2007-03-17  Jim Meyering  <jim@meyering.net>
64357
64358         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
64359         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
64360         someone uses a name containing shell meta-characters.
64361         Reported by Alfred M. Szmidt.
64362
64363         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
64364
64365 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64366
64367         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
64368         and copy gettext configuration files only if configure.ac contains
64369         a use of AM_GNU_GETTEXT_VERSION.
64370
64371 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64372
64373         * build-aux/bootstrap (gnulib_name): New variable.
64374         (gnulib_tool_options): Use it.
64375
64376 2007-03-13  Simon Josefsson  <simon@josefsson.org>
64377
64378         * tests/test-des.c: Use new namespace.
64379
64380 2007-03-15  Bruno Haible  <bruno@clisp.org>
64381
64382         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64383         Reported by James Youngman <jay@gnu.org>.
64384
64385 2007-03-15  Bruno Haible  <bruno@clisp.org>
64386
64387         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64388         declared prototype. Needed with cc on OSF/1 5.1.
64389
64390 2007-03-15  Bruno Haible  <bruno@clisp.org>
64391
64392         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64393         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64394         (struct gl_list_implementation): Add dispose_fn argument to the
64395         'create_empty', 'create' methods.
64396         (struct gl_list_impl_base): Add field 'dispose_fn'.
64397         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64398         argument.
64399         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64400         dispose_fn argument.
64401         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64402         dispose_fn on the dropped values.
64403         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64404         dispose_fn argument.
64405         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64406         dropped values.
64407         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64408         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64409         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64410         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64411         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64412         argument.
64413         (gl_tree_list_free): Call dispose_fn on the dropped values.
64414         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
64415         the dropped values.
64416         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
64417         Add dispose_fn argument.
64418         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
64419         Call dispose_fn on the dropped values.
64420         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
64421         Add dispose_fn argument.
64422         (gl_sublist_create): Initialize the 'dispose_fn' field.
64423         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
64424         * tests/test-array_list.c (main): Update.
64425         * tests/test-carray_list.c (main): Update.
64426         * tests/test-avltree_list.c (main): Update.
64427         * tests/test-rbtree_list.c (main): Update.
64428         * tests/test-avltreehash_list.c (main): Update.
64429         * tests/test-rbtreehash_list.c (main): Update.
64430         * tests/test-linked_list.c (main): Update.
64431         * tests/test-linkedhash_list.c (main): Update.
64432         * tests/test-array_oset.c (main): Update.
64433
64434 2007-03-15  Bruno Haible  <bruno@clisp.org>
64435
64436         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
64437         (gl_oset_create_empty): Add dispose_fn argument.
64438         (struct gl_oset_implementation): Add dispose_fn argument to
64439         'create_empty' method.
64440         (struct gl_oset_impl_base): Add dispose_fn field.
64441         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
64442         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
64443         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
64444         values.
64445         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
64446         (gl_tree_oset_free): Call dispose_fn on the dropped values.
64447         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64448         dropped value.
64449         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64450         dropped value.
64451         * tests/test-array_oset.c (main): Update.
64452         * tests/test-avltree_oset.c (main): Update.
64453         * tests/test-rbtree_oset.c (main): Update.
64454         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
64455
64456 2007-03-13  Bruno Haible  <bruno@clisp.org>
64457
64458         * tests/test-stdbool.c (i): Update after last patch.
64459
64460 2007-03-12  Bruno Haible  <bruno@clisp.org>
64461
64462         * lib/quotearg.c: Include <wctype.h> early, before the definition of
64463         the iswprint macro. Needed on Solaris 2.5.1.
64464
64465 2007-03-12  Bruno Haible  <bruno@clisp.org>
64466
64467         * tests/test-printf-frexp.c (main): Declare x as volatile.
64468
64469 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64470
64471         * doc/gnulib.texi (Build robot for gnulib): New section.
64472
64473 2007-03-12  Jim Meyering  <jim@meyering.net>
64474
64475         * build-aux/bootstrap: New file.
64476         * build-aux/bootstrap.conf: New file, from coreutils.
64477
64478 2007-03-11  Bruno Haible  <bruno@clisp.org>
64479
64480         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
64481
64482 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64483
64484         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64485         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64486         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64487
64488 2007-03-11  Bruno Haible  <bruno@clisp.org>
64489
64490         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64491         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64492
64493 2007-03-11  Bruno Haible  <bruno@clisp.org>
64494
64495         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64496         formula. Needed for SunPRO C 5.0.
64497
64498 2007-03-11  Bruno Haible  <bruno@clisp.org>
64499
64500         * modules/long-options (Depends-on): Add getopt.
64501
64502 2007-03-11  Bruno Haible  <bruno@clisp.org>
64503
64504         * modules/modechange (Depends-on): Add stdbool.
64505
64506 2007-03-11  Bruno Haible  <bruno@clisp.org>
64507
64508         * modules/i-ring (Depends-on): Add stdbool.
64509
64510 2007-03-11  Bruno Haible  <bruno@clisp.org>
64511
64512         * modules/gc-des (Depends-on): Add stdbool.
64513
64514 2007-03-11  Bruno Haible  <bruno@clisp.org>
64515
64516         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64517
64518 2007-03-11  Bruno Haible  <bruno@clisp.org>
64519
64520         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64521
64522 2007-03-11  Bruno Haible  <bruno@clisp.org>
64523
64524         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64525
64526 2007-03-11  Bruno Haible  <bruno@clisp.org>
64527
64528         * lib/vasnprintf.c (sprintf): Undefine.
64529
64530 2007-03-11  Bruno Haible  <bruno@clisp.org>
64531
64532         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64533         initializers in SunPRO C and Compaq C compilers.
64534
64535 2007-03-11  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64538         decrementing code ANSI C compliant.
64539
64540 2007-03-11  Bruno Haible  <bruno@clisp.org>
64541
64542         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64543         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64544
64545 2007-03-11  Bruno Haible  <bruno@clisp.org>
64546
64547         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64548         <stdbool.h> substitute doesn't pass.
64549
64550 2007-03-11  Bruno Haible  <bruno@clisp.org>
64551
64552         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64553
64554 2007-03-11  Bruno Haible  <bruno@clisp.org>
64555
64556         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64557         script, for submission to autobuild.josefsson.org.
64558
64559 2007-03-10  Bruno Haible  <bruno@clisp.org>
64560
64561         * modules/canonicalize-lgpl-tests: New file.
64562         * tests/test-canonicalize-lgpl.sh: New file.
64563         * tests/test-canonicalize-lgpl.c: New file.
64564
64565         * modules/c-strcase-tests: New file.
64566         * tests/test-c-strcase.sh: New file.
64567         * tests/test-c-strcasecmp.c: New file.
64568         * tests/test-c-strncasecmp.c: New file.
64569
64570         * modules/atexit-tests: New file.
64571         * tests/test-atexit.sh: New file.
64572         * tests/test-atexit.c: New file.
64573
64574 2007-03-10  Bruno Haible  <bruno@clisp.org>
64575
64576         * tests/test-binary-io.sh: Use temporary filenames that are not so
64577         likely to clash with those of other tests (in a parallel make).
64578         * tests/test-binary-io.c: Likewise.
64579
64580 2007-03-10  Bruno Haible  <bruno@clisp.org>
64581
64582         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64583         fallback; use #error instead.
64584         Suggested by Simon Josefsson.
64585
64586 2007-03-10  Bruno Haible  <bruno@clisp.org>
64587
64588         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64589         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64590         first and the last.
64591
64592 2007-03-10  Bruno Haible  <bruno@clisp.org>
64593
64594         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64595
64596 2007-03-10  Bruno Haible  <bruno@clisp.org>
64597
64598         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64599         "make distcheck".
64600         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64601         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64602         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64603
64604 2007-03-10  Bruno Haible  <bruno@clisp.org>
64605
64606         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64607         variable.
64608         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64609         variable.
64610
64611 2007-03-09  Eric Blake  <ebb9@byu.net>
64612         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64613
64614         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64615         types are not being provided by gnulib.
64616         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64617         types are supported.
64618
64619 2007-03-10  Bruno Haible  <bruno@clisp.org>
64620
64621         * lib/stdio_.h (__attribute__): New macro.
64622         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64623         vsprintf): Specify __attribute__ __format__ for GCC.
64624         Suggested by Eric Blake.
64625
64626 2007-03-09  Bruno Haible  <bruno@clisp.org>
64627
64628         * modules/printf-posix-tests: New file.
64629         * tests/test-printf-posix.sh: New file.
64630         * tests/test-printf-posix.c: New file.
64631
64632         * modules/printf-posix: New file.
64633         * lib/printf.c: New file.
64634         * m4/printf-posix-rpl.m4: New file.
64635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64636         REPLACE_PRINTF.
64637         * lib/stdio_.h (printf): New declaration.
64638         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64639         ____strfmon____): New macros.
64640         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64641         REPLACE_PRINTF.
64642
64643 2007-03-09  Bruno Haible  <bruno@clisp.org>
64644
64645         * tests/test-vasnprintf-posix2.sh: New file.
64646         * tests/test-vasnprintf-posix2.c: New file.
64647         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64648         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64649         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64650
64651         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64652         a locale dependent decimal point, rather than always '.'.
64653
64654 2007-03-09  Eric Blake  <ebb9@byu.net>
64655
64656         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64657         spite of platforms like Tandem/NSK that define it to -1.
64658
64659 2007-03-08  Bruno Haible  <bruno@clisp.org>
64660
64661         * modules/vprintf-posix-tests: New file.
64662         * tests/test-vprintf-posix.sh: New file.
64663         * tests/test-vprintf-posix.c: New file.
64664         * tests/test-printf-posix.h: New file.
64665
64666         * modules/vprintf-posix: New file.
64667         * lib/vprintf.c: New file.
64668         * m4/vprintf-posix.m4: New file.
64669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64670         REPLACE_VPRINTF.
64671         * lib/stdio_.h (vprintf): New declaration.
64672         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64673         REPLACE_VPRINTF.
64674
64675 2007-03-08  Bruno Haible  <bruno@clisp.org>
64676
64677         * modules/fprintf-posix-tests: New file.
64678         * tests/test-fprintf-posix.sh: New file.
64679         * tests/test-fprintf-posix.c: New file.
64680
64681         * modules/fprintf-posix: New file.
64682         * lib/fprintf.c: New file.
64683         * m4/fprintf-posix.m4: New file.
64684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64685         REPLACE_FPRINTF.
64686         * lib/stdio_.h (fprintf): New declaration.
64687         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64688         REPLACE_FPRINTF.
64689
64690 2007-03-08  Bruno Haible  <bruno@clisp.org>
64691
64692         * modules/vfprintf-posix-tests: New file.
64693         * tests/test-vfprintf-posix.sh: New file.
64694         * tests/test-vfprintf-posix.c: New file.
64695         * tests/test-fprintf-posix.h: New file.
64696         * tests/test-fprintf-posix.out: New file.
64697
64698         * modules/vfprintf-posix: New file.
64699         * lib/vfprintf.c: New file.
64700         * m4/vfprintf-posix.m4: New file.
64701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64702         REPLACE_VFPRINTF.
64703         * lib/stdio_.h (vfprintf): New declaration.
64704         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64705         REPLACE_VFPRINTF.
64706
64707 2007-03-08  Bruno Haible  <bruno@clisp.org>
64708
64709         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64710
64711 2007-03-08  Bruno Haible  <bruno@clisp.org>
64712
64713         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64714         instead of 'expr' invocations.
64715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64716         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64717         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64718         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64719         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64720         Suggested by Paul Eggert.
64721
64722 2007-03-08  Bruno Haible  <bruno@clisp.org>
64723
64724         * modules/fseterr-tests: New file.
64725         * tests/test-fseterr.c: New file.
64726
64727         * modules/fseterr: New file.
64728         * lib/fseterr.h: New file.
64729         * lib/fseterr.c: New file.
64730
64731 2007-03-08  Bruno Haible  <bruno@clisp.org>
64732
64733         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64734         * lib/getopt_.h: Likewise.
64735         * lib/mbswidth.h: Likewise.
64736         * lib/setenv.h: Likewise.
64737         * lib/vasnprintf.h: Likewise.
64738         * lib/vasprintf.h: Likewise.
64739         * lib/verror.h: Likewise.
64740         * lib/xsetenv.h: Likewise.
64741         * lib/xvasprintf.h: Likewise.
64742
64743 2007-03-08  Jim Meyering  <jim@meyering.net>
64744
64745         * users.txt: Add parted.
64746
64747         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64748
64749 2007-03-07  Bruno Haible  <bruno@clisp.org>
64750
64751         * m4/printf.m4: Make the shell script snippets copy&pastable.
64752
64753 2007-03-02  Bruno Haible  <bruno@clisp.org>
64754
64755         * lib/netinet_in_.h: New file.
64756         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64757         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64758         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64759         (Depends-on): Add absolute-header.
64760         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64761         into netinet/in.h.
64762
64763 2007-03-03  Bruno Haible  <bruno@clisp.org>
64764
64765         * lib/sys_select_.h: New file.
64766         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64767         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64768         * modules/sys_select (Files): Add lib/sys_select_.h.
64769         (Depends-on): Add absolute-header.
64770         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64771         into sys/select.h.
64772
64773 2007-03-02  Bruno Haible  <bruno@clisp.org>
64774
64775         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64776         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64777         values.
64778         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64779         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64780         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64781         * modules/sys_socket (Depends-on): Add absolute-header.
64782         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64783         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64784         (Include): Remove requirement of inclusion of <sys/types.h>.
64785
64786 2007-03-02  Bruno Haible  <bruno@clisp.org>
64787
64788         * lib/byteswap_.h (bswap_32): Fix formula.
64789
64790 2007-03-06  Bruno Haible  <bruno@clisp.org>
64791
64792         * modules/sprintf-posix-tests: New file.
64793         * tests/test-sprintf-posix.c: New file.
64794
64795         * modules/sprintf-posix: New file.
64796         * lib/sprintf.c: New file.
64797         * m4/sprintf-posix.m4: New file.
64798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64799         REPLACE_SPRINTF.
64800         * lib/stdio_.h (sprintf): New declaration.
64801         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64802         REPLACE_SPRINTF.
64803
64804 2007-03-06  Bruno Haible  <bruno@clisp.org>
64805
64806         * modules/vsprintf-posix-tests: New file.
64807         * tests/test-vsprintf-posix.c: New file.
64808         * tests/test-sprintf-posix.h: New file.
64809
64810         * modules/vsprintf-posix: New file.
64811         * lib/vsprintf.c: New file.
64812         * m4/vsprintf-posix.m4: New file.
64813         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64814         REPLACE_VSPRINTF.
64815         * lib/stdio_.h (vsprintf): New declaration.
64816         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64817         REPLACE_VSPRINTF.
64818
64819 2007-03-06  Bruno Haible  <bruno@clisp.org>
64820
64821         * modules/vsnprintf (Depend-on): Remove minmax.
64822
64823 2007-03-06  Bruno Haible  <bruno@clisp.org>
64824
64825         * modules/snprintf-posix-tests: New file.
64826         * tests/test-snprintf-posix.c: New file.
64827
64828         * modules/snprintf-posix: New file.
64829         * m4/snprintf-posix.m4: New file.
64830         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64831         gl_FUNC_SNPRINTF.
64832         (gl_FUNC_SNPRINTF): Invoke it.
64833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64834         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64835         is set.
64836         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64837
64838 2007-03-06  Bruno Haible  <bruno@clisp.org>
64839
64840         * modules/vsnprintf-posix-tests: New file.
64841         * tests/test-vsnprintf-posix.c: New file.
64842         * tests/test-snprintf-posix.h: New file.
64843
64844         * modules/vsnprintf-posix: New file.
64845         * m4/vsnprintf-posix.m4: New file.
64846         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64847         gl_FUNC_VSNPRINTF.
64848         (gl_FUNC_VSNPRINTF): Invoke it.
64849         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64850         * lib/stdio_.h (vsnprintf): Define as a replacement if
64851         REPLACE_VSNPRINTF is set.
64852         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64853
64854 2007-03-06  Bruno Haible  <bruno@clisp.org>
64855
64856         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64858
64859 2007-03-06  Bruno Haible  <bruno@clisp.org>
64860
64861         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64862         (asinl): Declare also if HAVE_DECL_ASINL is set.
64863         (atanl): Declare also if HAVE_DECL_ATANL is set.
64864         (ceill): Declare also if HAVE_DECL_CEILL is set.
64865         (cosl): Declare also if HAVE_DECL_COSL is set.
64866         (expl): Declare also if HAVE_DECL_EXPL is set.
64867         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64868         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64869         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64870         (logl): Declare also if HAVE_DECL_LOGL is set.
64871         (sinl): Declare also if HAVE_DECL_SINL is set.
64872         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64873         (tanl): Declare also if HAVE_DECL_TANL is set.
64874         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64876         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64877         declaration of frexpl, ldexpl.
64878         * modules/printf-frexpl (Depends-on): Add math.
64879         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64880
64881 2007-03-05  Bruno Haible  <bruno@clisp.org>
64882
64883         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64884         frexpl and ldexpl are declared.
64885         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64886
64887 2007-03-05  Bruno Haible  <bruno@clisp.org>
64888
64889         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64890         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64891
64892 2007-03-05  Bruno Haible  <bruno@clisp.org>
64893
64894         * lib/stdio_.h: Include <stddef.h>.
64895
64896 2007-03-05  Bruno Haible  <bruno@clisp.org>
64897
64898         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64899
64900 2007-03-05  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64903         NetBSD 4, from Ralf Wildenhues.
64904
64905 2007-03-04  Bruno Haible  <bruno@clisp.org>
64906
64907         * lib/vasprintf.h: Update #if logic for the case when the functions
64908         exist but are overridden.
64909
64910 2007-03-04  Bruno Haible  <bruno@clisp.org>
64911
64912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64913         implementations: glibc-2.4 and MacOS X 10.3.
64914         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64915         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64916         * tests/test-vasprintf-posix.c (test_function): Likewise.
64917
64918 2007-03-04  Bruno Haible  <bruno@clisp.org>
64919
64920         * modules/vasprintf-posix-tests: New file.
64921         * tests/test-vasprintf-posix.c: New file.
64922
64923         * modules/vasprintf-posix: New file.
64924         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64925         defined.
64926         * m4/vasprintf-posix.m4: New file.
64927         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64928         gl_FUNC_VASPRINTF.
64929         (gl_FUNC_VASPRINTF): Invoke it.
64930         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64931         here.
64932         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64933
64934 2007-03-04  Bruno Haible  <bruno@clisp.org>
64935
64936         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64937         REPLACE_GETTIMEOFDAY.
64938         * modules/sys_time (Makefile.am): Likewise.
64939         * m4/sys_time_h.m4: Likewise.
64940         * m4/gettimeofday.m4: Likewise.
64941
64942 2007-03-04  Bruno Haible  <bruno@clisp.org>
64943
64944         * modules/vasnprintf-posix-tests: New file.
64945         * tests/test-vasnprintf-posix.c: New file.
64946
64947         * modules/vasnprintf-posix: New file.
64948         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64949         printf-frexpl.h.
64950         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64951         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64952         REPLACE_VASNPRINTF is defined.
64953         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64954         gl_FUNC_VASNPRINTF.
64955         (gl_FUNC_VASNPRINTF): Invoke it.
64956         * m4/vasnprintf-posix.m4: New file.
64957         * m4/printf.m4: New file.
64958
64959 2007-03-04  Bruno Haible  <bruno@clisp.org>
64960
64961         Compile progreloc.c only if --enable-relocatable is specified.
64962         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64963         if --enable-relocatable was specified.
64964         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64965         lib_SOURCES.
64966
64967 2007-03-04  Jim Meyering  <jim@meyering.net>
64968
64969         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64970         Use it consistently, rather than enumerating errno constants.
64971
64972 2007-03-04  Bruno Haible  <bruno@clisp.org>
64973
64974         * modules/xvasprintf-tests: New file.
64975         * tests/test-xvasprintf.c: New file.
64976
64977         * modules/vasprintf-tests: New file.
64978         * tests/test-vasprintf.c: New file.
64979
64980         * modules/vasnprintf-tests: New file.
64981         * tests/test-vasnprintf.c: New file.
64982
64983         * modules/vsnprintf-tests: New file.
64984         * tests/test-vsnprintf.c: New file.
64985
64986         * modules/snprintf-tests: New file.
64987         * tests/test-snprintf.c: New file.
64988
64989 2007-03-04  Bruno Haible  <bruno@clisp.org>
64990
64991         Compile relocatable.c only if --enable-relocatable is specified.
64992         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64993         gl_RELOCATABLE_LIBRARY.
64994         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64995         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64996         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64997         gl_RELOCATABLE_LIBRARY.
64998         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64999         (Makefile.am): Remove lib_SOURCES.
65000         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65001         gl_RELOCATABLE_LIBRARY.
65002         (Makefile.am): Remove lib_SOURCES.
65003         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65004         always.
65005         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65006         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65007
65008 2007-03-04  Bruno Haible  <bruno@clisp.org>
65009
65010         * modules/argmatch-tests: New file.
65011         * tests/test-argmatch.c: New file.
65012
65013         * tests/test-allocsa.c (main): Halve the number of loop runs.
65014
65015         * modules/alloca-opt-tests: New file.
65016         * tests/test-alloca-opt.c: New file.
65017
65018 2007-03-04  Jim Meyering  <jim@meyering.net>
65019
65020         Work around difference between Linux ACLs and Solaris 10 ZFS.
65021         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65022         for EINVAL.
65023
65024 2007-03-03  Bruno Haible  <bruno@clisp.org>
65025
65026         * modules/relocatable-prog (Depends-on): Add back progreloc's
65027         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65028
65029 2007-03-03  Bruno Haible  <bruno@clisp.org>
65030
65031         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65032         * modules/relocatable-lib: New file.
65033
65034 2007-03-03  Bruno Haible  <bruno@clisp.org>
65035
65036         * modules/relocatable-prog: Renamed from modules/relocatable.
65037         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65038
65039 2007-03-03  Bruno Haible  <bruno@clisp.org>
65040
65041         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65042         m4/relocatable-lib.m4.
65043         (Depends-on): Remove 'relocatable'.
65044         (configure.ac): Add gl_RELOCATABLE_NOP.
65045
65046 2007-03-03  Bruno Haible  <bruno@clisp.org>
65047
65048         * modules/relocatable-prog-wrapper: New file.
65049         * modules/relocatable (Depends-on): Add it. Remove all other
65050         dependencies except progname.
65051         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65052
65053         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65054         (gl_FUNC_STRERROR): Nop.
65055         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65056
65057         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65058         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65059
65060         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65061         (gl_FUNC_READLINK): Update.
65062
65063         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65064
65065 2007-03-03  Bruno Haible  <bruno@clisp.org>
65066
65067         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65068         * modules/xreadlink (Depends-on): Add unistd.
65069         * modules/xreadlink-with-size (Depends-on): Likewise.
65070
65071 2007-03-03  Bruno Haible  <bruno@clisp.org>
65072
65073         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65074         extracted from gt_FUNC_SETENV.
65075         (gt_FUNC_SETENV): Remove macro.
65076         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65077         remove gt_FUNC_SETENV.
65078
65079 2007-03-03  Bruno Haible  <bruno@clisp.org>
65080
65081         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65082         ENABLE_RELOCATABLE here.
65083         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65084
65085 2007-03-03  Bruno Haible  <bruno@clisp.org>
65086
65087         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65088         * tests/test-rbtreehash_list.c: Include progname.h.
65089         (main): Call set_program_name.
65090
65091         * modules/rbtree-oset-tests (Depends-on): Add progname.
65092         * tests/test-rbtree_oset.c: Include progname.h.
65093         (main): Call set_program_name.
65094
65095         * modules/rbtree-list-tests (Depends-on): Add progname.
65096         * tests/test-rbtree_list.c: Include progname.h.
65097         (main): Call set_program_name.
65098
65099         * modules/linked-list-tests (Depends-on): Add progname.
65100         * tests/test-linked_list.c: Include progname.h.
65101         (main): Call set_program_name.
65102
65103 2007-03-03  Bruno Haible  <bruno@clisp.org>
65104
65105         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65106         All uses of __restrict changed to _Restrict_.
65107         * lib/glob_.h (__restrict): Remove macro.
65108
65109 2007-03-02  Bruno Haible  <bruno@clisp.org>
65110
65111         * modules/gettext (configure.ac): Require gettext infrastructure
65112         from version 0.16.1.
65113
65114 2007-03-02  Bruno Haible  <bruno@clisp.org>
65115
65116         * modules/linkedhash-list-tests (Depends-on): Add progname.
65117         * tests/test-linkedhash_list.c: Include progname.h.
65118         (main): Call set_program_name.
65119
65120         * modules/carray-list-tests (Depends-on): Add progname.
65121         * tests/test-carray_list.c: Include progname.h.
65122         (main): Call set_program_name.
65123
65124         * modules/avltreehash-list-tests (Depends-on): Add progname.
65125         * tests/test-avltreehash_list.c: Include progname.h.
65126         (main): Call set_program_name.
65127
65128         * modules/avltree-oset-tests (Depends-on): Add progname.
65129         * tests/test-avltree_oset.c: Include progname.h.
65130         (main): Call set_program_name.
65131
65132         * modules/avltree-list-tests (Depends-on): Add progname.
65133         * tests/test-avltree_list.c: Include progname.h.
65134         (main): Call set_program_name.
65135
65136         * modules/array-oset-tests (Depends-on): Add progname.
65137         * tests/test-array_oset.c: Include progname.h.
65138         (main): Call set_program_name.
65139
65140         * modules/array-list-tests (Depends-on): Add progname.
65141         * tests/test-array_list.c: Include progname.h.
65142         (main): Call set_program_name.
65143
65144         * modules/argp-tests (Depends-on): Add progname.
65145         * tests/test-argp.c: Include argp.h first. Include progname.h.
65146         (main): Call set_program_name.
65147
65148 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65149
65150         * doc/gnulib-tool.texi (Initial import): Reword description of
65151         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65152         limited effect even if defined after the first system include.
65153
65154 2007-03-01  Bruno Haible  <bruno@clisp.org>
65155
65156         * build-aux/config.libpath: Update to libtool-1.5.22.
65157         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65158
65159 2007-03-01  Bruno Haible  <bruno@clisp.org>
65160
65161         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65162         foo_CFLAGS.
65163         Reported by Ralf Wildenhues.
65164
65165 2007-03-01  Bruno Haible  <bruno@clisp.org>
65166
65167         * build-aux/install-reloc: Remove object files left over by some
65168         compilers.
65169         Reported by Ralf Wildenhues.
65170
65171 2007-03-01  Bruno Haible  <bruno@clisp.org>
65172
65173         * build-aux/install-reloc: Break long lines.
65174
65175 2007-03-01  Bruno Haible  <bruno@clisp.org>
65176
65177         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65178         Reported by Ralf Wildenhues.
65179
65180 2007-03-01  Bruno Haible  <bruno@clisp.org>
65181
65182         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65183         include ordering constraints.
65184
65185 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65186
65187         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65188         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
65189         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
65190         as another example.
65191         * lib/time_.h: Fix misspelling.
65192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65193         Require gl_HEADER_TIME_H_DEFAULTS.
65194         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
65195         * m4/time_r.m4 (gl_TIME_R): Likewise.
65196         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
65197
65198 2007-03-01  Bruno Haible  <bruno@clisp.org>
65199
65200         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
65201         * m4/utimens.m4 (gl_UTIMENS): Likewise.
65202
65203 2007-03-01  Jim Meyering  <jim@meyering.net>
65204
65205         * modules/xreadlink (Maintainer): Add my name.
65206         * modules/xreadlink-with-size (Depends-on): Alphabetize.
65207
65208 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
65209             Bruno Haible  <bruno@clisp.org>
65210
65211         * build-aux/install-reloc: Compile also c-ctype.c.
65212         * build-aux/relocatable.sh.in: New file.
65213         * doc/relocatable.texi: New file.
65214         * doc/relocatable-maint.texi: New file.
65215         * doc/gnulib.texi: Include relocatable-maint.texi.
65216         * lib/progreloc.c: Include unistd.h unconditionally.
65217         * lib/relocwrapper.c: Include unistd.h unconditionally.
65218         Include c-ctype.h.
65219         (add_dotbin): Use c_tolower.
65220         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
65221         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
65222         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
65223         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
65224         to m4/relocatable-lib.m4.
65225         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
65226         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
65227         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
65228         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
65229         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
65230         * modules/relocatable: New file.
65231         * modules/relocatable-lib: New file.
65232         * modules/relocatable-script: New file.
65233
65234 2007-02-28  Bruno Haible  <bruno@clisp.org>
65235
65236         Import --enable-relocatable infrastructure.
65237         * build-aux/config.libpath: New file, from GNU gettext.
65238         * build-aux/install-reloc: New file, from GNU gettext.
65239         * build-aux/reloc-ldflags: New file, from GNU gettext.
65240         * lib/relocatable.h: New file, from GNU gettext.
65241         * lib/relocatable.c: New file, from GNU gettext.
65242         * lib/relocwrapper.c: New file, from GNU gettext.
65243         * m4/relocatable.m4: New file, from GNU gettext.
65244
65245 2007-02-28  Bruno Haible  <bruno@clisp.org>
65246
65247         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
65248
65249         * modules/xreadlink: New file, from GNU gettext with modifications.
65250         * lib/xreadlink.c: New file, from GNU gettext.
65251         * lib/xreadlink.h: Add comments.
65252         (xreadlink): New declaration.
65253
65254         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
65255         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
65256         lib/xreadlink-with-size.c.
65257         (configure.ac): Remove gl_XREADLINK invocation.
65258         (Makefile.am): Augment lib_SOURCES.
65259         * m4/xreadlink.m4: Remove file.
65260         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
65261         (xreadlink_with_size): Renamed from xreadink.
65262         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
65263         * modules/canonicalize (Depends-on): Replace xreadlink with
65264         xreadlink-with-size.
65265         * lib/canonicalize.c (canonicalize_filename_mode): Update.
65266
65267 2007-02-25  Jim Meyering  <jim@meyering.net>
65268
65269         * build-aux/announce-gen: When complaining about excess arguments,
65270         list them.
65271
65272 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65273
65274         * README: Document signed integer overflow situation more
65275         accurately.
65276
65277 2007-02-25  Bruno Haible  <bruno@clisp.org>
65278
65279         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
65280         'a' or 'A' conversion.
65281
65282 2007-02-25  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/filename: Renamed from modules/pathname.
65285         (Files): Replace lib/pathname.h with lib/filename.h. Replace
65286         lib/concatpath.c with lib/concat-filename.c.
65287         (Makefile.am): Update.
65288         (Include): Replace pathname.h with filename.h.
65289         * lib/filename.h: Renamed from lib/pathname.h.
65290         (concatenated_filename): Renamed from concatenated_pathname.
65291         * lib/concat-filename.c: Renamed from lib/concatpath.c.
65292         (concatenated_filename): Renamed from concatenated_pathname.
65293         * lib/findprog.c: Include filename.h instead of pathname.h.
65294         (find_in_path): Update.
65295         * lib/javacomp.c: Include filename.h instead of pathname.h.
65296         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65297         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65298         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65299         is_oldgcj_14_13_usable, is_javac_usable): Update.
65300         * lib/javaexec.c: Include filename.h instead of pathname.h.
65301         (execute_java_class): Update.
65302         * modules/findprog: Update.
65303         * modules/javacomp: Update.
65304         * modules/javaexec: Update.
65305         * MODULES.html.sh (File system functions): Add 'filename', remove
65306         'pathname'.
65307
65308 2007-02-25  Bruno Haible  <bruno@clisp.org>
65309
65310         * modules/printf-frexpl-tests: New file.
65311         * tests/test-printf-frexpl.c: New file.
65312
65313         * modules/printf-frexpl: New file.
65314         * lib/printf-frexpl.h: New file.
65315         * lib/printf-frexpl.c: New file.
65316         * m4/printf-frexpl.m4: New file.
65317
65318 2007-02-25  Bruno Haible  <bruno@clisp.org>
65319
65320         * modules/printf-frexp-tests: New file.
65321         * tests/test-printf-frexp.c: New file.
65322
65323         * modules/printf-frexp: New file.
65324         * lib/printf-frexp.h: New file.
65325         * lib/printf-frexp.c: New file.
65326         * m4/printf-frexp.m4: New file.
65327
65328 2007-02-25  Bruno Haible  <bruno@clisp.org>
65329
65330         Assume automake >= 1.10 for the tests.
65331         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65332         * modules/arctwo-tests: Likewise.
65333         * modules/argp-tests: Likewise.
65334         * modules/avltree-list-tests: Likewise.
65335         * modules/avltree-oset-tests: Likewise.
65336         * modules/avltreehash-list-tests: Likewise.
65337         * modules/carray-list-tests: Likewise.
65338         * modules/crc-tests: Likewise.
65339         * modules/des-tests: Likewise.
65340         * modules/gc-arcfour-tests: Likewise.
65341         * modules/gc-arctwo-tests: Likewise.
65342         * modules/gc-des-tests: Likewise.
65343         * modules/gc-hmac-md5-tests: Likewise.
65344         * modules/gc-hmac-sha1-tests: Likewise.
65345         * modules/gc-md2-tests: Likewise.
65346         * modules/gc-md4-tests: Likewise.
65347         * modules/gc-md5-tests: Likewise.
65348         * modules/gc-pbkdf2-sha1-tests: Likewise.
65349         * modules/gc-rijndael-tests: Likewise.
65350         * modules/gc-sha1-tests: Likewise.
65351         * modules/gc-tests: Likewise.
65352         * modules/getaddrinfo-tests: Likewise.
65353         * modules/hmac-md5-tests: Likewise.
65354         * modules/hmac-sha1-tests: Likewise.
65355         * modules/linked-list-tests: Likewise.
65356         * modules/linkedhash-list-tests: Likewise.
65357         * modules/lock-tests: Likewise.
65358         * modules/md2-tests: Likewise.
65359         * modules/md4-tests: Likewise.
65360         * modules/md5-tests: Likewise.
65361         * modules/rbtree-list-tests: Likewise.
65362         * modules/rbtree-oset-tests: Likewise.
65363         * modules/rbtreehash-list-tests: Likewise.
65364         * modules/read-file-tests: Likewise.
65365         * modules/rijndael-tests: Likewise.
65366         * modules/stdint-tests: Likewise.
65367         * modules/tls-tests: Likewise.
65368
65369 2007-02-24  Bruno Haible  <bruno@clisp.org>
65370
65371         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
65372         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
65373         function; instead check whether isnan with a double argument links.
65374         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
65375         function; instead check whether isnan with a 'long double' argument
65376         links.
65377         Reported by Eric Blake <ebb9@byu.net>.
65378
65379 2007-02-24  Bruno Haible  <bruno@clisp.org>
65380
65381         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65382         defined.
65383         * lib/isnanl.c: Remove all code. Just include isnan.c.
65384         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65385
65386 2007-02-25  Jim Meyering  <jim@meyering.net>
65387
65388         Avoid conflicting types for 'unsetenv' on FreeBSD.
65389         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65390         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65391         in stdlib.h.
65392
65393 2007-02-24  Bruno Haible  <bruno@clisp.org>
65394
65395         * modules/isnanl-nolibm-tests: New file.
65396         * tests/test-isnanl.c: New file.
65397
65398         * modules/isnanl-nolibm: New file.
65399         * lib/isnanl.h: New file.
65400         * lib/isnanl.c: New file.
65401         * m4/isnanl.m4: New file.
65402
65403 2007-02-24  Bruno Haible  <bruno@clisp.org>
65404
65405         * modules/isnan-nolibm-tests: New file.
65406         * tests/test-isnan.c: New file.
65407
65408         * modules/isnan-nolibm: New file.
65409         * lib/isnan.h: New file.
65410         * lib/isnan.c: New file.
65411         * m4/isnan.m4: New file.
65412
65413 2007-02-24  Bruno Haible  <bruno@clisp.org>
65414
65415         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
65416         assume that an exponent fits in 20 bits.
65417
65418 2007-02-24  Jim Meyering  <jim@meyering.net>
65419
65420         * m4/regex.m4: Update the description of the configure-time option,
65421         --without-included-regex, to state accurately what the defaults are,
65422         and perhaps to give people an idea why using this option is risky.
65423
65424 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65425
65426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
65427         loops on small arguments.  This attempts to avoid the problem
65428         Bruno Haible reported for AIX 4.3.2 in
65429         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
65430
65431 2007-02-23  Bruno Haible  <bruno@clisp.org>
65432
65433         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
65434         Needed for help2man.
65435
65436 2007-02-23  Karl Berry  <karl@gnu.org>
65437
65438         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
65439         exists, foo.h should be cvs-ignored, not committed.
65440
65441 2007-02-23  Eric Blake  <ebb9@byu.net>
65442
65443         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
65444         * lib/stat-time.h (includes): Likewise.
65445         * lib/utimecmp.c (includes): Likewise.
65446         * lib/utimens.h (includes): Likewise.
65447         * lib/getdate.y (includes): Also include "timespec.h" for use
65448         internal to the module.
65449         * modules/utimens (Depends-on): Revert yesterday's patch.
65450         * modules/nanosleep (Depends-on): Add missing dependency.
65451
65452 2007-02-22  Bruno Haible  <bruno@clisp.org>
65453
65454         * lib/glob.c: Don't include getlogin_r.h.
65455
65456 2007-02-22  Jim Meyering  <jim@meyering.net>
65457
65458         * modules/utimens (Depends-on): Add timespec, required for
65459         utimens.h's inclusion of timespec.h.
65460
65461 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
65462
65463         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
65464         long unreadable paths in GNU/Linux.  Problem reported by Andreas
65465         Schwab in
65466         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
65467         I'll try to think of a better way to fix the Solaris problem.
65468
65469         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
65470         like glibc; on Solaris 10, it fails with errno == EINVAL.
65471         POSIX says the behavior is unspecified if the first argument is NULL,
65472         so play it safe and never pass NULL to the system getcwd.
65473
65474 2007-02-21  Jim Meyering  <jim@meyering.net>
65475
65476         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
65477         of gettimeofday.  It would conflict with the one now always
65478         provided via sys_time_.h.  Reported by Matthew Woehlke, as
65479         an IRIX 6.5 build failure.
65480
65481 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65482
65483         Minor fixups to port to Solaris 10 with Sun C 5.8.
65484         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65485         * modules/getcwd (Depends-on): Add dirfd.
65486         * lib/putenv.c (putenv): #undef it.
65487         (rpl_putenv): New decl.
65488         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65489
65490 2007-02-20  Bruno Haible  <bruno@clisp.org>
65491
65492         * modules/stdio-tests: New file.
65493         * tests/test-stdio.c: New file.
65494
65495         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65496         (Depends-on): Add stdio.
65497         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65498         (Include): Use <stdio.h> instead of vsnprintf.h.
65499         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65500         HAVE_DECL_VSNPRINTF.
65501         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65502
65503         * modules/snprintf (Files): Remove lib/snprintf.h.
65504         (Depends-on): Add stdio.
65505         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65506         (Include): Use <stdio.h> instead of snprintf.h.
65507         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65508         HAVE_DECL_SNPRINTF.
65509         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65510         * lib/getaddrinfo.c: Likewise.
65511
65512         * modules/stdio: New file.
65513         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65514         * lib/snprintf.h: Remove file.
65515         * lib/vsnprintf.h: Remove file.
65516         * lib/.cppi-disable: Remove snprintf.h.
65517         * m4/stdio_h.m4: New file.
65518         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65519
65520 2007-02-20  Jim Meyering  <jim@meyering.net>
65521
65522         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65523         used by e.g., mingw.  From Bruno Haible.
65524
65525 2007-02-19  Bruno Haible  <bruno@clisp.org>
65526
65527         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65528         warnings.
65529         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65530
65531 2007-02-19  Bruno Haible  <bruno@clisp.org>
65532
65533         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65534         from mingw users.
65535
65536 2007-02-19  Bruno Haible  <bruno@clisp.org>
65537
65538         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65539         warnings.
65540         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65541
65542 2007-02-19  Jim Meyering  <jim@meyering.net>
65543
65544         Don't use FD after a successful "fdopendir (fd)".
65545         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65546         Reset it by calling dirfd on the just-obtained DIR*.
65547
65548         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65549         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65550
65551 2007-02-18  Bruno Haible  <bruno@clisp.org>
65552
65553         * lib/readlink.c: Include <unistd.h>.
65554         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65555         HAVE_READLINK.
65556         * modules/readlink (Depends-on): Add unistd.
65557         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65558         (Include): Add <unistd.h>.
65559
65560         * lib/getlogin_r.h: Remove file.
65561         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65562         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65563         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65564         HAVE_DECL_GETLOGIN_R.
65565         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65566         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65567         (Include): Use <unistd.h> instead of getlogin_r.h.
65568
65569         * lib/getcwd.h: Remove file.
65570         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65571         * lib/xgetcwd.c: Likewise.
65572         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65573         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65574         * modules/getcwd (Files): Remove lib/getcwd.h.
65575         (Depends-on): Add unistd.
65576         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65577         (Include): Use <unistd.h> instad of getcwd.h.
65578
65579         * lib/ftruncate.c: Include <unistd.h> first.
65580         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65581         Set HAVE_FTRUNCATE.
65582         * modules/ftruncate (Depends-on): Add unistd.
65583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65584
65585         * lib/fchdir.c: Include <unistd.h> first.
65586         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65587         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65588         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65589         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65590         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65591
65592         * lib/dup2.c: Include <unistd.h> first.
65593         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65594         HAVE_DUP2.
65595         * modules/dup2 (Depends-on): Add unistd.
65596         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65597
65598         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65599         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65600         REPLACE_CHOWN. Don't define chown as a macro here.
65601         * modules/chown (Depends-on): Add unistd.
65602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65603
65604         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65605         Add definition for GL_LINK_WARNING.
65606         (chown, dup2): New declarations.
65607         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65608         link warning.
65609         (ftruncate): New declaration.
65610         (getcwd): New declaration, taken from old getcwd.h.
65611         (getlogin_r): New declaration, taken from old getlogin_r.h.
65612         (readlink): New declaration.
65613         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65614         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65615         (gl_PREREQ_UNISTD): Remove macro.
65616         (gl_UNISTD_MODULE_INDICATOR): New macro.
65617         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65618         many new variables. Don't set UNISTD_H.
65619         * modules/unistd (Description): Change.
65620         (Depends-on): Add link-warning.
65621         (configure.ac): Update.
65622         (Makefile.am): Create unistd.h always. Substitute many new variables
65623         into it.
65624
65625 2007-02-18  Bruno Haible  <bruno@clisp.org>
65626
65627         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65628         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65629         HAVE_GETSUBOPT.
65630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65631         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65632         * lib/getsubopt.h: Remove file.
65633         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65634         (Depends-on): Add stdlib.
65635         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65636         (Includes): Use <stdlib.h> instead of getsubopt.h.
65637         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65638         Set HAVE_GETSUBOPT.
65639         * lib/getsubopt.c: Don't include getsubopt.h.
65640
65641 2007-02-18  Bruno Haible  <bruno@clisp.org>
65642
65643         * modules/fchdir (Depends-on): Add dup2.
65644
65645 2007-02-18  Bruno Haible  <bruno@clisp.org>
65646
65647         * lib/stdlib_.h: Handle glibc's special invocation convention
65648         specially.
65649
65650 2007-02-18  Bruno Haible  <bruno@clisp.org>
65651
65652         * modules/stdlib-tests: New file.
65653         * tests/test-stdlib.c: New file.
65654
65655         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65656         (Depends-on): Add stdlib.
65657         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65658         (Includes): Use <stdlib.h> instead of mkstemp.h.
65659         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65660         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65661         * lib/mkstemp.c: Don't include mkstemp.h.
65662         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65663         * lib/stdlib--.h: Don't include mkstemp.h.
65664
65665         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65666         (Depends-on): Add stdlib.
65667         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65668         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65669         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65670         HAVE_MKDTEMP.
65671         * lib/mkdtemp.c: Don't include mkdtemp.h.
65672         * lib/clean-temp.c: Don't include mkdtemp.h.
65673
65674         * modules/exit (Files): Remove lib/exit.h.
65675         (Depends-on): Add stdlib.
65676         (Makefile.am): Remove lib_SOURCES.
65677         (Include): Use <stdlib.h> instead of exit.h.
65678         * lib/argmatch.c: Don't include exit.h.
65679         * lib/execute.c: Likewise.
65680         * lib/pagealign_alloc.c: Likewise.
65681         * lib/pipe.c: Likewise.
65682         * lib/wait-process.c: Likewise.
65683         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65684         * lib/exitfail.c: Likewise.
65685         * lib/savewd.c: Likewise.
65686         * lib/xsetenv.c: Likewise.
65687
65688         * modules/stdlib: New file.
65689         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65690         and extra comments about mkstemp().
65691         * lib/exit.h: Remove file.
65692         * lib/mkdtemp.h: Remove file.
65693         * lib/mkstemp.h: Remove file.
65694         * m4/stdlib_h.m4: New file.
65695         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65696
65697 2007-02-18  Bruno Haible  <bruno@clisp.org>
65698
65699         * modules/math-tests: New file.
65700         * tests/test-math.c: New file.
65701
65702         * modules/math: New file.
65703         * modules/mathl (Files): Remove lib/mathl.h.
65704         (Depends-on): Add math.
65705         (Makefile.am): Don't mention mathl.h.
65706         (Include): Use <math.h> instead of mathl.h.
65707         * lib/math_.h: New file.
65708         * lib/mathl.h: Remove file.
65709         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65710         mathl.h.
65711         * lib/asinl.c: Likewise.
65712         * lib/atanl.c: Likewise.
65713         * lib/ceill.c: Likewise.
65714         * lib/cosl.c: Likewise.
65715         * lib/expl.c: Likewise.
65716         * lib/floorl.c: Likewise.
65717         * lib/frexpl.c: Likewise.
65718         * lib/ldexpl.c: Likewise.
65719         * lib/logl.c: Likewise.
65720         * lib/sincosl.c: Likewise.
65721         * lib/sinl.c: Likewise.
65722         * lib/sqrtl.c: Likewise.
65723         * lib/tanl.c: Likewise.
65724         * lib/trigl.c: Likewise.
65725         * m4/math_h.m4: New file.
65726         * MODULES.html.sh (Mathematics): Add math.
65727
65728 2007-02-17  Bruno Haible  <bruno@clisp.org>
65729
65730         * modules/wctype-tests: New file.
65731         * tests/test-wctype.c: New file.
65732
65733         * modules/wchar-tests: New file.
65734         * tests/test-wchar.c: New file.
65735
65736         * modules/unistd-tests: New file.
65737         * tests/test-unistd.c: New file.
65738
65739         * modules/time-tests: New file.
65740         * tests/test-time.c: New file.
65741
65742         * modules/sysexits-tests: New file.
65743         * tests/test-sysexits.c: New file.
65744
65745         * modules/sys_time-tests: New file.
65746         * tests/test-sys_time.c: New file.
65747
65748         * modules/sys_stat-tests: New file.
65749         * tests/test-sys_stat.c: New file.
65750
65751         * modules/sys_socket-tests: New file.
65752         * tests/test-sys_socket.c: New file.
65753
65754         * modules/sys_select-tests: New file.
65755         * tests/test-sys_select.c: New file.
65756
65757         * modules/string-tests: New file.
65758         * tests/test-string.c: New file.
65759
65760         * modules/stdbool-tests: New file.
65761         * tests/test-stdbool.c: New file.
65762
65763         * modules/netinet_in-tests: New file.
65764         * tests/test-netinet_in.c: New file.
65765
65766         * modules/inttypes-tests: New file.
65767         * tests/test-inttypes.c: New file.
65768
65769         * modules/fcntl-tests: New file.
65770         * tests/test-fcntl.c: New file.
65771
65772         * modules/byteswap-tests: New file.
65773         * tests/test-byteswap.c: New file.
65774
65775         * modules/arpa_inet-tests: New file.
65776         * tests/test-arpa_inet.c: New file.
65777
65778 2007-02-17  Bruno Haible  <bruno@clisp.org>
65779
65780         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65781         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65782         if the corresponding module is not enabled. Emit link warnings if
65783         the function is used nevertheless.
65784         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65785         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65786         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65787         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65788         * modules/inttypes (Depends-on): Add link-warning.
65789         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65790         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65791         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65792         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65793         * modules/imaxdiv (configure.ac): Likewise.
65794         * modules/strtoimax (configure.ac): Likewise.
65795         * modules/strtoumax (configure.ac): Likewise.
65796
65797 2007-02-17  Bruno Haible  <bruno@clisp.org>
65798
65799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65800         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65801         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65802         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65803
65804 2007-02-17  Bruno Haible  <bruno@clisp.org>
65805
65806         * modules/link-warning: New file.
65807         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65808         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65809         * modules/string (Depends-on): Add link-warning.
65810         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65811         string.h.
65812         * MODULES.html.sh (Support for building libraries and executables): Add
65813         link-warning.
65814
65815 2007-02-17  Bruno Haible  <bruno@clisp.org>
65816
65817         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65818         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65819         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65820         long lines.
65821
65822 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65823             Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/tmpfile: New file.
65826         * lib/tmpfile.c: New file.
65827         * m4/tmpfile.m4: New file.
65828         * MODULES.html.sh (func_all_modules): New section "Input/output".
65829
65830 2007-02-15  Bruno Haible  <bruno@clisp.org>
65831
65832         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65833         (supports_delete_on_close): New function.
65834         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65835
65836 2007-02-14  Bruno Haible  <bruno@clisp.org>
65837
65838         * modules/mbspcasecmp-tests: New file.
65839         * tests/test-mbspcasecmp.sh: New file.
65840         * tests/test-mbspcasecmp.c: New file.
65841
65842         New module mbspcasecmp.
65843         * modules/mbspcasecmp: New file.
65844         * lib/mbspcasecmp.c: New file.
65845         * lib/string_.h (strncasecmp): Change warning message.
65846         (mbspcasecmp): New declaration.
65847         * m4/mbspcasecmp.m4: New file.
65848         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65849         GNULIB_MBSPCASECMP.
65850         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65851         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65852
65853 2007-02-14  Bruno Haible  <bruno@clisp.org>
65854
65855         * modules/mbsncasecmp-tests: New file.
65856         * tests/test-mbsncasecmp.sh: New file.
65857         * tests/test-mbsncasecmp.c: New file.
65858
65859         New module mbsncasecmp.
65860         * modules/mbsncasecmp: New file.
65861         * lib/mbsncasecmp.c: New file.
65862         * lib/string_.h (mbsncasecmp): New declaration.
65863         * m4/mbsncasecmp.m4: New file.
65864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65865         GNULIB_MBSNCASECMP.
65866         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65867         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65868
65869 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65870
65871         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65872         Verify that it doesn't overlap with our flags.
65873         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65874         do not have the desired effect in multibyte locales; instead, use
65875         mbscasecmp.
65876         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65877         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65878         we don't require GNU fnmatch ourselves (if our users require it, they
65879         should do so explicitly).
65880
65881         Fix regex code so it doesn't rely on strcasecmp.
65882         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65883         Otherwise, include gnulib's langinfo.h.
65884         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65885         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65886         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65887         * modules/regex (FILES): Remove m4/codeset.m4.
65888         (Depends-on): Add localcharset.  Remove strcase.
65889
65890 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65891
65892         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65893         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65894
65895 2007-02-13  Bruno Haible  <bruno@clisp.org>
65896
65897         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65898         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65899
65900 2007-02-12  Bruno Haible  <bruno@clisp.org>
65901
65902         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65903         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65904         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65905         time warning rather than a link error.
65906
65907 2007-02-12  Bruno Haible  <bruno@clisp.org>
65908
65909         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65910         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65911         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65912
65913 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65916         args, not 2.
65917
65918 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65919
65920         New module 'time', so that apps can include <time.h> as per
65921         POSIX and GNU instead of separate include files like time_r.h
65922         and timegm.h.  This implementation tries out a simpler approach
65923         for replacing decls in standard include files (as compared to
65924         the string module), somewhat as an experiment.
65925
65926         * config/srclist.txt: Comment out mktime.c for now.
65927         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65928         since it doesn't apply any more.  Use generic wording instead.
65929         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65930         'time'.
65931         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65932         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65933         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65934         Don't include <sys/types.h>; no longer needed since we assume C89.
65935         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65936         * lib/strftime.c: Likewise.
65937         * lib/time_r.c: Likewise.
65938         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65939         * lib/nanosleep.c: Include <time.h> first, to check interface.
65940         * lib/strptime.c: Likewise.
65941         * lib/time_r.c: Likewise.
65942         * lib/timegm.c: Likewise.
65943         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65944         needed.
65945         * lib/timegm.c: Don't include timegm.h; no longer needed.
65946         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65947         time.h now handles any problems in that area.
65948         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65949         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65950         that time.h defines struct timespec.
65951         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65952         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65953         handles that.
65954         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65955         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65956         needed.  Set REPLACE_LOCALTIME.
65957         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65958         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65959         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65960         nanosleep; time_h.m4 now does that.  Don't require
65961         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65962         module handles this now.
65963         * modules/getdate (Depends-on): Remove timespec.  Add time.
65964         * modules/nanosleep (Depends-on): Likewise.
65965         * modules/stat-time (Depends-on): Likewise.
65966         * modules/nanosleep (Include): Include time.h, not timespec.h.
65967         * modules/strptime (Files): Remove lib/strptime.h.
65968         (Depends-on): Add extensions, time.
65969         (Include): Include time.h, not strptime.h.
65970         * modules/time_r (Files): Remove lib/time_r.h.
65971         (Depends-on): Add time.
65972         (Include): Include time.h, not time_r.h.
65973         * modules/timegm: Likewise.
65974         * modules/timespec (Description): Now does timespec-related decls
65975         of our own, instead of struct timespec itself.
65976         (Depends-on): Add time; remove extensions.
65977         (Maintainer): Add self.
65978         * modules/utimecmp (Depends-on): Add time; remove timespec.
65979         * modules/utimens (Depends-on): Likewise.
65980         * modules/xnanosleep (Depends-on): Likewise.
65981
65982 2007-02-11  Bruno Haible  <bruno@clisp.org>
65983
65984         * lib/c-strstr.c: Include allocsa.h.
65985         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65986         * lib/c-strcasestr.c: Include allocsa.h.
65987         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65988         * lib/strcasestr.c: Include allocsa.h.
65989         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65990         * lib/mbsstr.c: Include allocsa.h.
65991         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65992         allocsa/freesa instead of malloc/free.
65993         * lib/mbscasestr.c: Include allocsa.h.
65994         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65995         allocsa/freesa instead of malloc/free.
65996         * modules/c-strstr (Depends-on): Add allocsa.
65997         * modules/c-strcasestr (Depends-on): Likewise.
65998         * modules/strcasestr (Depends-on): Likewise.
65999         * modules/mbsstr (Depends-on): Likewise.
66000         * modules/mbscasestr (Depends-on): Likewise.
66001
66002 2007-02-11  Bruno Haible  <bruno@clisp.org>
66003
66004         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66005
66006         * modules/mbsspn-tests: New file.
66007         * tests/test-mbsspn.sh: New file.
66008         * tests/test-mbsspn.c: New file.
66009
66010 2007-02-11  Bruno Haible  <bruno@clisp.org>
66011
66012         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66013
66014         * modules/mbspbrk-tests: New file.
66015         * tests/test-mbspbrk.sh: New file.
66016         * tests/test-mbspbrk.c: New file.
66017
66018 2007-02-11  Bruno Haible  <bruno@clisp.org>
66019
66020         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66021         unneeded cast.
66022
66023         * modules/mbscspn-tests: New file.
66024         * tests/test-mbscspn.sh: New file.
66025         * tests/test-mbscspn.c: New file.
66026
66027 2007-02-11  Bruno Haible  <bruno@clisp.org>
66028
66029         * modules/mbscasecmp-tests: New file.
66030         * tests/test-mbscasecmp.sh: New file.
66031         * tests/test-mbscasecmp.c: New file.
66032
66033 2007-02-11  Bruno Haible  <bruno@clisp.org>
66034
66035         Ensure O(n) worst-case complexity of mbscasestr.
66036         * lib/mbscasestr.c: Include stdbool.h.
66037         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66038         functions.
66039         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66040         the bookkeeping indicates that it's worth it.
66041         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66042
66043         * modules/mbscasestr-tests: New file.
66044         * tests/test-mbscasestr1.c: New file.
66045         * tests/test-mbscasestr2.sh: New file.
66046         * tests/test-mbscasestr2.c: New file.
66047         * tests/test-mbscasestr3.sh: New file.
66048         * tests/test-mbscasestr3.c: New file.
66049         * tests/test-mbscasestr4.sh: New file.
66050         * tests/test-mbscasestr4.c: New file.
66051         * m4/locale-tr.m4: New file.
66052
66053 2007-02-11  Bruno Haible  <bruno@clisp.org>
66054
66055         Ensure O(n) worst-case complexity of mbsstr.
66056         * lib/mbsstr.c: Include stdbool.h.
66057         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66058         functions.
66059         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66060         bookkeeping indicates that it's worth it.
66061         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66062
66063         * modules/mbsstr-tests: New file.
66064         * tests/test-mbsstr1.c: New file.
66065         * tests/test-mbsstr2.sh: New file.
66066         * tests/test-mbsstr2.c: New file.
66067         * tests/test-mbsstr3.sh: New file.
66068         * tests/test-mbsstr3.c: New file.
66069         * m4/locale-fr.m4: New file.
66070
66071 2007-02-11  Bruno Haible  <bruno@clisp.org>
66072
66073         * lib/mbsrchr.c (mbsrchr): Fix bug.
66074
66075         * modules/mbsrchr-tests: New file.
66076         * tests/test-mbsrchr.sh: New file.
66077         * tests/test-mbsrchr.c: New file.
66078
66079 2007-02-11  Bruno Haible  <bruno@clisp.org>
66080
66081         * lib/mbschr.c (mbschr): Fix bug.
66082
66083         * modules/mbschr-tests: New file.
66084         * tests/test-mbschr.sh: New file.
66085         * tests/test-mbschr.c: New file.
66086         * m4/locale-zh.m4: New file.
66087
66088 2007-02-11  Bruno Haible  <bruno@clisp.org>
66089
66090         Support for copying multibyte string iterators.
66091         * lib/mbiter.h: Include <string.h>.
66092         (mbiter_multi_copy): New function.
66093         (mbi_copy): New macro.
66094         * lib/mbuiter.h: Include <string.h>.
66095         (mbuiter_multi_copy): New function.
66096         (mbui_copy): New macro.
66097
66098 2007-02-11  Bruno Haible  <bruno@clisp.org>
66099
66100         New module mbslen.
66101         * modules/mbslen: New file.
66102         * lib/mbslen.c: New file.
66103         * lib/string_.h (mbslen): New declaration.
66104         * m4/mbslen.m4: New file.
66105         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66106         GNULIB_MBSLEN.
66107         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66108         * MODULES.html.sh (Internationalization functions): Add mbslen.
66109
66110 2007-02-11  Bruno Haible  <bruno@clisp.org>
66111
66112         Ensure O(n) worst-case complexity of strcasestr substitute.
66113         * lib/strcasestr.c: Include stdbool.h.
66114         (knuth_morris_pratt): New function.
66115         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66116         bookkeeping indicates that it's worth it.
66117         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66118
66119         * modules/strcasestr-tests: New file.
66120         * tests/test-strcasestr.c: New file.
66121
66122 2007-02-11  Bruno Haible  <bruno@clisp.org>
66123
66124         Ensure O(n) worst-case complexity of c_strcasestr.
66125         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66126         (knuth_morris_pratt): New function.
66127         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66128         the bookkeeping indicates that it's worth it.
66129         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66130
66131         * modules/c-strcasestr-tests: New file.
66132         * tests/test-c-strcasestr.c: New file.
66133
66134 2007-02-11  Bruno Haible  <bruno@clisp.org>
66135
66136         Ensure O(n) worst-case complexity of c_strstr.
66137         * lib/c-strstr.c: Include stdbool.h, string.h.
66138         (knuth_morris_pratt): New function.
66139         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66140         bookkeeping indicates that it's worth it.
66141         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66142
66143         * lib/c-strstr.c: Complete rewrite for maintainability.
66144
66145         * modules/c-strstr-tests: New file.
66146         * tests/test-c-strstr.c: New file.
66147
66148 2007-02-11  Bruno Haible  <bruno@clisp.org>
66149
66150         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66151         5.2.1 and earlier, whereby \055 was treated just like the range
66152         delimiter '-'.
66153         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66154
66155 2007-02-08  Bruno Haible  <bruno@clisp.org>
66156
66157         * modules/regex (Depends-on): Add stdbool.
66158         Reported by Dalibor Topic <robilad@kaffe.org>.
66159
66160 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66161
66162         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66163         Prefer returning from main to exiting from it.
66164         Remove unnecessary parens after sizeof.
66165
66166 2007-02-05  Bruno Haible  <bruno@clisp.org>
66167
66168         New module mbssep.
66169         * modules/mbssep: New file.
66170         * lib/mbssep.c: New file.
66171         * lib/string_.h (strsep): Add a conditional link warning.
66172         (mbssep): New declaration.
66173         * m4/mbssep.m4: New file.
66174         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66175         GNULIB_MBSSEP.
66176         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66177         * MODULES.html.sh (Internationalization functions): Add mbssep.
66178
66179 2007-02-05  Bruno Haible  <bruno@clisp.org>
66180
66181         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66182         Optimize search in case of 1 delimiter.
66183
66184 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66185
66186         * lib/acl.h: Include sys/types.h before sys/acl.h.
66187
66188 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66189
66190         Merge upstream fix for glibc bugzilla #3957:
66191
66192         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
66193
66194         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
66195         bit for RE_HAT_LISTS_NOT_NEWLINE.
66196         (build_charclass_op): Remove bogus comment.
66197
66198 2007-02-05  Simon Josefsson  <simon@josefsson.org>
66199
66200         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
66201
66202 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66203
66204         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
66205         * lib/memmem.c [!defined _LIBC]: Include config.h.
66206
66207 2007-02-04  Bruno Haible  <bruno@clisp.org>
66208
66209         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
66210         warning message.
66211
66212 2007-02-04  Bruno Haible  <bruno@clisp.org>
66213
66214         New module mbstok_r.
66215         * modules/mbstok_r: New file.
66216         * lib/mbstok_r.c: New file.
66217         * lib/string_.h (strtok_r): Change argument names to match the
66218         comments. Add a conditional link warning.
66219         (mbstok_r): New declaration.
66220         * m4/mbstok_r.m4: New file.
66221         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66222         GNULIB_MBSTOK_R.
66223         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
66224         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
66225
66226 2007-02-04  Bruno Haible  <bruno@clisp.org>
66227
66228         New module mbsspn.
66229         * modules/mbsspn: New file.
66230         * lib/mbsspn.c: New file.
66231         * lib/string_.h (strspn): Add a conditional link warning.
66232         (mbsspn): New declaration.
66233         * m4/mbsspn.m4: New file.
66234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66235         GNULIB_MBSSPN.
66236         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
66237         * MODULES.html.sh (Internationalization functions): Add mbsspn.
66238
66239 2007-02-04  Bruno Haible  <bruno@clisp.org>
66240
66241         New module mbspbrk.
66242         * modules/mbspbrk: New file.
66243         * lib/mbspbrk.c: New file.
66244         * lib/string_.h (strpbrk): Add a conditional link warning.
66245         (mbspbrk): New declaration.
66246         * m4/mbspbrk.m4: New file.
66247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66248         GNULIB_MBSPBRK.
66249         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
66250         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
66251
66252 2007-02-04  Bruno Haible  <bruno@clisp.org>
66253
66254         New module mbscspn.
66255         * modules/mbscspn: New file.
66256         * lib/mbscspn.c: New file.
66257         * lib/string_.h (strcspn): Add a conditional link warning.
66258         (mbscspn): New declaration.
66259         * m4/mbscspn.m4: New file.
66260         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66261         GNULIB_MBSCSPN.
66262         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
66263         * MODULES.html.sh (Internationalization functions): Add mbscspn.
66264
66265 2007-02-04  Bruno Haible  <bruno@clisp.org>
66266
66267         New module mbscasestr, reduced goal of strcasestr.
66268         * modules/mbscasestr: New file.
66269         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
66270         (mbscasestr): Renamed from strcasestr.
66271         * lib/strcasestr.c: Don't include mbuiter.h.
66272         (strcasestr): Remove support for multibyte locales.
66273         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
66274         Change the conditional link warning.
66275         (mbscasestr): New declaration.
66276         * m4/mbscasestr.m4: New file.
66277         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
66278         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
66279         REPLACE_STRCASESTR.
66280         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
66281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66282         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66283         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
66284         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
66285         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66286         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
66287         (Depends-on): Remove mbuiter.
66288         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
66289
66290 2007-02-04  Bruno Haible  <bruno@clisp.org>
66291
66292         Simplify handling of strncasecmp.
66293         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
66294         the conditional link warning.
66295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66296         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
66297         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
66298         * modules/strcase (configure.ac): Don't invoke
66299         gl_STRING_MODULE_INDICATOR.
66300         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
66301
66302 2007-02-04  Bruno Haible  <bruno@clisp.org>
66303
66304         New module mbscasecmp, reduced goal of strcasecmp.
66305         * modules/mbscasecmp: New file.
66306         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
66307         (mbscasecmp): Renamed from strcasecmp.
66308         * lib/strcasecmp.c: Don't include mbuiter.h.
66309         (strcasecmp): Remove support for multibyte locales.
66310         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66311         Change the conditional link warning.
66312         (mbscasecmp): New declaration.
66313         * m4/mbscasecmp.m4: New file.
66314         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66315         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66316         REPLACE_STRCASECMP.
66317         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66318         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66319         GNULIB_MBSCASECMP.
66320         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66321         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66322         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66323         (Depends-on): Remove mbuiter.
66324         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66325
66326 2007-02-04  Bruno Haible  <bruno@clisp.org>
66327
66328         New module mbsstr. Remove module strstr.
66329         * modules/mbsstr: New file.
66330         * modules/strstr: Remove file.
66331         * lib/mbsstr.c: Renamed from lib/strstr.c.
66332         (mbsstr): Renamed from strstr.
66333         * lib/string_.h (strstr): Remove declaration. Change the conditional
66334         link warning.
66335         (mbsstr): New declaration.
66336         * m4/mbsstr.m4: New file.
66337         * m4/strstr.m4: Remove file.
66338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66339         REPLACE_STRSTR.
66340         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66341         Don't initialize GNULIB_STRSTR.
66342         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66343         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66344         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66345         (Support for systems lacking ANSI C 89): Remove strstr.
66346
66347 2007-02-04  Bruno Haible  <bruno@clisp.org>
66348
66349         New module mbsrchr.
66350         * modules/mbsrchr: New file.
66351         * lib/mbsrchr.c: New file.
66352         * lib/string_.h (strrchr): Add a conditional link warning.
66353         (mbsrchr): New declaration.
66354         * m4/mbsrchr.m4: New file.
66355         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66356         GNULIB_MBSRCHR.
66357         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
66358         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
66359
66360 2007-02-04  Bruno Haible  <bruno@clisp.org>
66361
66362         New module mbschr.
66363         * modules/mbschr: New file.
66364         * lib/mbschr.c: New file.
66365         * lib/string_.h (strchr): Add a conditional link warning.
66366         (mbschr): New declaration.
66367         * m4/mbschr.m4: New file.
66368         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66369         GNULIB_MBSCHR.
66370         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
66371         * MODULES.html.sh (Internationalization functions): Add mbschr.
66372
66373 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66374
66375         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
66376
66377         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66378
66379 2007-02-04  Bruno Haible  <bruno@clisp.org>
66380
66381         New module description section 'configure.ac-early'.
66382         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66383         (func_get_autoconf_early_snippet): New function.
66384         (func_import, func_create_testdir): Use it. Remove special cases for
66385         modules 'extensions' and 'lock'.
66386         * modules/extensions (configure.ac-early): Require
66387         gl_USE_SYSTEM_EXTENSIONS.
66388         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66389
66390 2007-02-04  Bruno Haible  <bruno@clisp.org>
66391
66392         Make use of gcj-4.3's -fsource and -ftarget option.
66393         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66394         and if so try the options -fsource and -ftarget.
66395         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66396         source_version, ftarget_option, target_version arguments.
66397         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66398         (is_envjavac_oldgcj_14_14_usable): Renamed from
66399         is_envjavac_gcj_14_14_usable.
66400         (is_envjavac_oldgcj_14_13_usable): Renamed from
66401         is_envjavac_gcj_14_13_usable.
66402         (is_gcj_present): Update.
66403         (is_gcj_43, is_gcj43_usable): New functions.
66404         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66405         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66406         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66407         try the options -fsource and -ftarget.
66408
66409 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66410
66411         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66412         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
66413         larger value.
66414
66415 2007-02-03  Jim Meyering  <jim@meyering.net>
66416
66417         Give tools a better chance to allocate space for very large buffers.
66418         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
66419
66420         Make pwd and readlink work also when run with an unreadable parent dir
66421         on systems with openat support.
66422         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
66423         provided getcwd function, even when we have openat support.
66424         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
66425
66426 2007-02-02  Bruno Haible  <bruno@clisp.org>
66427
66428         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66429         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
66430         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
66431         portability problems if one of these functions is only used on specific
66432         platforms.
66433         Reported by Paul Eggert.
66434
66435 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
66436
66437         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
66438         is causing more trouble than it's curing.
66439         * lib/regex_internal.h (__mempcpy): Remove.
66440         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
66441         (and make the code a tad smaller to boot).
66442         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
66443
66444 2007-02-02  Jim Meyering  <jim@meyering.net>
66445
66446         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
66447         section, not in the Makefile.am: one.
66448
66449 2007-02-02  Eric Blake  <ebb9@byu.net>
66450
66451         * lib/strchrnul.c: Always include config.h first.
66452
66453         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
66454         gnulib strstr is not necessary here.
66455
66456 2007-02-02  Simon Josefsson  <simon@josefsson.org>
66457
66458         * m4/socklen.m4: Fix typo.
66459
66460 2007-02-02  Eric Blake  <ebb9@byu.net>
66461
66462         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
66463         * modules/netinet_in (Makefile.am): Likewise.
66464
66465 2007-02-01  Bruno Haible  <bruno@clisp.org>
66466
66467         * lib/string_.h (GL_LINK_WARNING): New macro.
66468         (strcasecmp, strstr, strcasestr): If provided by the system,
66469         conditionally define as a macro that leads to a warning instead of to
66470         an error.
66471         (strncasecmp): Conditionally define as a macro that leads to a warning.
66472
66473 2007-02-01  Karl Berry  <karl@gnu.org>
66474
66475         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
66476
66477 2007-02-01  Bruno Haible  <bruno@clisp.org>
66478
66479         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
66480         renamings.
66481
66482 2007-02-01  Eric Blake  <ebb9@byu.net>
66483
66484         * modules/regex (Depends-on): Revert dependence on mempcpy.
66485         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66486         module's definition of mempcpy.
66487         Reported by Paul Eggert.
66488
66489 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66490
66491         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66492         the symbol XYZ before redefining it.  This fixes a problem with
66493         programs that don't use XYZ, when compiled on systems that define
66494         XYZ to something else.
66495
66496 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66497
66498         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66499         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66500         writeable to group or other and (2) is intended to have a special
66501         mode bit that is set or cleared.  In such a case, the directory
66502         should be neither group- nor other-writeable until the special
66503         mode bits are right.
66504
66505 2007-01-31  Eric Blake  <ebb9@byu.net>
66506
66507         * modules/mountlist (Depends-on): Add strstr.
66508
66509         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66510         bug.
66511         * modules/string (Makefile.am): Remove redundant replacement.
66512         * modules/regex (Depends-on): Add mempcpy.
66513
66514 2007-01-31  Bruno Haible  <bruno@clisp.org>
66515
66516         New module description field 'Link'.
66517         * gnulib-tool (func_usage): Document --extract-link-directive.
66518         (sed_extract_prog): Recognize 'Link' directive.
66519         (func_get_link_directive): New function.
66520         (func_import): Show summary of link directives.
66521         Handle --extract-link-directive option.
66522         * modules/acl (Link): New section.
66523         * modules/clock-time (Link): New section.
66524         * modules/euidaccess (Link): New section.
66525         * modules/gettext (Link): New section.
66526         * modules/iconv (Link): New section.
66527         * modules/lock (Link): New section.
66528         * modules/nanosleep (Link): New section.
66529         * modules/readline (Link): New section.
66530
66531 2007-01-27  Bruno Haible  <bruno@clisp.org>
66532
66533         Enforce the use of gnulib modules for unportable <string.h> functions.
66534         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66535         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66536         (gl_HEADER_STRING_H_BODY): Require it.
66537         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66538         the symbol XYZ to one that gives a link error.
66539         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66540         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66541         * modules/mempcpy (configure.ac): Likewise.
66542         * modules/memrchr (configure.ac): Likewise.
66543         * modules/stpcpy (configure.ac): Likewise.
66544         * modules/stpncpy (configure.ac): Likewise.
66545         * modules/strcase (configure.ac): Likewise.
66546         * modules/strcasestr (configure.ac): Likewise.
66547         * modules/strchrnul (configure.ac): Likewise.
66548         * modules/strdup (configure.ac): Likewise.
66549         * modules/strndup (configure.ac): Likewise.
66550         * modules/strnlen (configure.ac): Likewise.
66551         * modules/strpbrk (configure.ac): Likewise.
66552         * modules/strsep (configure.ac): Likewise.
66553         * modules/strstr (configure.ac): Likewise.
66554         * modules/strtok_r (configure.ac): Likewise.
66555
66556 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66557
66558         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66559
66560 2007-01-30  Jim Meyering  <jim@meyering.net>
66561
66562         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66563
66564 2007-01-29  Bruno Haible  <bruno@clisp.org>
66565
66566         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66567         * lib/execute.c: Likewise.
66568         * lib/pipe.c: Likewise.
66569         * lib/printf-args.h: Likewise.
66570         * lib/printf-args.c: Likewise.
66571         * lib/printf-parse.c: Likewise.
66572         * lib/vasnprintf.c: Likewise.
66573
66574 2007-01-29  Eric Blake  <ebb9@byu.net>
66575
66576         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66577         declaration.
66578
66579 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66580
66581         * lib/strptime.h (strptime): Use 'restrict' for args where
66582         POSIX requires this.
66583         * lib/strptime.c (strptime): Likewise.
66584         Change license notice from LGPL to GPL, since gnulib-tool will
66585         change this as needed.
66586         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66587         defined.
66588         Include "strptime.h" first, to check interface.
66589         Do not #undef _LIBC and _NL_CURRENT.
66590         Do not include <stdlib.h>; no longer needed.
66591         Include "time_r.h" and declare ptime_locale_status
66592         only if _LIBC is not defined.
66593         (__P): Remove unused macro.
66594         (match_string): Bring back glibc version, but use it only if _LIBC
66595         is defined.
66596         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66597         Remove unnecessary assertion and abort() call.
66598         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66599         * m4/strptime.m4: Fix serial number comment.
66600         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66601         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66602         (Depends-on): Add time_r.
66603
66604 2007-01-29  Bruno Haible  <bruno@clisp.org>
66605
66606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66607         strptime.
66608         * modules/strptime (Depends-on): Add stdbool.
66609         * lib/strptime.h: Include <time.h> always. Add comments.
66610
66611 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66612
66613         * modules/strptime: New file.
66614         * lib/strptime.h: New file.
66615         * lib/strptime.c: New file.
66616         * m4/strptime.m4: New file.
66617
66618 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66619
66620         * MODULES.html.sh: New module mpsort.
66621         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66622
66623         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66624         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66625         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66626         All uses changed.
66627         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66628         All uses changed.
66629         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66630         to _Restrict_.
66631         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66632         the parameter matches the prototype.
66633
66634 2007-01-28  Jim Meyering  <jim@meyering.net>
66635
66636         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66637         sys/time.h here, reverting that part of the previous patch:
66638         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66639
66640 2007-01-28  Bruno Haible  <bruno@clisp.org>
66641
66642         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66643         value of $(SYS_TIME_H).
66644         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66645         remove it conditionally, too. [added by Jim Meyering]
66646         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66647         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66648         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66649         GETTIMEOFDAY_REPLACEMENT to 1.
66650
66651 2007-01-28  Bruno Haible  <bruno@clisp.org>
66652
66653         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66654         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66655         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66656         Set UNISTD_H instead of UNISTD_H2.
66657         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66658
66659 2007-01-28  Bruno Haible  <bruno@clisp.org>
66660
66661         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66662         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66663
66664 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66665
66666         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66667         (func_create_testdir): Ensure C locale for `grep' and `tr'
66668         character ranges.
66669         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66670         ACLOCAL_AMFLAGS parsing state machine.
66671
66672 2007-01-27  Bruno Haible  <bruno@clisp.org>
66673
66674         * modules/unistr/base: Update.
66675
66676 2007-01-27  Bruno Haible  <bruno@clisp.org>
66677
66678         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66679         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66680         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66681         modules/unistr/u32-mbtouc.
66682         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66683         * lib/unistr.h: Update.
66684         * lib/linebreak.c: Update.
66685         * modules/unistr/u32-mbtouc: Renamed from
66686         modules/unistr/u32-mbtouc-safe.
66687         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66688         * lib/unistr.h: Update.
66689         * lib/unistr/u32-to-u8.c: Update.
66690         * lib/unistr/u32-to-u16.c: Update.
66691
66692 2007-01-27  Bruno Haible  <bruno@clisp.org>
66693
66694         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66695         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66696         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66697         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66698         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66699         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66700         modules/unistr/u16-mbtouc.
66701         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66702         * lib/unistr.h: Update.
66703         * lib/linebreak.c: Update.
66704         * modules/linebreak: Update.
66705         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66706         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66707         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66708         * modules/unistr/u16-mbtouc: Renamed from
66709         modules/unistr/u16-mbtouc-safe.
66710         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66711         * lib/unistr.h: Update.
66712         * lib/unistr/u16-to-u8.c: Update.
66713         * modules/unistr/u16-to-u8: Update.
66714         * lib/unistr/u16-to-u32.c: Update.
66715         * modules/unistr/u16-to-u32: Update.
66716
66717 2007-01-27  Bruno Haible  <bruno@clisp.org>
66718
66719         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66720         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66721         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66722         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66723         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66724         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66725         modules/unistr/u8-mbtouc.
66726         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66727         * lib/unistr.h: Update.
66728         * lib/striconveh.c: Update.
66729         * modules/striconveh: Update.
66730         * lib/linebreak.c: Update.
66731         * modules/linebreak: Update.
66732         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66733         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66734         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66735         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66736         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66737         * lib/unistr.h: Update.
66738         * lib/striconveh.c: Update.
66739         * modules/striconveh: Update.
66740         * lib/unistr/u8-to-u16.c: Update.
66741         * modules/unistr/u8-to-u16: Update.
66742         * lib/unistr/u8-to-u32.c: Update.
66743         * modules/unistr/u8-to-u32: Update.
66744
66745 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66746
66747         Sync from Libtool.
66748         * lib/argz.c: Do not include strings.h nor memory.h, include
66749         string.h unconditionally.  Patch by Simon Josefsson.
66750
66751 2007-01-27  Bruno Haible  <bruno@clisp.org>
66752
66753         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66754         from gl_HEADER_STRING_H_BODY.
66755         (gl_HEADER_STRING_H_BODY): Require it.
66756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66757         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66758         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66759         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66760         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66761         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66762         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66763         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66764         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66765         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66766         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66767         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66768         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66769         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66770         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66771
66772 2007-01-27  Bruno Haible  <bruno@clisp.org>
66773
66774         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66775         check_PROGRAMS into noinst_PROGRAMS.
66776         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66777         check_PROGRAMS in this case.
66778         (func_import): Set for_test to false.
66779         (func_create_testdir): Set for_test to true.
66780
66781 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66782             Bruno Haible  <bruno@clisp.org>
66783
66784         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66785         (Depends-on): Add string.
66786         (Includes): Use <string.h> instead of strcasestr.h.
66787         * modules/string (Makefile.am): Also substitute the value of
66788         REPLACE_STRCASESTR.
66789         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66790         assume strcasestr is declared in <string.h> not <strings.h>. Also
66791         set REPLACE_STRCASESTR.
66792         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66793         REPLACE_STRCASESTR.
66794         * lib/strcasestr.h: Remove file.
66795         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66796         * lib/string_.h (strcasestr): New declaration.
66797
66798 2007-01-27  Bruno Haible  <bruno@clisp.org>
66799
66800         * lib/string_.h: Use 'extern'.
66801
66802 2007-01-27  Jim Meyering  <jim@meyering.net>
66803
66804         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66805         of set-but-not-used local, "q".
66806
66807         * lib/mempcpy.c: Include <config.h> before <string.h>.
66808         This fixes a compilation error on HP-UX, due to the system's
66809         "restrict"-using mempcpy prototype.
66810
66811 2007-01-26  Bruno Haible  <bruno@clisp.org>
66812
66813         Small optimization.
66814         * lib/javacomp.c: Include c-strstr.h.
66815          (is_envjavac_gcj): Use c_strstr instead of strstr.
66816         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66817
66818 2007-01-26  Bruno Haible  <bruno@clisp.org>
66819
66820         * MODULES.html.sh (Unicode string functions): Add the new modules.
66821
66822         * modules/uniconv/u32-strconv-to-locale: New file.
66823         * lib/uniconv/u32-strconv-to-locale.c: New file.
66824
66825         * modules/uniconv/u16-strconv-to-locale: New file.
66826         * lib/uniconv/u16-strconv-to-locale.c: New file.
66827
66828         * modules/uniconv/u8-strconv-to-locale: New file.
66829         * lib/uniconv/u8-strconv-to-locale.c: New file.
66830
66831         * modules/uniconv/u32-strconv-from-locale: New file.
66832         * lib/uniconv/u32-strconv-from-locale.c: New file.
66833
66834         * modules/uniconv/u16-strconv-from-locale: New file.
66835         * lib/uniconv/u16-strconv-from-locale.c: New file.
66836
66837         * modules/uniconv/u8-strconv-from-locale: New file.
66838         * lib/uniconv/u8-strconv-from-locale.c: New file.
66839
66840         * modules/uniconv/u32-strconv-to-enc: New file.
66841         * lib/uniconv/u32-strconv-to-enc.c: New file.
66842         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66843         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66844
66845         * modules/uniconv/u16-strconv-to-enc: New file.
66846         * lib/uniconv/u16-strconv-to-enc.c: New file.
66847         * lib/uniconv/u-strconv-to-enc.h: New file.
66848         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66849         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66850
66851         * modules/uniconv/u8-strconv-to-enc: New file.
66852         * lib/uniconv/u8-strconv-to-enc.c: New file.
66853         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66854         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66855
66856         * modules/uniconv/u32-strconv-from-enc: New file.
66857         * lib/uniconv/u32-strconv-from-enc.c: New file.
66858         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66859         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66860
66861         * modules/uniconv/u16-strconv-from-enc: New file.
66862         * lib/uniconv/u16-strconv-from-enc.c: New file.
66863         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66864         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66865
66866         * modules/uniconv/u8-strconv-from-enc: New file.
66867         * lib/uniconv/u8-strconv-from-enc.c: New file.
66868         * lib/uniconv/u-strconv-from-enc.h: New file.
66869         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66870         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66871
66872         * modules/uniconv/u32-conv-from-enc: New file.
66873         * lib/uniconv/u32-conv-from-enc.c: New file.
66874         * modules/uniconv/u32-conv-from-enc-tests: New file.
66875         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66876
66877         * modules/uniconv/u16-conv-from-enc: New file.
66878         * lib/uniconv/u16-conv-from-enc.c: New file.
66879         * lib/uniconv/u-conv-from-enc.h: New file.
66880         * modules/uniconv/u16-conv-from-enc-tests: New file.
66881         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66882
66883         * modules/uniconv/u8-conv-from-enc: New file.
66884         * lib/uniconv/u8-conv-from-enc.c: New file.
66885         * modules/uniconv/u8-conv-from-enc-tests: New file.
66886         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66887
66888         * modules/uniconv/base: New file.
66889         * lib/uniconv.h: New file.
66890
66891 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66892
66893         * doc/gnulib-tool.texi (Initial import): Update to match current
66894         behavior with strdup module.
66895         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66896         * lib/memmem.h: Remove; all uses removed.  This is now done
66897         by <string.h>.
66898         * lib/mempcpy.h: Likewise.
66899         * lib/memrchr.h: Likewise.
66900         * lib/stpcpy.h: Likewise.
66901         * lib/stpncpy.h: Likewise.
66902         * lib/strcase.h: Likewise.
66903         * lib/strchrnul.h: Likewise.
66904         * lib/strdup.h: Likewise.
66905         * lib/strndup.h: Likewise.
66906         * lib/strnlen.h: Likewise.
66907         * lib/strpbrk.h: Likewise.
66908         * lib/strsep.h: Likewise.
66909         * lib/strstr.h: Likewise.
66910         * lib/strtok_r.h: Likewise.
66911         * lib/string_.h: New file.
66912         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66913         Rely on <string.h> instead.
66914         * lib/canon-host.c: Likewise.
66915         * lib/chdir-long.c: Likewise.
66916         * lib/concatpath.c: Likewise.
66917         * lib/exclude.c: Likewise.
66918         * lib/fchdir.c: Likewise.
66919         * lib/getaddrinfo.c: Likewise.
66920         * lib/getcwd.c: Likewise.
66921         * lib/getsubopt.c: Likewise.
66922         * lib/glob.c: Likewise.
66923         * lib/hard-locale.c: Likewise.
66924         * lib/iconvme.c: Likewise.
66925         * lib/javacomp.c: Likewise.
66926         * lib/mempcpy.c: Likewise.
66927         * lib/memrchr.c: Likewise.
66928         * lib/regex_internal.h: Likewise.
66929         * lib/stpncpy.c: Likewise.
66930         * lib/strcasecmp.c: Likewise.
66931         * lib/strchrnul.c: Likewise.
66932         * lib/strdup.c: Likewise.
66933         * lib/striconv.c: Likewise.
66934         * lib/striconveh.c: Likewise.
66935         * lib/striconveha.c: Likewise.
66936         * lib/strncasecmp.c: Likewise.
66937         * lib/strndup.c: Likewise.
66938         * lib/strnlen.c: Likewise.
66939         * lib/strsep.c: Likewise.
66940         * lib/strstr.c: Likewise.
66941         * lib/strtok_r.c: Likewise.
66942         * lib/userspec.c: Likewise.
66943         * lib/w32spawn.h: Likewise.
66944         * lib/xstrndup.c: Likewise.
66945         * lib/mountlist.c (strstr): Remove decl.
66946         * m4/string_h.m4: New file.
66947         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66948         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66949         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66950         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66951         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66952         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66953         Set REPLACE_STRCASECMP if necessary.
66954         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66955         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66956         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66957         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66958         HAVE_DECL_STRDUP if necessary.
66959         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66960         since gl_FUNC_STRNDUP does that now.
66961         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66962         Check for decl here...
66963         (gl_PREREQ_STRNLEN): ... not here.
66964         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66965         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66966         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66967         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66968         necessary.
66969         * modules/string: New file.
66970         * modules/memmem (Files): Remove special-purpose include file.
66971         (Depends-on): Add string.
66972         (Include): Include <string.h>, not the removed file.
66973         * modules/mempcpy: Likewise.
66974         * modules/memrchr: Likewise.
66975         * modules/stpcpy: Likewise.
66976         * modules/stpncpy: Likewise.
66977         * modules/strcase: Likewise.
66978         * modules/strchrnul: Likewise.
66979         * modules/strdup: Likewise.
66980         * modules/strndup: Likewise.
66981         * modules/strnlen: Likewise.
66982         * modules/strpbrk: Likewise.
66983         * modules/strsep: Likewise.
66984         * modules/strstr: Likewise.
66985         * modules/strtok_r: Likewise.
66986         * tests/test-dirname.c: Don't include "strdup.h", since
66987         <string.h> now suffices.
66988         * tests/test-memmem.c: Don't include "memmem.h", since
66989         <string.h> now suffices.
66990
66991 2007-01-25  Bruno Haible  <bruno@clisp.org>
66992
66993         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66994         *resultp is 0.
66995
66996         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66997         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66998         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66999         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67000
67001         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67002         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67003         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67004         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67005         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67006         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67007
67008 2007-01-24  Bruno Haible  <bruno@clisp.org>
67009
67010         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67011         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67012         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67013         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67014         gl_FUNC_FTS_CORE.
67015         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67016         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67017         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67018         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67019         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67020         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67021         gl_FUNC_FCHOWNAT.
67022         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67023         gl_FUNC_STRFTIME.
67024         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67025         Reported by Ralf Wildenhues.
67026
67027 2007-01-24  Bruno Haible  <bruno@clisp.org>
67028
67029         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67030         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67031         gl_GETADDRINFO.
67032         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67033         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67034         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67035
67036 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67037
67038         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67039         Don't use 'exit'; just return from 'main'.
67040         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67041
67042         * lib/fnmatch_.h: Readjust white space and comments to match
67043         glibc, to avoid spurious diffs.
67044
67045 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67046
67047         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67048         2004-12-01 change by Jakub Jelinek, since this code won't compile
67049         if !LIBC.  Problem reported by Bob Proulx.
67050
67051 2007-01-23  Bruno Haible  <bruno@clisp.org>
67052
67053         * lib/striconveh.c: Include c-strcaseeq.h.
67054         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67055         * modules/striconveh (Depends-on): Add c-strcaseeq.
67056
67057 2007-01-23  Bruno Haible  <bruno@clisp.org>
67058
67059         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67060
67061         * modules/c-strcaseeq: New file.
67062         * lib/c-strcaseeq.h: New file.
67063
67064         * modules/streq: New file.
67065         * lib/streq.h: New file.
67066
67067 2007-01-23  Bruno Haible  <bruno@clisp.org>
67068
67069         * modules/striconveha-tests: New file.
67070         * tests/test-striconveha.c: New file.
67071
67072         * lib/striconveha.h: Include <stdbool.h>.
67073         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67074         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67075         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67076         (mem_iconveha): New function.
67077         (str_iconveha_notranslit): Renamed from str_iconveha.
67078         (str_iconveha): New function.
67079         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67080         c-strcase.
67081
67082 2007-01-23  Bruno Haible  <bruno@clisp.org>
67083
67084         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67085         encodings without forgiving before trying any encoding with handler.
67086         (str_iconveha): Try all encodings without forgiving before trying any
67087         encoding with handler.
67088
67089 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67090
67091         Import the following changes from libc.
67092
67093         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67094
67095         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67096
67097         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67098
67099         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67100         normal_bracket label.
67101
67102         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67103
67104         [BZ #361]
67105         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67106         to normal_bracket after fetching the next character.
67107
67108 2007-01-22  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67111         argument.
67112         * lib/striconveh.c (iconv_carefully_1): New function.
67113         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67114         argument.
67115         (str_cd_iconveh): Update.
67116         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67117         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67118         * tests/test-striconveh.c (MAGIC): New macro.
67119         (new_offsets): New function.
67120         (main): Test call with and without offsets.
67121
67122 2007-01-22  Bruno Haible  <bruno@clisp.org>
67123
67124         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67125         * modules/sys_select (Makefile.am): Likewise.
67126         * modules/sys_socket (Makefile.am): Likewise.
67127         * modules/sys_time (Makefile.am): Likewise.
67128
67129 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67130
67131         * modules/gettimeofday (License): Change from GPL to LGPL, since
67132         gettimeofday is a library function.
67133
67134 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67135
67136         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67137
67138 2007-01-21  Bruno Haible  <bruno@clisp.org>
67139
67140         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67141
67142 2007-01-21  Bruno Haible  <bruno@clisp.org>
67143
67144         * modules/striconveha: New file.
67145         * lib/striconveha.h: New file.
67146         * lib/striconveha.c: New file.
67147         * MODULES.html.sh (Internationalization functions): Add striconveha.
67148         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67149         string.
67150         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67151
67152 2007-01-21  Bruno Haible  <bruno@clisp.org>
67153
67154         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67155         * lib/striconveh.c (str_iconveh): Likewise.
67156
67157 2007-01-21  Bruno Haible  <bruno@clisp.org>
67158
67159         * lib/striconveh.h (mem_iconveh): New declaration.
67160         * lib/striconveh.c (mem_iconveh): New function.
67161         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67162
67163 2007-01-21  Bruno Haible  <bruno@clisp.org>
67164
67165         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67166
67167         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67168         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67169         original result buffer.
67170         (str_cd_iconveh): Update.
67171         * tests/test-striconveh.c (main): Update.
67172
67173         * lib/striconv.h (mem_cd_iconv): Change specification.
67174         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67175         result buffer.
67176         (str_cd_iconv): Update.
67177         * tests/test-striconv.c (main): Update.
67178
67179 2007-01-21  Bruno Haible  <bruno@clisp.org>
67180
67181         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67182
67183 2007-01-20  Jim Meyering  <jim@meyering.net>
67184
67185         * lib/userspec.c (parse_with_separator): If a user or group string
67186         starts with "+", skip the corresponding name-to-ID look-up, since
67187         such a look-up must fail: user and group names may not include "+".
67188
67189 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67190
67191         * lib/poll.c: Include sys/time.h and time.h unconditionally,
67192         since we now assume the sys_time module.
67193         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
67194         check for sys/time.h; no longer needed.
67195         * modules/poll (Depends-on): Depend on sys_time.
67196
67197 2007-01-18  Bruno Haible  <bruno@clisp.org>
67198
67199         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
67200         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67201
67202         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
67203         gettimeofday.
67204
67205         * tests/test-gettimeofday.c: Include <time.h>.
67206         (dummy): Remove variable.
67207
67208         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
67209         gl_HEADER_SYS_TIME_H.
67210         (gl_HEADER_SYS_TIME_H): New macro.
67211
67212         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
67213         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67214         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
67215         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
67216         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67217         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
67218         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
67219         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67220         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
67221         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
67222         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67223
67224         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
67225         last change; it caused a compilation error when cross-compiling to
67226         Cygwin.
67227
67228 2007-01-18  Jim Meyering  <jim@meyering.net>
67229
67230         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
67231         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
67232         than the race-prone "test -d sys || mkdir sys".
67233         (configure.ac): Use AC_PROG_MKDIR_P.
67234         * modules/sys_select: Likewise.
67235         * modules/sys_socket: Likewise.
67236         * modules/sys_time: Likewise.
67237
67238 2007-01-18  Eric Blake  <ebb9@byu.net>
67239
67240         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
67241         replace gettimeofday.
67242         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
67243         name, to avoid infinite recursion.
67244
67245 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
67246
67247         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
67248         module sys_time.
67249         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
67250         assume timespec.h defines struct timeval.
67251         * lib/settime.c: Likewise.
67252         * lib/utimens.c: Likewise.
67253         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
67254         since we now assume the gettimeofday module.
67255         * lib/tempname.c (__gen_tempname): Likewise.
67256         * lib/gettimeofday.h: Remove.
67257         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
67258         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
67259         Include <time.h>, for 'time()'.
67260         (localtime_buffer_addr): Also use this workaround if
67261         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
67262         to simplify the uses.  All uses changed.
67263         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
67264         that #undef is inside {}, and 'const' follows type name consistently.
67265         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
67266         (gettimeofday): Do not use the maximum possible value for
67267         tv->tv_usec, since that might break usages other than ls.c.
67268         Instead, we'll leave ls.c alone.  This undoes today's patch
67269         by Bruno.  Add a compile-time warning for 1s-clock resolution;
67270         we've never observed the problem but might as well keep the
67271         canary.
67272         * lib/nanosleep.c: Include timespec.h first, for interface check.
67273         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
67274         now assume the sys_time module.
67275         * lib/tempname.c: Likewise.
67276         * lib/timespec.h: Likewise.
67277         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
67278         needed.
67279         * lib/strftime.c: Likewise.
67280         * lib/timespec.h: Likewise.
67281         * lib/posixtm.c: Include posixtm.h first, for interface check.
67282         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
67283         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
67284         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
67285         * lib/sys_time_.h: New file.
67286         * lib/timespec.h (struct timespec): Use long int, not long.
67287         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67288         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
67289         Remove obsolescent call to AC_HEADER_TIME.
67290         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
67291         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67292         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67293         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
67294         Likewise.
67295         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
67296         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
67297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
67298         into the sys_time module.  Check for gettimeofday just once.
67299         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
67300         for gettimeofday signature to just check the signature.  Merely
67301         compile it, since linking doesn't test signature.  Improve test for
67302         whether gettimeofday.o is actually needed.
67303         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
67304         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
67305         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
67306         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67307         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67308         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67309         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67310         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67311         than worrying about sys/time.h.
67312         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67313         Don't bother worrying about TIME_WITH_SYS_TIME.
67314         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67315         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67316         * m4/sys_time_h.m4: New file.
67317         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67318         Don't include sys/time.h.  Return from main rather than exiting.
67319         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67320         all uses changed.
67321         * modules/gethrxtime (Depends-on): Add sys_time.
67322         * modules/gettime (Depends-on): Likewise.
67323         * modules/gettimeofday (Depends-on): Likewise.
67324         * modules/nanosleep (Depends-on): Likewise.
67325         * modules/settime (Depends-on): Likewise.
67326         * modules/tempname (Depends-on): Likewise.
67327         * modules/utimens (Depends-on): Likewise.
67328         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67329         (Include): Change back to <sys/time.h>.
67330         (Maintainer): Add self.
67331         * modules/sys_time: New file.
67332         * modules/tempname (Depends-on): Add gettimeofday.
67333         * tests/test-gettimeofday.c: Include <sys/time.h>
67334         rather than gettimeofday.h.
67335
67336 2007-01-17  Bruno Haible  <bruno@clisp.org>
67337
67338         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67339         the license default to GPL.
67340         (func_create_testdir): Don't complain if a module is LGPL and its
67341         tests module depends on GPLed modules.
67342
67343 2007-01-17  Bruno Haible  <bruno@clisp.org>
67344
67345         * lib/gettimeofday.c (gettimeofday): Add code for the case
67346         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67347         maximum possible value for tv->tv_usec, rather than the minimum one.
67348
67349 2005-10-08  Martin Lambers  <marlam@marlam.de>
67350 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67351 2007-01-16  Bruno Haible  <bruno@clisp.org>
67352
67353         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67354         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67355         gl_FUNC_GETTIMEOFDAY.
67356         (Include): Add gettimeofday.h.
67357         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
67358         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
67359         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
67360         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
67361         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
67362         * lib/gettimeofday.h: New file.
67363         * lib/gettimeofday.c: Include <sys/timeb.h>.
67364         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
67365         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67366         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
67367         fall back on time().
67368
67369         * tests/test-gettimeofday.c: New file.
67370         * modules/gettimeofday-tests: New file.
67371
67372 2007-01-16  Eric Blake  <ebb9@byu.net>
67373
67374         * modules/fnmatch (Depends-on): Depend on wchar.
67375         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
67376         * m4/fnmatch.m4: Likewise.
67377         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67378         * m4/mbchar.m4: Likewise.
67379         * modules/mbswidth (Depends-on): Depend on wchar.
67380         * lib/mbswidth.c: Assume <wchar.h>.
67381         * m4/mbswidth.m4: Likewise.
67382         * modules/quotearg (Depends-on): Depend on wchar.
67383         * lib/quotearg.c: Assume <wchar.h>.
67384         * m4/quotearg.m4: Likewise.
67385         * modules/regex (Depends-on): Depend on wchar.
67386         * lib/regex_internal.h: Assume <wchar.h>.
67387         * m4/regex.m4: Likewise.
67388         * modules/stdint (Depends-on): Depend on wchar.
67389         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67390         * m4/stdint.m4: Likewise.
67391         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67392         * modules/strftime (Depends-on): Depend on wchar.
67393         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67394         * modules/strtol (Depends-on): Depend on wchar.
67395         * lib/strtol.c: Assume <wchar.h>.
67396         * modules/wcwidth (Depends-on): Depend on wchar.
67397         * lib/wcwidth.h: Assume <wchar.h>.
67398         * m4/wcwidth.m4: Likewise.
67399
67400 2007-01-16  Bruno Haible  <bruno@clisp.org>
67401
67402         * modules/csharpexec-script: New, created from...
67403         * modules/csharpexec: ... this.
67404
67405 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67406
67407         * modules/javaexec-script: New, created from...
67408         * modules/javaexec: ... this.
67409
67410 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67411
67412         * modules/poll (Dependencies): Add sys_select.
67413
67414 2007-01-15  Jim Meyering  <jim@meyering.net>
67415
67416         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
67417         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
67418         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
67419         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
67420
67421 2007-01-15  Bruno Haible  <bruno@clisp.org>
67422
67423         * modules/striconveh: New file.
67424         * lib/striconveh.h: New file.
67425         * lib/striconveh.c: New file.
67426         * MODULES.html.sh (Internationalization functions): Add striconveh.
67427
67428         * modules/striconveh-tests: New file.
67429         * tests/test-striconveh.c: New file.
67430
67431 2007-01-15  Bruno Haible  <bruno@clisp.org>
67432
67433         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
67434         not from GNU libiconv or GNU libc.
67435
67436 2007-01-15  Bruno Haible  <bruno@clisp.org>
67437
67438         * doc/gnulib-intro.texi (Copyright): Explain the different license
67439         terms for module descriptions, autoconf macros, tests, documentation.
67440
67441 2007-01-14  Bruno Haible  <bruno@clisp.org>
67442
67443         * modules/striconv-tests: New file.
67444         * tests/test-striconv.c: New file.
67445
67446 2007-01-14  Bruno Haible  <bruno@clisp.org>
67447
67448         * modules/iconv-tests: New file.
67449         * tests/test-iconv.c: New file.
67450
67451 2007-01-14  Bruno Haible  <bruno@clisp.org>
67452
67453         * gnulib-tool (func_get_license): For test modules, use the license of
67454         the main module.
67455
67456 2007-01-14  Bruno Haible  <bruno@clisp.org>
67457
67458         * modules/iconv (Include): Clarify that <iconv.h> can only be included
67459         if iconv is found to exist.
67460
67461 2007-01-14  Bruno Haible  <bruno@clisp.org>
67462
67463         * modules/c-ctype-tests: New file.
67464         * tests/test-c-ctype.c: New file.
67465
67466 2007-01-14  Bruno Haible  <bruno@clisp.org>
67467
67468         * modules/binary-io-tests: New file.
67469         * tests/test-binary-io.sh: New file.
67470         * tests/test-binary-io.c: New file.
67471
67472 2007-01-14  Bruno Haible  <bruno@clisp.org>
67473
67474         * modules/array-oset-tests: New file.
67475         * tests/test-array_oset.c: New file.
67476
67477 2007-01-14  Bruno Haible  <bruno@clisp.org>
67478
67479         * modules/array-list-tests: New file.
67480         * tests/test-array_list.c: New file.
67481
67482 2007-01-14  Bruno Haible  <bruno@clisp.org>
67483
67484         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67485         and make.
67486         Reported by Simon Josefsson in
67487         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67488
67489 2007-01-14  Bruno Haible  <bruno@clisp.org>
67490
67491         * modules/allocsa-tests: New file.
67492         * tests/test-allocsa.c: New file.
67493
67494 2007-01-14  Bruno Haible  <bruno@clisp.org>
67495
67496         * modules/fchdir (Depends-on): Add absolute-header.
67497         * modules/unistd (Depends-on): Likewise.
67498
67499 2006-12-30  Bruno Haible  <bruno@clisp.org>
67500
67501         * modules/fchdir: New file.
67502         * modules/unistd (Files): Add lib/unistd_.h.
67503         (Makefile.am): Generate unistd.h from unistd_.h.
67504         * lib/fchdir.c: New file.
67505         * lib/dirent_.h: New file.
67506         * lib/unistd_.h: New file.
67507         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67508         * m4/fchdir.m4: New file.
67509         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67510         (gl_HEADER_UNISTD): Invoke it.
67511         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67512         function.
67513         * lib/backupfile.c (opendir, closedir): Undefine.
67514         * lib/chown.c (open, close): Undefine.
67515         * lib/clean-temp.c (open, close): Undefine.
67516         * lib/copy-file.c (open, close): Undefine.
67517         * lib/execute.c (open, close): Undefine.
67518         * lib/fsusage.c (open, close): Undefine.
67519         * lib/gc-gnulib.c (open, close): Undefine.
67520         * lib/getcwd.c (opendir, closedir): Undefine.
67521         * lib/glob.c (opendir, closedir): Undefine.
67522         * lib/javacomp.c (open, close): Undefine.
67523         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67524         * lib/openat-proc.c (open, close): Undefine.
67525         * lib/pagealign_alloc.c (open, close): Undefine.
67526         * lib/pipe.c (open, close): Undefine.
67527         * lib/progreloc.c (open, close): Undefine.
67528         * lib/savedir.c (opendir, closedir): Undefine.
67529         * lib/utime.c (open, close): Undefine.
67530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67531
67532 2007-01-10  Bruno Haible  <bruno@clisp.org>
67533
67534         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67535
67536 2007-01-12  Eric Blake  <ebb9@byu.net>
67537
67538         Provide a robust <wchar.h>.  Further simplifications are now
67539         possible in other modules, but not included here.
67540         * modules/wchar: New module.
67541         * m4/wchar.m4: New file.
67542         * lib/wchar_.h: Likewise.
67543         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67544         of the new module.
67545         * MODULES.html.sh (Extended multibyte and wide character utilities):
67546         New section.
67547
67548 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67549
67550         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67551         to a reasonable default for memory allocation.
67552         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67553         file system that reports garbage st_size values for symlinks.
67554         Problem reported by Liyang Hu.
67555
67556 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67557
67558         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67559         Emacs .#* auto-save files).
67560
67561 2007-01-11  Bruno Haible  <bruno@clisp.org>
67562
67563         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67564         directory.
67565
67566 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67567
67568         Use @...@ consistently in lib/wctype_.h.
67569         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67570         on it being set to 1 or 0.
67571         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67572         go back to AC_SUBSTing it.
67573         * modules/wctype (Makefile.am): Undo previous change.
67574
67575 2007-01-10  Eric Blake  <ebb9@byu.net>
67576
67577         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67578         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67579         * modules/wctype (Makefile.am): Likewise.
67580         Reported by Chris McGuire.
67581
67582 2007-01-10  Jim Meyering  <jim@meyering.net>
67583
67584         fts.c: a small readability/maintainability improvement
67585         * lib/fts.c (fts_read): Make this code slightly more readable and
67586         maintainable by hoisting the "sp->fts_cur = p" assignments to
67587         immediately follow the statements that set P.  Derived from
67588         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67589
67590 2007-01-10  Eric Blake  <ebb9@byu.net>
67591
67592         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67593         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67594         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67595         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67596         Reported by Chris McGuire.
67597
67598 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67599
67600         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67601         in sed script.
67602
67603 2007-01-09  Bruno Haible  <bruno@clisp.org>
67604
67605         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67606         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67607         variables.
67608         (func_module): Use them.
67609
67610 2007-01-09  Bruno Haible  <bruno@clisp.org>
67611
67612         * modules/unistr/base: New file.
67613         * lib/unistr.h: New file.
67614
67615         * modules/unistr/u8-to-u16: New file.
67616         * lib/unistr/u8-to-u16.c: New file.
67617
67618         * modules/unistr/u8-to-u32: New file.
67619         * lib/unistr/u8-to-u32.c: New file.
67620
67621         * modules/unistr/u16-to-u8: New file.
67622         * lib/unistr/u16-to-u8.c: New file.
67623
67624         * modules/unistr/u16-to-u32: New file.
67625         * lib/unistr/u16-to-u32.c: New file.
67626
67627         * modules/unistr/u32-to-u8: New file.
67628         * lib/unistr/u32-to-u8.c: New file.
67629
67630         * modules/unistr/u32-to-u16: New file.
67631         * lib/unistr/u32-to-u16.c: New file.
67632
67633         * modules/unistr/u8-check: New file.
67634         * modules/unistr/u16-check: New file.
67635         * modules/unistr/u32-check: New file.
67636         * lib/unistr/u8-check.c: New file.
67637         * lib/unistr/u16-check.c: New file.
67638         * lib/unistr/u32-check.c: New file.
67639
67640         * modules/unistr/u8-chr: New file.
67641         * modules/unistr/u16-chr: New file.
67642         * modules/unistr/u32-chr: New file.
67643         * lib/unistr/u8-chr.c: New file.
67644         * lib/unistr/u16-chr.c: New file.
67645         * lib/unistr/u32-chr.c: New file.
67646
67647         * modules/unistr/u8-cmp: New file.
67648         * modules/unistr/u16-cmp: New file.
67649         * modules/unistr/u32-cmp: New file.
67650         * lib/unistr/u8-cmp.c: New file.
67651         * lib/unistr/u16-cmp.c: New file.
67652         * lib/unistr/u32-cmp.c: New file.
67653
67654         * modules/unistr/u8-cpy: New file.
67655         * modules/unistr/u16-cpy: New file.
67656         * modules/unistr/u32-cpy: New file.
67657         * lib/unistr/u8-cpy.c: New file.
67658         * lib/unistr/u16-cpy.c: New file.
67659         * lib/unistr/u32-cpy.c: New file.
67660         * lib/unistr/u-cpy.h: New file.
67661
67662         * modules/unistr/u8-cpy-alloc: New file.
67663         * modules/unistr/u16-cpy-alloc: New file.
67664         * modules/unistr/u32-cpy-alloc: New file.
67665         * lib/unistr/u8-cpy-alloc.c: New file.
67666         * lib/unistr/u16-cpy-alloc.c: New file.
67667         * lib/unistr/u32-cpy-alloc.c: New file.
67668         * lib/unistr/u-cpy-alloc.h: New file.
67669
67670         * modules/unistr/u8-endswith: New file.
67671         * modules/unistr/u16-endswith: New file.
67672         * modules/unistr/u32-endswith: New file.
67673         * lib/unistr/u8-endswith.c: New file.
67674         * lib/unistr/u16-endswith.c: New file.
67675         * lib/unistr/u32-endswith.c: New file.
67676         * lib/unistr/u-endswith.h: New file.
67677
67678         * modules/unistr/u8-mblen: New file.
67679         * modules/unistr/u16-mblen: New file.
67680         * modules/unistr/u32-mblen: New file.
67681         * lib/unistr/u8-mblen.c: New file.
67682         * lib/unistr/u16-mblen.c: New file.
67683         * lib/unistr/u32-mblen.c: New file.
67684
67685         * modules/unistr/u8-mbtouc: New file.
67686         * modules/unistr/u16-mbtouc: New file.
67687         * modules/unistr/u32-mbtouc: New file.
67688         * lib/unistr/u8-mbtouc.c: New file.
67689         * lib/unistr/u16-mbtouc.c: New file.
67690         * lib/unistr/u32-mbtouc.c: New file.
67691
67692         * modules/unistr/u8-mbtouc-safe: New file.
67693         * modules/unistr/u16-mbtouc-safe: New file.
67694         * modules/unistr/u32-mbtouc-safe: New file.
67695         * lib/unistr/u8-mbtouc-safe.c: New file.
67696         * lib/unistr/u16-mbtouc-safe.c: New file.
67697         * lib/unistr/u32-mbtouc-safe.c: New file.
67698
67699         * modules/unistr/u8-move: New file.
67700         * modules/unistr/u16-move: New file.
67701         * modules/unistr/u32-move: New file.
67702         * lib/unistr/u8-move.c: New file.
67703         * lib/unistr/u16-move.c: New file.
67704         * lib/unistr/u32-move.c: New file.
67705         * lib/unistr/u-move.h: New file.
67706
67707         * modules/unistr/u8-next: New file.
67708         * modules/unistr/u16-next: New file.
67709         * modules/unistr/u32-next: New file.
67710         * lib/unistr/u8-next.c: New file.
67711         * lib/unistr/u16-next.c: New file.
67712         * lib/unistr/u32-next.c: New file.
67713
67714         * modules/unistr/u8-prev: New file.
67715         * modules/unistr/u16-prev: New file.
67716         * modules/unistr/u32-prev: New file.
67717         * lib/unistr/u8-prev.c: New file.
67718         * lib/unistr/u16-prev.c: New file.
67719         * lib/unistr/u32-prev.c: New file.
67720
67721         * modules/unistr/u8-set: New file.
67722         * modules/unistr/u16-set: New file.
67723         * modules/unistr/u32-set: New file.
67724         * lib/unistr/u8-set.c: New file.
67725         * lib/unistr/u16-set.c: New file.
67726         * lib/unistr/u32-set.c: New file.
67727         * lib/unistr/u-set.h: New file.
67728
67729         * modules/unistr/u8-startswith: New file.
67730         * modules/unistr/u16-startswith: New file.
67731         * modules/unistr/u32-startswith: New file.
67732         * lib/unistr/u8-startswith.c: New file.
67733         * lib/unistr/u16-startswith.c: New file.
67734         * lib/unistr/u32-startswith.c: New file.
67735         * lib/unistr/u-startswith.h: New file.
67736
67737         * modules/unistr/u8-stpcpy: New file.
67738         * modules/unistr/u16-stpcpy: New file.
67739         * modules/unistr/u32-stpcpy: New file.
67740         * lib/unistr/u8-stpcpy.c: New file.
67741         * lib/unistr/u16-stpcpy.c: New file.
67742         * lib/unistr/u32-stpcpy.c: New file.
67743         * lib/unistr/u-stpcpy.h: New file.
67744
67745         * modules/unistr/u8-stpncpy: New file.
67746         * modules/unistr/u16-stpncpy: New file.
67747         * modules/unistr/u32-stpncpy: New file.
67748         * lib/unistr/u8-stpncpy.c: New file.
67749         * lib/unistr/u16-stpncpy.c: New file.
67750         * lib/unistr/u32-stpncpy.c: New file.
67751         * lib/unistr/u-stpncpy.h: New file.
67752
67753         * modules/unistr/u8-strcat: New file.
67754         * modules/unistr/u16-strcat: New file.
67755         * modules/unistr/u32-strcat: New file.
67756         * lib/unistr/u8-strcat.c: New file.
67757         * lib/unistr/u16-strcat.c: New file.
67758         * lib/unistr/u32-strcat.c: New file.
67759         * lib/unistr/u-strcat.h: New file.
67760
67761         * modules/unistr/u8-strchr: New file.
67762         * modules/unistr/u16-strchr: New file.
67763         * modules/unistr/u32-strchr: New file.
67764         * lib/unistr/u8-strchr.c: New file.
67765         * lib/unistr/u16-strchr.c: New file.
67766         * lib/unistr/u32-strchr.c: New file.
67767
67768         * modules/unistr/u8-strcmp: New file.
67769         * modules/unistr/u16-strcmp: New file.
67770         * modules/unistr/u32-strcmp: New file.
67771         * lib/unistr/u8-strcmp.c: New file.
67772         * lib/unistr/u16-strcmp.c: New file.
67773         * lib/unistr/u32-strcmp.c: New file.
67774
67775         * modules/unistr/u8-strcpy: New file.
67776         * modules/unistr/u16-strcpy: New file.
67777         * modules/unistr/u32-strcpy: New file.
67778         * lib/unistr/u8-strcpy.c: New file.
67779         * lib/unistr/u16-strcpy.c: New file.
67780         * lib/unistr/u32-strcpy.c: New file.
67781         * lib/unistr/u-strcpy.h: New file.
67782
67783         * modules/unistr/u8-strcspn: New file.
67784         * modules/unistr/u16-strcspn: New file.
67785         * modules/unistr/u32-strcspn: New file.
67786         * lib/unistr/u8-strcspn.c: New file.
67787         * lib/unistr/u16-strcspn.c: New file.
67788         * lib/unistr/u32-strcspn.c: New file.
67789         * lib/unistr/u-strcspn.h: New file.
67790
67791         * modules/unistr/u8-strdup: New file.
67792         * modules/unistr/u16-strdup: New file.
67793         * modules/unistr/u32-strdup: New file.
67794         * lib/unistr/u8-strdup.c: New file.
67795         * lib/unistr/u16-strdup.c: New file.
67796         * lib/unistr/u32-strdup.c: New file.
67797         * lib/unistr/u-strdup.h: New file.
67798
67799         * modules/unistr/u8-strlen: New file.
67800         * modules/unistr/u16-strlen: New file.
67801         * modules/unistr/u32-strlen: New file.
67802         * lib/unistr/u8-strlen.c: New file.
67803         * lib/unistr/u16-strlen.c: New file.
67804         * lib/unistr/u32-strlen.c: New file.
67805         * lib/unistr/u-strlen.h: New file.
67806
67807         * modules/unistr/u8-strmblen: New file.
67808         * modules/unistr/u16-strmblen: New file.
67809         * modules/unistr/u32-strmblen: New file.
67810         * lib/unistr/u8-strmblen.c: New file.
67811         * lib/unistr/u16-strmblen.c: New file.
67812         * lib/unistr/u32-strmblen.c: New file.
67813
67814         * modules/unistr/u8-strmbtouc: New file.
67815         * modules/unistr/u16-strmbtouc: New file.
67816         * modules/unistr/u32-strmbtouc: New file.
67817         * lib/unistr/u8-strmbtouc.c: New file.
67818         * lib/unistr/u16-strmbtouc.c: New file.
67819         * lib/unistr/u32-strmbtouc.c: New file.
67820
67821         * modules/unistr/u8-strncat: New file.
67822         * modules/unistr/u16-strncat: New file.
67823         * modules/unistr/u32-strncat: New file.
67824         * lib/unistr/u8-strncat.c: New file.
67825         * lib/unistr/u16-strncat.c: New file.
67826         * lib/unistr/u32-strncat.c: New file.
67827         * lib/unistr/u-strncat.h: New file.
67828
67829         * modules/unistr/u8-strncmp: New file.
67830         * modules/unistr/u16-strncmp: New file.
67831         * modules/unistr/u32-strncmp: New file.
67832         * lib/unistr/u8-strncmp.c: New file.
67833         * lib/unistr/u16-strncmp.c: New file.
67834         * lib/unistr/u32-strncmp.c: New file.
67835
67836         * modules/unistr/u8-strncpy: New file.
67837         * modules/unistr/u16-strncpy: New file.
67838         * modules/unistr/u32-strncpy: New file.
67839         * lib/unistr/u8-strncpy.c: New file.
67840         * lib/unistr/u16-strncpy.c: New file.
67841         * lib/unistr/u32-strncpy.c: New file.
67842         * lib/unistr/u-strncpy.h: New file.
67843
67844         * modules/unistr/u8-strnlen: New file.
67845         * modules/unistr/u16-strnlen: New file.
67846         * modules/unistr/u32-strnlen: New file.
67847         * lib/unistr/u8-strnlen.c: New file.
67848         * lib/unistr/u16-strnlen.c: New file.
67849         * lib/unistr/u32-strnlen.c: New file.
67850         * lib/unistr/u-strnlen.h: New file.
67851
67852         * modules/unistr/u8-strpbrk: New file.
67853         * modules/unistr/u16-strpbrk: New file.
67854         * modules/unistr/u32-strpbrk: New file.
67855         * lib/unistr/u8-strpbrk.c: New file.
67856         * lib/unistr/u16-strpbrk.c: New file.
67857         * lib/unistr/u32-strpbrk.c: New file.
67858         * lib/unistr/u-strpbrk.h: New file.
67859
67860         * modules/unistr/u8-strrchr: New file.
67861         * modules/unistr/u16-strrchr: New file.
67862         * modules/unistr/u32-strrchr: New file.
67863         * lib/unistr/u8-strrchr.c: New file.
67864         * lib/unistr/u16-strrchr.c: New file.
67865         * lib/unistr/u32-strrchr.c: New file.
67866
67867         * modules/unistr/u8-strspn: New file.
67868         * modules/unistr/u16-strspn: New file.
67869         * modules/unistr/u32-strspn: New file.
67870         * lib/unistr/u8-strspn.c: New file.
67871         * lib/unistr/u16-strspn.c: New file.
67872         * lib/unistr/u32-strspn.c: New file.
67873         * lib/unistr/u-strspn.h: New file.
67874
67875         * modules/unistr/u8-strstr: New file.
67876         * modules/unistr/u16-strstr: New file.
67877         * modules/unistr/u32-strstr: New file.
67878         * lib/unistr/u8-strstr.c: New file.
67879         * lib/unistr/u16-strstr.c: New file.
67880         * lib/unistr/u32-strstr.c: New file.
67881         * lib/unistr/u-strstr.h: New file.
67882
67883         * modules/unistr/u8-strtok: New file.
67884         * modules/unistr/u16-strtok: New file.
67885         * modules/unistr/u32-strtok: New file.
67886         * lib/unistr/u8-strtok.c: New file.
67887         * lib/unistr/u16-strtok.c: New file.
67888         * lib/unistr/u32-strtok.c: New file.
67889         * lib/unistr/u-strtok.h: New file.
67890
67891         * modules/unistr/u8-uctomb: New file.
67892         * modules/unistr/u16-uctomb: New file.
67893         * modules/unistr/u32-uctomb: New file.
67894         * lib/unistr/u8-uctomb.c: New file.
67895         * lib/unistr/u16-uctomb.c: New file.
67896         * lib/unistr/u32-uctomb.c: New file.
67897
67898         * MODULES.html.sh (Unicode string functions): Add the new modules.
67899
67900 2007-01-08  Bruno Haible  <bruno@clisp.org>
67901
67902         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67903         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67904         subdirectories.
67905
67906 2007-01-08  Karl Berry  <karl@gnu.org>
67907
67908         * doc/error.texi: mention that main() fns must set program_name
67909         when progname is used.
67910
67911 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67912
67913         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67914         WCTYPE_H is empty, for the benefit of builds from non-distclean
67915         directories.  Problem reported by Eric Blake in
67916         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67917
67918 2007-01-08  Bruno Haible  <bruno@clisp.org>
67919
67920         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67921         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67922         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67923         PROVIDE_CANONICALIZE_FILENAME_MODE.
67924         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67925
67926 2007-01-08  Bruno Haible  <bruno@clisp.org>
67927
67928         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67929         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67930         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67931         * lib/fts.c: Likewise.
67932         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67933
67934 2006-12-25  Bruno Haible  <bruno@clisp.org>
67935
67936         * modules/utf8-ucs4-safe: New file.
67937         * lib/utf8-ucs4-safe.h: New file.
67938         * lib/unistr/utf8-ucs4-safe.c: New file.
67939
67940         * modules/utf16-ucs4-safe: New file.
67941         * lib/utf16-ucs4-safe.h: New file.
67942         * lib/unistr/utf16-ucs4-safe.c: New file.
67943
67944         * MODULES.html.sh (Unicode string functions): Add the new modules.
67945
67946 2007-01-08  Bruno Haible  <bruno@clisp.org>
67947
67948         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67949         (Depends-on): Add unitypes.
67950         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67951         (u8_mbtouc_aux): Move out to separate file.
67952         (u8_mbtouc): Use ucs4_t, uint8_t types.
67953         * lib/unistr/utf8-ucs4.c: New file.
67954
67955         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67956         (Depends-on): Add unitypes.
67957         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67958         (u16_mbtouc_aux): Move out to separate file.
67959         (u16_mbtouc): Use ucs4_t, uint16_t types.
67960         * lib/unistr/utf16-ucs4.c: New file.
67961
67962         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67963         (Depends-on): Add unitypes.
67964         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67965         (u8_uctomb_aux): Move out to separate file.
67966         (u8_uctomb): Use ucs4_t, uint8_t types.
67967         * lib/unistr/ucs4-utf8.c: New file.
67968
67969         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67970         (Depends-on): Add unitypes.
67971         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67972         (u16_uctomb_aux): Move out to separate file.
67973         (u16_uctomb): Use ucs4_t, uint16_t types.
67974         * lib/unistr/ucs4-utf16.c: New file.
67975
67976 2006-12-25  Bruno Haible  <bruno@clisp.org>
67977
67978         * modules/unitypes: New file.
67979         * lib/unitypes.h: New file.
67980         * MODULES.html.sh (func_all_modules): New section "Unicode string
67981         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67982         this section. Add unitypes.
67983
67984 2007-01-08  Bruno Haible  <bruno@clisp.org>
67985
67986         Avoid variable names that conflict with those from libtool.
67987         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67988         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67989         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67990         library_names_spec to acl_library_names_spec, hardcode_* to
67991         acl_hardcode_*.
67992         Reported by Ralf Wildenhues.
67993
67994 2007-01-08  Bruno Haible  <bruno@clisp.org>
67995
67996         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67997         definition.
67998         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67999         definition.
68000         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68001         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68002         definition.
68003         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68004         definition.
68005         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68006         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68007         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68008         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68009         definition.
68010         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68011         definition.
68012         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68013         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68014         GC_USE_<algorithm>.
68015         * lib/gc-libgcrypt.c: Likewise.
68016         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68017         * modules/gc-arctwo (configure.ac): Likewise.
68018         * modules/gc-des (configure.ac): Likewise.
68019         * modules/gc-hmac-md5 (configure.ac): Likewise.
68020         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68021         * modules/gc-md2 (configure.ac): Likewise.
68022         * modules/gc-md4 (configure.ac): Likewise.
68023         * modules/gc-md5 (configure.ac): Likewise.
68024         * modules/gc-random (configure.ac): Likewise.
68025         * modules/gc-rijndael (configure.ac): Likewise.
68026         * modules/gc-sha1 (configure.ac): Likewise.
68027
68028 2007-01-08  Bruno Haible  <bruno@clisp.org>
68029
68030         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68031         macro definition.
68032         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68033         definition.
68034         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68035         definition.
68036         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68037         * modules/fcntl-safer (configure.ac): Likewise.
68038         * modules/fopen-safer (configure.ac): Likewise.
68039         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68040         GNULIB_FWRITEERROR macro definition.
68041
68042 2007-01-08  Bruno Haible  <bruno@clisp.org>
68043
68044         * m4/gnulib-common.m4: New file.
68045         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68046         (func_get_filelist): Add m4/gnulib-common.m4.
68047
68048 2007-01-08  Bruno Haible  <bruno@clisp.org>
68049
68050         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68051         command.
68052
68053 2007-01-08  Jim Meyering  <jim@meyering.net>
68054
68055         Use a more robust test for a "can't happen" condition.
68056         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68057         narrowed the st_size value.  Presuming the "can't happen" condition
68058         is true, that narrowing could conceivably convert an invalid st_size
68059         value into a valid one.  Instead, use a change based on Matthew
68060         Woehlke's original patch.
68061
68062         Slight readability improvement: use an assert-like macro
68063         in place of literal "abort ()" uses.
68064         * lib/fts.c (fts_assert): Define.
68065         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68066         Use this macro instead of a bare 'abort'.
68067
68068 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68069
68070         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68071         simply work around them.
68072         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68073         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68074         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68075         declaring.
68076         Don't bother to define as macros, since the standard doesn't require it.
68077         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68078         longer worry about IRIX 5.3.
68079         (HAVE_WCTYPE_CTMP_BUG): Remove.
68080
68081 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68082
68083         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68084         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68085         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68086         Problems reported by Georg Schwarz for IRIX 5.3.
68087
68088         * gnulib-tool (autoconf_minversion): Take the maximum version number
68089         found, not the minimum.  Problem reported by James Youngman.
68090
68091 2007-01-03  Karl Berry  <karl@gnu.org>
68092
68093         * doc/error.texi: new file, explaining interaction with progname.
68094         * doc/gnulib.texi: include it.  Update copyright.
68095
68096 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68097
68098         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68099         AC_CANONICAL_HOST, to improve autobuild outputs.
68100
68101 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68102             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68103
68104         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68105         sockets, server sockets, and other file descriptors.  Count errors
68106         to compute the return value.  Reorder the code a bit to be easier
68107         to follow.  Don't set event bits that were not requested (except
68108         POLLERR and POLLHUP).
68109
68110 2007-01-01  Bruno Haible  <bruno@clisp.org>
68111
68112         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68113
68114 2007-01-03  Jim Meyering  <jim@meyering.net>
68115
68116         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68117
68118 2007-01-02  Bruno Haible  <bruno@clisp.org>
68119
68120         * modules/settime (Include): Require timespec.h.
68121         * modules/nanosleep (Include): Likewise.
68122
68123 2007-01-01  Bruno Haible  <bruno@clisp.org>
68124
68125         * gnulib-tool (func_emit_copyright_notice): Bump year.
68126         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68127
68128 2007-01-01  Bruno Haible  <bruno@clisp.org>
68129
68130         Improve support for OpenBSD.
68131         * build-aux/config.rpath (libname_spec): Export.
68132         (library_names_spec): New variable. Export.
68133         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68134         library_names_spec from the config.rpath output. Locate shared library
68135         through the name pattern in library_names_spec.
68136
68137 2007-01-01  Eric Blake  <ebb9@byu.net>
68138
68139         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68140
68141 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68142
68143         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68144         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68145         assume the C locale, and avoid an "eval" that could cause trouble.
68146         Problem with SORT reported by Bob Proulx.
68147
68148         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68149         Define.  Trivial patch from Henning Nielsen Lund, originally
68150         sent to bug-grep@gnu.org today.
68151
68152 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68155         struct stat.  Problem reported by Henning Nielsen Lund.
68156         * lib/acl.c: Include acl.h first, to check interface.  Don't
68157         bother to include sys/types.h and sys/stat.h again.
68158
68159 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68160
68161         Import the following change from libc; problem reported by
68162         Sven Verdoolaege.
68163
68164         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68165
68166         [BZ #1373]
68167         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68168
68169 2006-12-28  Jim Meyering  <jim@meyering.net>
68170
68171         * build-aux/announce-gen: Do not assume that the package
68172         builds any of tar.gz, tar.bz2, and .xdelta files.
68173         Suggestion from Simon Josefsson.
68174
68175 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68176
68177         * modules/announce-gen: New file.
68178
68179 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68180
68181         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68182         handles its gotchas now.
68183         * lib/mbswidth.c: Likewise.
68184         * lib/wcwidth.h: Likewise.
68185         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68186         and iswcntrl; the wctype module does this stuff now.
68187         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68189         * modules/mbchar (Depends-on): Add wctype.
68190         * modules/mbswidth (Depends-on): Likewise.
68191         * modules/wcwidth (Depends-on): Likewise.
68192
68193 2006-12-27  Eric Blake  <ebb9@byu.net>
68194
68195         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
68196         module uses more than what <wctype.h> is required to provide.
68197
68198 2006-12-26  Eric Blake  <ebb9@byu.net>
68199
68200         * gnulib-tool (sed_extract_prog): Avoid space-tab.
68201
68202 2006-12-26  Eric Blake  <ebb9@byu.net>
68203
68204         * modules/absolute-header: New module.
68205         * modules/fcntl (Depends-on): Depend on it.
68206         * modules/inttypes (Depends-on): Likewise.
68207         * modules/stdint (Depends-on): Likewise.
68208         * modules/sys_stat (Depends-on): Likewise.
68209         * modules/wctype (Depends-on): Likewise.
68210         * MODULES.html.sh (Support for building libraries and
68211         executables): Document it.
68212
68213 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
68214
68215         * gnulib-tool (SED): Remove, undoing previous change.
68216         The problem was that it broke coreutils on Solaris, because
68217         "sed --posix" leaked into a makefile.
68218         (sed): New alias, if 'alias' and GNU sed.
68219
68220 2006-12-24  Jim Meyering  <jim@meyering.net>
68221
68222         Work around an fchownat bug in glibc-2.4:
68223         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
68224         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
68225         in spite of the -P option.
68226         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
68227         New macros.
68228         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
68229         * modules/openat (Files): Add lib/fchownat.c.
68230         * lib/openat.c (fchownat): Don't define here.  Move to...
68231         * lib/fchownat.c: ...this new file.
68232
68233 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68234
68235         Fix bug reported by Bruno Haible in
68236         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
68237         where quotearg.c didn't compile on Mac OS X 10.2 because it
68238         lacks <wchar.h> and wint_t.
68239         * lib/wctype_.h (__wctype_wint_t): New type.
68240         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
68241         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
68242         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
68243         Arg is now of type __wctype_wint_t, not wint_t.
68244         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
68245         substitute HAVE_WINT_T.
68246         * modules/wctype (Files): Add m4/wint_t.m4.
68247         (wctype.h): Substitute HAVE_WINT_T.
68248
68249 2006-12-23  Bruno Haible  <bruno@clisp.org>
68250
68251         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
68252
68253 2006-12-23  Bruno Haible  <bruno@clisp.org>
68254
68255         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
68256         S_ISLNK.
68257         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
68258         mingw.
68259
68260 2006-12-22  Bruno Haible  <bruno@clisp.org>
68261
68262         * lib/copy-file.c: Include acl.h.
68263         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
68264         Close the file descriptors only after being done with copy_acl.
68265         * modules/copy-file (Depends-on): Add acl.
68266
68267 2006-12-22  Bruno Haible  <bruno@clisp.org>
68268
68269         * gnulib-tool (SED): New variable.
68270         Use $SED instead of sed everywhere.
68271
68272 2006-12-22  Bruno Haible  <bruno@clisp.org>
68273
68274         * modules/no-c++: New file.
68275         * m4/no-c++.m4: New file.
68276         * MODULES.html.sh (Support for building libraries and executables):
68277         Add no-c++.
68278
68279 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
68280
68281         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68282         Include <limits.h>, and use its INT_MAX to rewrite the
68283         j loop so that it does not overflow 'int'.  Problem reported by
68284         Ralf Wildenhues in
68285         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
68286         Play it safe by shifting left by 1 rather than multiplying by 2,
68287         as GCC is less likely to optimize this away when the value
68288         is signed (when it assumes overflow leads to undefined behavior).
68289         Also, don't assume time_t uses two's complement.
68290
68291 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
68292
68293         * MODULES.html.sh: New module wctype.
68294         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
68295         * lib/fnmatch.c: Don't bother to include <wchar.h> before
68296         <wctype.h>, since the new wctype module should fix this.
68297         * lib/quotearg.c: Include <wctype.h> unconditionally, since
68298         the wctype module should arrange for it.
68299         * lib/regex_internal.h: Likewise.
68300         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
68301         since the wctype module should handle this now.
68302         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
68303         * modules/fnmatch (Depends-on): Add wctype.
68304         * modules/quotearg (Depends-on): Likewise.
68305         * modules/regex (Depends-on): Likewise.
68306
68307 2006-12-19  Bruno Haible  <bruno@clisp.org>
68308
68309         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68310         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68311
68312 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68313
68314         * modules/savewd (Depends-on): Fix dependency on fcntl.
68315
68316 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68317
68318         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68319         conforms to C99, rather than relying on the user's environment
68320         setting of STDINT_H.
68321
68322 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68323         and Eric Blake  <ebb9@byu.net>
68324
68325         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68326         This is more consistent with the other defines here.
68327         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68328         Port to z/OS.  Problem reported by Paul Gilmartin.
68329         Change local vars to use gl_ prefix rather than ac_.
68330         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68331         with other defines.
68332         * modules/double-slash-root: New module.
68333         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68334         (Depends-on): Add double-slash-root.
68335         * MODULES.html.sh (File system functions): Mention new module.
68336
68337 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68338
68339         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68340         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68341         This is for the benefit of gzip, which doesn't do i18n.
68342
68343 2006-12-12  Jim Meyering  <jim@meyering.net>
68344
68345         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68346         Reported by Andreas Schwab <schwab@suse.de>.
68347
68348 2006-12-12  Bruno Haible  <bruno@clisp.org>
68349
68350         Merge these changes.
68351         2006-09-05  Bruno Haible  <bruno@clisp.org>
68352         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68353         iconv_alloc succeeded.
68354         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68355         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68356         test for " && dest " at the end - dest is always != NULL there. Call
68357         iconv with 4xNULL arguments initially, to reset the state. Call iconv
68358         with 2xNULL arguments, also to flush the state storage. Handle the
68359         IRIX iconv behaviour. Realloc the final result, to throw away unused
68360         memory.
68361
68362 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
68363
68364         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
68365         and fchmodat unconditionally, since glibc 2.4 has them.
68366         Problem reported by Arkadiusz Miskiewicz.
68367
68368 2006-12-10  Bruno Haible  <bruno@clisp.org>
68369
68370         * gnulib-tool (func_import): Show the include files only for those
68371         modules that are copied and specified.
68372         Reported by Karl Berry.
68373
68374 2006-12-08  Jim Meyering  <jim@meyering.net>
68375
68376         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
68377         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68378
68379         * build-aux/announce-gen: Add two new options, both optional:
68380         --bootstrap-tools=TOOL_LIST
68381               a comma-separated list of tools, e.g.,
68382               autoconf,automake,bison,gnulib
68383         --gnulib-snapshot-date=DATE
68384               if gnulib is in the bootstrap tool list,
68385               then report this as the snapshot date.
68386               If not specified, use the current date/time.
68387               If you specify a date here, be sure it's UTC.
68388
68389 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68390
68391         * tests/test-argp-2.sh: Fix test to match actual output.
68392         (func_compare): Fix sed script to be portable.
68393
68394 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68395
68396         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68397         workaround for this case.  It is not autoconfigured now; offhand
68398         it's hard to see how to autoconfigure it.
68399
68400 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68401
68402         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68403         a directory that is about to be chowned.  Such a directory's
68404         initial file permissions should permit the owner only and this
68405         should not be changed until after the chown, since the group and
68406         other bits would be incorrect if they granted permission before
68407         the chown.
68408
68409         Fix porting problem for iswctype reported by Georg Schwarz in:
68410         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68411         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68412         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
68413         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
68414         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68415
68416 2006-12-03  Jim Meyering  <jim@meyering.net>
68417
68418         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
68419         p->fts_statp may not yet be defined.
68420         (fts_read): Instead, set it in the caller, once p->fts_statp is
68421         sure to be defined, and corresponds to a top-level directory.
68422         This bug made du -x fail.  Here's the coreutils test case:
68423         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
68424         Reported by Mike Frysinger.
68425
68426 2006-12-01  Jim Meyering  <jim@meyering.net>
68427
68428         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
68429         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
68430         Reported by Simon Josefsson.
68431
68432 2006-11-30  Jim Meyering  <jim@meyering.net>
68433
68434         * m4/warning.m4: Use the all-permissive copyright notice
68435         recommended by RMS (rather than LGPL).
68436         * m4/vararrays.m4: Likewise.
68437         * m4/flexmember.m4: Likewise.
68438
68439 2006-11-29  Bruno Haible  <bruno@clisp.org>
68440
68441         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68442         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
68443         using +=.
68444         Reported by Simon Josefsson <simon@josefsson.org>.
68445
68446 2006-11-28  James Youngman <jay@gnu.org>
68447
68448         * README: Advise users that they might find the bug-gnulib@gnu.org
68449         and autotools-announce@gnu.org mailing lists useful.
68450
68451 2006-11-28  Bruno Haible  <bruno@clisp.org>
68452
68453         * m4/ptrdiff_max.m4: Remove file.
68454
68455 2006-11-21  Bruno Haible  <bruno@clisp.org>
68456
68457         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
68458         _AC_COMPUTE_INT.
68459         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68460         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
68461         _AC_COMPUTE_INT.
68462         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68463         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
68464         _AC_COMPUTE_INT.
68465         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68466
68467 2006-11-28  Jim Meyering  <jim@meyering.net>
68468
68469         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
68470         warning from "gcc -Wshadow" about shadowing the builtin.
68471
68472 2006-11-27  Bruno Haible  <bruno@clisp.org>
68473
68474         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
68475         _AC_COMPUTE_INT.
68476         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68477
68478 2006-11-27  Bruno Haible  <bruno@clisp.org>
68479             Paul Eggert  <eggert@cs.ucla.edu>
68480
68481         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68482
68483 2006-11-26  Bruno Haible  <bruno@clisp.org>
68484
68485         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68486         noinst_LTLIBRARIES.
68487
68488 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68489             Bruno Haible  <bruno@clisp.org>
68490
68491         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68492         if compiling with "gcc -ansi".
68493
68494 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68495
68496         Fix some incompatibilities with gcc -ansi -pedantic.
68497         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68498         if compiling pedantically with GCC, unless it's C99 or later.
68499         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68500         it mishandles gcc -ansi -pedantic as well.
68501         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68502         if gcc -pedantic.
68503         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68504         initializers for struct if -pedantic, unless it's C99 or later.
68505
68506 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68507
68508         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68509         Don't close an fd more than once. Identical atimes indicate
68510         success, not failure.
68511
68512 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68513
68514         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68515
68516 2006-11-23  Jim Meyering  <jim@meyering.net>
68517
68518         * build-aux/announce-gen: New file.  From coreutils.
68519
68520 2006-11-22  Jim Meyering  <jim@meyering.net>
68521
68522         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68523         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68524         (fts_read): Use a temporary to narrow the overused st_size member
68525         before using it in a switch statement.  Reported by Matthew Woehlke.
68526
68527         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68528         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68529
68530 2006-11-20  Bruno Haible  <bruno@clisp.org>
68531
68532         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68533         changequote instead of pairs of brackets.
68534         Reported by Andreas Schwab <schwab@suse.de>.
68535
68536 2006-11-21  Jim Meyering  <jim@meyering.net>
68537
68538         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68539         so as to remain compatible with older compilers.
68540         Patch from Michael Deutschmann.
68541
68542 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68543
68544         * MODULES.html.sh (File system functions): Add openat.
68545
68546         * lib/openat.h (rpl_fstatat): New macro, if
68547         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68548         (fstatat): Define to rpl_fstatat under the same conditions,
68549         unless COMPILING_FSTATAT.
68550         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68551         seems to have the bug.
68552         * lib/fstatat.c: New file.
68553         * modules/openat (Files): Add it.
68554
68555 2006-11-20  Bruno Haible  <bruno@clisp.org>
68556
68557         * Makefile: New file.
68558
68559 2006-11-20  Jim Meyering  <jim@meyering.net>
68560
68561         The beginnings of syntax-related checks for gnulib.
68562         * lib/Makefile: New file.
68563         * lib/t-idcache: New script.  Ensure that the two halves of
68564         idcache.c stay in sync.
68565
68566         * lib/idcache.c: Adjust comments in user- and group- portions to
68567         be more accurate, and to be consistent with one another.
68568
68569 2006-11-20  Jim Meyering  <jim@meyering.net>
68570
68571         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68572         continue using the flexible array member (thus, this module performs
68573         half as many malloc calls), with the addition that...
68574         (getgroup, getuser): Consistently record a non-match via an empty
68575         "name" string, and map an empty string match to a NULL return value.
68576         * modules/idcache (Depends-on): Re-add flexmember.
68577
68578         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68579         (getuidbyname, getgroup, getgidbyname): Likewise.
68580
68581         Use cleaner syntax: NULL rather than 0.
68582         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68583
68584 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68585
68586         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68587         It mishandled the case where the group was missing.
68588         Problem reported by Greg Schafer.
68589         * modules/idcache: Likewise.
68590
68591 2006-11-18  Jim Meyering  <jim@meyering.net>
68592
68593         * check-module (%exempt_header): Add exception for some
68594         conditionally-included headers.
68595
68596         * modules/i-ring (Depends-on): Add verify.
68597         (License): Change to LGPL.
68598
68599 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68600
68601         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68602         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68603         and inttostr.h.  Use snprintf rather than uinttostr, so that
68604         LGPLed code doesn't depend on GPLed.
68605
68606 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68607
68608         * modules/inline (License): Change from GPL to LGPL.
68609
68610 2006-11-17  Jim Meyering  <jim@meyering.net>
68611
68612         * modules/d-type (License): Switch to LGPL.
68613
68614 2006-11-15  Bruno Haible  <bruno@clisp.org>
68615
68616         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68617
68618 2006-11-15  Eric Blake  <ebb9@byu.net>
68619
68620         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68621         the module dependency.
68622
68623 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68624             Bruno Haible  <bruno@clisp.org>
68625
68626         * gnulib-tool (func_create_testdir): Add license consistency check.
68627
68628 2006-11-15  Eric Blake  <ebb9@byu.net>
68629
68630         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68631         random "(cached)" in configure output.
68632
68633 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68634
68635         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68636         test for conforming inttypes.h is both announced and cached.
68637
68638         * MODULES.html.sh (seen_modules, seen_files): New variables.
68639         (func_module): Rewrite to use a few less gnulib-tool and sed
68640         invocations.  Avoid a couple of quadratic algorithms for ...
68641         (missed_modules, missed_files): ... these, with ...
68642         (func_append, func_tmpdir): ... these new functions, from
68643         gnulib-tool.  Analogously, install traps for cleanup.
68644
68645         * tests/test-gc.c (main): Remove unused variables.
68646         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68647
68648 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68649
68650         * modules/inttostr (License): Change to LGPL.
68651
68652 2006-11-14  Eric Blake  <ebb9@byu.net>
68653
68654         * modules/tempname (License): Change to LGPL.
68655
68656 2006-11-14  Eric Blake  <ebb9@byu.net>
68657
68658         * doc/functions.texi (Function Portability): *printf functions on
68659         Cygwin now understand all POSIX size specifiers.
68660
68661 2006-11-14  Bruno Haible  <bruno@clisp.org>
68662
68663         * modules/c-ctype (License): Change to LGPL.
68664
68665 2006-11-12  Bruno Haible  <bruno@clisp.org>
68666
68667         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68668         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68669         for GNOME libraries, for which the include files are installed in
68670         subdirectories of $prefix/include.
68671
68672 2006-11-12  Bruno Haible  <bruno@clisp.org>
68673
68674         * m4/lib-link.m4: Require at least autoconf-2.54.
68675         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68676         name to underscores for the --with option.
68677
68678 2006-11-13  Bruno Haible  <bruno@clisp.org>
68679
68680         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68681         the tests directory.
68682         Reported by Ralf Wildenhues.
68683
68684 2006-11-13  Bruno Haible  <bruno@clisp.org>
68685
68686         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68687         (func_emit_initmacro_end): Undo the override here.
68688         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68689         Works around the famous automake error in coreutils.
68690
68691 2006-11-13  Eric Blake  <ebb9@byu.net>
68692
68693         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68694         element, not its node.
68695
68696 2006-11-12  Bruno Haible  <bruno@clisp.org>
68697
68698         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68699         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68700
68701 2006-11-12  Bruno Haible  <bruno@clisp.org>
68702
68703         * gnulib-tool: New option --local-symlink.
68704         (func_usage): Document it.
68705         (lsymbolic): New variable.
68706         (func_import, func_create_testdir): If --symlink was not specified,
68707         test whether --local-symlink was specified and the file comes from
68708         the local_gnulib_dir.
68709
68710 2006-11-12  Bruno Haible  <bruno@clisp.org>
68711
68712         * gnulib-tool (func_ln): New function.
68713         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68714
68715 2006-11-12  Bruno Haible  <bruno@clisp.org>
68716
68717         Finish support for source files in subdirectories.
68718         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68719         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68720         AUTOMAKE_OPTIONS.
68721         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68722
68723 2006-11-12  Bruno Haible  <bruno@clisp.org>
68724
68725         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68726         EXTRA_lib_SOURCES augmentation.
68727         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68728
68729 2006-11-12  Jim Meyering  <jim@meyering.net>
68730
68731         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68732         file descriptors.  This also averts a failure on systems with
68733         native openat support when a traversed directory lacks "x" access.
68734         * lib/fts_.h: Include "i-ring.h"
68735         (struct FTS) [fts_fd_ring]: New member.
68736         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68737         (FCHDIR): Add parentheses.
68738         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68739         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68740         When descending, rather than simply closing the previous
68741         fts_cwd_fd value, push that file descriptor onto the ring.
68742         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68743         (fts_open): Initialize the new fd_ring member.
68744         (fts_close): Clear the ring.
68745         (fts_safe_changedir): When possible, use our new fd_ring to skip
68746         the diropen and fstat and dev/ino comparison that would normally
68747         accompany a virtual `chdir ("..")'.
68748
68749         * modules/fts (Depends-on): Add i-ring.
68750         * modules/i-ring: New module.
68751         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68752         * m4/i-ring.m4: New file.
68753
68754 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68755
68756         * gnulib-tool (func_create_testdir): Fix replacement of
68757         `build-aux' in configure.ac.  Run autotools in gltests
68758         subdirectory.
68759         (func_create_testdir, func_create_megatestdir, test): There is
68760         no need for '--force' in most autotool invocations in a new
68761         tree.  Actually fail the whole test if any of the tools, or the
68762         configure or make stages fail.
68763
68764         Sync from Automake.
68765         * build-aux/gnupload: Revert last change.  Add pointer to upload
68766         instructions of the GNU Maintenance Instructions.
68767         Suggestion by Karl Berry.
68768
68769 2006-11-10  Jim Meyering  <jim@meyering.net>
68770
68771         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68772
68773 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68774
68775         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68776         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68777         (bind_textdomain_codeset) [! ENABLE_NLS]:
68778         Evaluate all the arguments.  That way, callers get compatible behavior
68779         if the arguments have side effects.  Also, it avoids some GCC
68780         diagnostics in some cases; Joel E. Denny reported problems when Bison
68781         was configured with --enable-gcc-warnigs.
68782
68783 2006-11-10  Jim Meyering  <jim@meyering.net>
68784
68785         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68786         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68787         account.
68788
68789 2006-11-10  Jim Meyering  <jim@meyering.net>
68790
68791         * modules/inline: New file/module.
68792         * modules/xalloc (Files): Remove m4/inline.m4.
68793         (Depends-on): Add inline, instead.
68794         * modules/oset: Likewise.
68795         * modules/list: Likewise.
68796
68797 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68798
68799         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68800         Problem reported by Matthew Woehlke.
68801
68802 2006-11-09  Bruno Haible  <bruno@clisp.org>
68803
68804         * lib/tempname.c (gen_tempname): Remove variant that invokes
68805         __gen_tempname.
68806         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68807         __gen_tempname.
68808
68809 2006-11-08  Bruno Haible  <bruno@clisp.org>
68810
68811         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68812         to 'yes' instead of 'cross-compiling'.
68813
68814 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68815
68816         * lib/quotearg.h (quotearg_free): New decl.
68817         * lib/quotearg.c (quotearg_free): New function.
68818         (slot0, nslots, slotvec0, slotvec):
68819         Now file-scope so that quotearg_free can get at them.
68820
68821 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68822
68823         Sync from Automake.
68824         * build-aux/gnupload: Add missing 'gnu' to example URL.
68825         Report by Karl Berry.
68826
68827 2006-11-08  Bruno Haible  <bruno@clisp.org>
68828
68829         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68830         Suggested by Paul Eggert.
68831
68832 2006-11-08  Jim Meyering  <jim@meyering.net>
68833
68834         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68835         It's already included if !_LIBC.
68836         (fts_safe_changedir): Add a comment.
68837
68838 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68839
68840         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68841         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68842         Matthew Woehlke.
68843
68844         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68845         definitions up, to avoid colliding with change below.
68846         (static_inline) [HAVE_INLINE]: New macro.
68847         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68848         Provide extern decls when !HAVE_INLINE.  Do not define unless
68849         static_inline is defined, either by us or by xmalloc.c.  Use
68850         static_inline rather than static inline.
68851         (XCALLOC): Optimize sizeof(T) = 1 case.
68852         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68853
68854 2006-11-07  Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68857         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68858         AC_C_INLINE.
68859         * modules/xalloc (Files): Add m4/inline.m4.
68860
68861 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68862
68863         * README: Fix typo.
68864         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68865         (Miscellanous Notes): ...from this.
68866
68867 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68868
68869         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68870         Mention that offsetof should be used instead of sizeof.
68871         From Bruno Haible.
68872
68873 2006-11-07  Bruno Haible  <bruno@clisp.org>
68874
68875         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68876
68877 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68878
68879         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68880         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68881         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68882         (gl_tree_add_before, gl_tree_add_after):
68883         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68884         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68885         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68886         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68887         (gl_linked_add_after, gl_linked_add_at): Likewise.
68888         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68889         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68890         (gl_tree_add_before, gl_tree_add_after): Likewise.
68891         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68892         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68893         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68894
68895 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68896
68897         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68898
68899 2006-11-06  Bruno Haible  <bruno@clisp.org>
68900
68901         * m4/inline.m4: New file.
68902         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68903         * modules/list (Files): Add m4/inline.m4.
68904         * modules/oset (Files): Likewise.
68905
68906 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68907
68908         * lib/idcache.c: Include <stddef.h>, for offsetof.
68909         (struct userid.name): Change from char * to a flexible array member.
68910         All uses changed.
68911         * modules/idcache (Depends-on): Add flexmember.
68912
68913         * MODULES.html.sh (Core language properties): New module flexmember.
68914         * modules/flexmember, m4/flexmember.m4: New files.
68915
68916         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68917         inline functions that are identical with the old xnmalloc_inline,
68918         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68919         that we can avoid some unnecessary integer multiplications and
68920         divisions in the common case where the element size is known at
68921         compile time.
68922         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68923         needed.
68924         (xnboundedmalloc): Remove.
68925         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68926         arguments, for consistency with rest of this header.
68927         (xcharalloc): Rewrite using XNMALLOC.
68928         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68929         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68930         versions have been moved to lib/xalloc.h and renamed to be the
68931         non-*_inline versions.
68932         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68933         and xnrealloc functions, since those functions are now inline and
68934         now call us.
68935         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68936         renaming described above.
68937         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68938         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68939         captures the dependency in AC_C_INLINE.
68940
68941         New module canonicalize-lgpl, proposed by Charles Wilson in
68942         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68943         with a few small changes afterwards.
68944         * MODULES.html.sh (File system functions): New module
68945         canonicalize-lgpl.
68946         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68947         and canonicalize_file_name.
68948         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68949         * modules/canonicalize-lgpl: New files.
68950
68951 2006-11-05  Bruno Haible  <bruno@clisp.org>
68952
68953         * gnulib-tool (func_import, func_create_testdir): Create directories
68954         also for files in subdirectories of lib/.
68955
68956 2006-11-05  Bruno Haible  <bruno@clisp.org>
68957
68958         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68959         ANSI C compliant.
68960
68961 2006-11-03  Bruno Haible  <bruno@clisp.org>
68962
68963         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68964         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68965         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68966         (xnboundedmalloc): New inline function.
68967         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68968         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68969         xmalloc.
68970         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68971         xmalloc.
68972         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68973         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68974         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68975         xmalloc.
68976         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68977         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68978         xmalloc.
68979         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68980         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68981         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68982         xmalloc.
68983         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68984         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68985         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68986         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68987         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68988         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68989         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68990
68991 2006-11-03  Bruno Haible  <bruno@clisp.org>
68992
68993         * lib/c-ctype.h [C++]: Define functions without name mangling.
68994         * lib/fwriteerror.h [C++]: Likewise.
68995         * lib/gcd.h [C++]: Likewise.
68996         * lib/linebreak.h [C++]: Likewise.
68997
68998 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68999
69000         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69001         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69002         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69003         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69004         Check for functions and headers just once.
69005         Check for declaration of canonicalize_file_name.
69006         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69007
69008 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69009
69010         * gnulib-tool (func_import): Fix typo in actioncmd.
69011
69012 2006-11-02  Bruno Haible  <bruno@clisp.org>
69013
69014         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69015         newline sequence in the Makefile.am snippet as a space, like "make"
69016         does.
69017         Reported by Roger Persson <perrog@gmail.com>.
69018
69019 2006-11-01  Bruno Haible  <bruno@clisp.org>
69020
69021         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69022         already declared in <string.h>.
69023         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69024
69025 2006-11-01  Bruno Haible  <bruno@clisp.org>
69026
69027         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69028         * lib/strcase.h: Include <string.h>.
69029         (strcasecmp): Define to rpl_strcasecmp here.
69030
69031 2006-11-01  Bruno Haible  <bruno@clisp.org>
69032
69033         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69034
69035 2006-11-01  Eric Blake  <ebb9@byu.net>
69036
69037         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69038
69039         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69040
69041 2006-10-29  Bruno Haible  <bruno@clisp.org>
69042
69043         Make it compile in C++ mode.
69044         * lib/full-write.c (full_rw): Add a cast.
69045
69046 2006-11-01  Bruno Haible  <bruno@clisp.org>
69047
69048         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69049         be POSIX compliant.
69050         Reported by Roger Persson <perrog@gmail.com>.
69051
69052 2006-11-01  Eric Blake  <ebb9@byu.net>
69053
69054         * lib/getopt_.h: Fix comments.
69055
69056 2006-10-31  Eric Blake  <ebb9@byu.net>
69057
69058         * modules/tmpdir (Depends-on): Add sys_stat.
69059         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69060         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69061         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69062         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69063         tempname.
69064
69065 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69066
69067         Avoid some C++ diagnostics reported by Bruno Haible.
69068         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69069         xmalloc.
69070         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69071         (struct slotvec): Move to top level.
69072         (quotearg_n_options): Rewrite to avoid xmalloc.
69073         * lib/xalloc.h (xcharalloc): New function.
69074         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69075         [defined __cplusplus]: Add function template that provides result
69076         type propagation.  This part of the change is from Bruno Haible.
69077
69078 2006-10-29  Bruno Haible  <bruno@clisp.org>
69079
69080         Make it compile in C++ mode.
69081         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69082         * lib/strnlen1.c (strnlen1): Cast memchr result.
69083         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69084         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69085         (create_temp_dir): Rename local variable 'template'.
69086         (compile_csharp_using_sscli): Add cast.
69087         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69088         * lib/findprog.c (find_in_path): Likewise.
69089         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69090         * lib/wait-process.c (register_slave_subprocess): Likewise.
69091
69092 2006-10-22  Bruno Haible  <bruno@clisp.org>
69093
69094         * modules/tsearch: New file.
69095         * lib/tsearch.h: New file.
69096         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69097         * m4/tsearch.m4: New file.
69098         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69099
69100 2006-10-29  Eric Blake  <ebb9@byu.net>
69101
69102         * lib/arcfour.c: Assume config.h.
69103         * lib/arctwo.c: Likewise.
69104         * lib/base64.c: Likewise.
69105         * lib/check-version.c: Likewise.
69106         * lib/crc.c: Likewise.
69107         * lib/des.c: Likewise.
69108         * lib/gc-gnulib.c: Likewise.
69109         * lib/gc-libgcrypt.c: Likewise.
69110         * lib/gc-pbkdf2-sha1.c: Likewise.
69111         * lib/getaddrinfo.c: Likewise.
69112         * lib/getdelim.c: Likewise.
69113         * lib/getline.c: Likewise.
69114         * lib/hmac-md5.c: Likewise.
69115         * lib/hmac-sha1.c: Likewise.
69116         * lib/iconvme.c: Likewise.
69117         * lib/md2.c: Likewise.
69118         * lib/md4.c: Likewise.
69119         * lib/memxor.c: Likewise.
69120         * lib/read-file.c: Likewise.
69121         * lib/readline.c: Likewise.
69122         * lib/rijndael-alg-fst.c: Likewise.
69123         * lib/rijndael-api-fst.c: Likewise.
69124         * lib/xgetdomainname.c: Likewise.
69125
69126 2006-10-28  Eric Blake  <ebb9@byu.net>
69127
69128         * lib/xstrndup.c: Assume config.h.
69129
69130 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69131
69132         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69133         stat-macros.h is now for our own macros, whereas stat_h is for
69134         macros in the <sys/stat.h> name space.
69135         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69136         (STAT_MACROS_H): Remove.
69137         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69138         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69139         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69140         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69141         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69142         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69143         Move these macros to ...
69144         * lib/stat_.h: here.  Don't include stat-macros.h.
69145         * lib/canonicalize.c: Don't include stat-macros.h.
69146         * lib/chown.c: Likewise.
69147         * lib/euidaccess.c: Likewise.
69148         * lib/file-type.c: Likewise.
69149         * lib/filemode.c: Likewise.
69150         * lib/glob.c: Likewise.
69151         * lib/isapipe.c: Likewise.
69152         * lib/lchown.c: Likewise.
69153         * lib/lstat.c: Likewise.
69154         * lib/mkdir-p.c: Likewise.
69155         * lib/rmdir.c: Likewise.
69156         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69157         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69158         unless mkdir isn't declared, to speed up 'configure'.
69159         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69160         would define all the S_* symbols.
69161         * modules/canonicalize (Depends-on):
69162         Depend on sys_stat, not stat-macros.
69163         * modules/chown: Likewise.
69164         * modules/euidaccess: Likewise.
69165         * modules/filemode: Likewise.
69166         * modules/file-type: Likewise.
69167         * modules/glob: Likewise.
69168         * modules/isapipe: Likewise.
69169         * modules/lchown: Likewise.
69170         * modules/lstat: Likewise.
69171         * modules/mkancesdirs: Likewise.
69172         * modules/rmdir: Likewise.
69173         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69174         * modules/modechange: Likewise.
69175         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69176         (configure.ac): Remove gl_STAT_MACROS.
69177         * modules/sys_stat (Depends-on): Remove stat-macros.
69178
69179 2006-10-27  Bruno Haible  <bruno@clisp.org>
69180
69181         * m4/signed.m4: Remove file.
69182         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69183         invocation.
69184         * modules/vasnprintf (Files): Remove m4/signed.m4.
69185
69186 2006-10-27  Bruno Haible  <bruno@clisp.org>
69187
69188         Update to GNU gettext 0.16.
69189         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
69190         m4/inttypes-h.m4, m4/signed.m4.
69191         * m4/gettext.m4: Update to GNU gettext 0.16.
69192         * m4/intl.m4: New file, from GNU gettext.
69193         * m4/intldir.m4: New file, from GNU gettext.
69194         * config/srclist.txt: Update
69195
69196 2006-10-27  Eric Blake  <ebb9@byu.net>
69197
69198         * MODULES.html.sh: Document tempname.
69199         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
69200         dependencies.
69201         (Files): Move lib/tempname.c...
69202         * modules/tempname: ...to this new module.
69203         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
69204         (gl_PREREQ_TEMPNAME): Move...
69205         * m4/tempname.m4: ...to this new file.
69206         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
69207         * modules/sys_stat (Depends-on): Add stat-macros.
69208         * lib/stat_.h (includes): Pick up stat macros.
69209         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
69210         if stat macros are broken.
69211         * lib/tempname.c (includes): No need to include "stat-macros.h".
69212         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
69213         (direxists, __path_search) [!_LIBC]: Don't compile these in
69214         gnulib; the tmpdir module covers that.
69215         * lib/tempname.h: New file.
69216
69217 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
69218
69219         * COPYING: Explain how gnulib-tool converts licence headers.
69220         Almost all wording by Eric Blake.
69221
69222 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
69223
69224         * lib/mbchar.h (is_basic_table): Make read-only.
69225         * lib/mbchar.c (is_basic_table): Likewise.
69226         Reported by John Darrington.
69227
69228 2006-10-25  Bruno Haible  <bruno@clisp.org>
69229
69230         * lib/progname.h (set_program_name): Undefine before defining.
69231
69232 2006-10-25  Bruno Haible  <bruno@clisp.org>
69233
69234         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
69235         false for non-gcc C++ compilers.
69236         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
69237
69238 2006-10-24  Bruno Haible  <bruno@clisp.org>
69239
69240         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
69241         iconv implementations like Irix iconv.
69242
69243 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69244
69245         * modules/vararrays: New file.
69246         * m4/vararrays.m4: New file, taken from diffutils.
69247         * MODULES.html.sh: New module vararrays.
69248
69249 2006-10-24  Karl Berry  <karl@gnu.org>
69250
69251         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
69252         Don't call GNU Unix.
69253
69254 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69255
69256         * users.txt: Add Libtool.
69257
69258         Sync from Libtool:
69259
69260         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69261
69262         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
69263         to gnulib's policy of including config.h unconditionally.
69264
69265 2006-10-24  Bruno Haible  <bruno@clisp.org>
69266
69267         * modules/wcwidth (Files): Add m4/wint_t.m4.
69268         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
69269         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
69270
69271 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69272
69273         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
69274         to pacify GCC with some -W flags enabled.  Problem reported by
69275         Bruno Haible.
69276
69277 2006-10-24  Jim Meyering  <jim@meyering.net>
69278
69279         * MODULES.html.sh: Remove uinttostr.  It's not a module.
69280         Reported by Karl Berry.
69281
69282 2006-10-23  Bruno Haible  <bruno@clisp.org>
69283
69284         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
69285
69286 2006-10-24  Bruno Haible  <bruno@clisp.org>
69287
69288         * lib/gl_list.h: Use C comment style, not C++ comment style.
69289
69290 2006-10-23  Eric Blake  <ebb9@byu.net>
69291
69292         * lib/getaddrinfo.c (includes): Add missing include.
69293
69294 2006-10-23  Bruno Haible  <bruno@clisp.org>
69295             Paul Eggert  <eggert@cs.ucla.edu>
69296
69297         Ability to rename obstack_free.
69298         * lib/obstack.h (__obstack_free): New macro. Declare instead of
69299         obstack_free.
69300         (obstack_free): Invoke the __obstack_free macro.
69301         * lib/obstack.c (obstack_free): Use __obstack_free macro.
69302
69303 2006-10-23  Bruno Haible  <bruno@clisp.org>
69304             Paul Eggert  <eggert@cs.ucla.edu>
69305
69306         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
69307         __argc, __argv from the declaration. (They are defined as macros on
69308         mingw.)
69309
69310 2006-10-22  Bruno Haible  <bruno@clisp.org>
69311
69312         * doc/gnulib-intro.texi: New file.
69313         * doc/gnulib.texi: Include it.
69314
69315 2006-10-21  Bruno Haible  <bruno@clisp.org>
69316
69317         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69318         "Introduction", "Miscellanous Notes", "Particular Modules".
69319
69320 2006-10-21  Bruno Haible  <bruno@clisp.org>
69321
69322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69323         Change mostlyclean-local rule to avoid sh syntax error from bash
69324         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69325
69326 2006-10-23  Jim Meyering  <jim@meyering.net>
69327
69328         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69329         in place of snprintf.
69330
69331         * modules/inttostr (Files): Add lib/uinttostr.c.
69332         * lib/uinttostr.c (inttostr): New file/function.
69333         * lib/inttostr.h (uinttostr): Declare.
69334         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69335         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69336         Add uinttostr.
69337         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69338
69339 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69340
69341         * lib/canonicalize.c (ELOOP): Define if not already defined.
69342         Problem reported by Bruno Haible in
69343         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69344
69345 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69346
69347         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69348         Problem reported by Perry Smith and Ville Laurikari.
69349
69350         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69351         uses.
69352
69353 2006-10-19  Bruno Haible  <bruno@clisp.org>
69354
69355         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69356         for mingw.
69357
69358 2006-10-19  Bruno Haible  <bruno@clisp.org>
69359
69360         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
69361         Needed for mingw.
69362
69363 2006-10-19  Bruno Haible  <bruno@clisp.org>
69364
69365         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
69366
69367 2006-10-19  Bruno Haible  <bruno@clisp.org>
69368
69369         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
69370         it.
69371
69372 2006-10-19  Bruno Haible  <bruno@clisp.org>
69373
69374         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
69375         invocation.
69376
69377 2006-10-19  Bruno Haible  <bruno@clisp.org>
69378
69379         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69380         mountlist by default.
69381
69382 2006-10-16  Bruno Haible  <bruno@clisp.org>
69383
69384         * lib/c-strstr.c: Include c-strstr.h.
69385
69386 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69387
69388         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69389         in a slash.
69390
69391 2006-10-18  Bruno Haible  <bruno@clisp.org>
69392
69393         * lib/lock.h [C++]: Wrap definitions in extern "C".
69394
69395 2006-10-18  Bruno Haible  <bruno@clisp.org>
69396
69397         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69398         gl_LIBOBJS list.
69399
69400 2006-10-18  Bruno Haible  <bruno@clisp.org>
69401
69402         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69403
69404 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69405
69406         * lib/xstrtol.h: Include gettext.h.
69407         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69408         Problem reported by Eric Blake.
69409         * modules/xstrtol (Depends-on): Add gettext-h.
69410
69411 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69412
69413         * lib/strftime.c (advance): New macro.
69414         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
69415         incomplete type, so you can't add 0 to it.  Problem and patch
69416         reported by Eelco Dolstra for dietlibc.
69417
69418 2006-10-18  Jim Meyering  <jim@meyering.net>
69419
69420         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
69421         type for a local, and rename it: s/up/user_proc/.
69422
69423 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
69424
69425         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
69426         READ_UTMP_USER_PROCESS.
69427         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
69428
69429 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69430
69431         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
69432         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
69433
69434 2006-10-17  Eric Blake  <ebb9@byu.net>
69435
69436         * lib/sigprocmask.c (sigprocmask): Fix typo.
69437
69438         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
69439
69440         * modules/clean-temp (Makefile.am): Don't add to make output...
69441         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
69442         config.h.
69443
69444 2006-10-17  Bruno Haible  <bruno@clisp.org>
69445
69446         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
69447         differently if DEFAULT_TEXT_DOMAIN is set.
69448
69449 2006-10-16  Bruno Haible  <bruno@clisp.org>
69450
69451         * lib/clean-temp.c: Include fwriteerror.h.
69452
69453 2006-10-16  Bruno Haible  <bruno@clisp.org>
69454
69455         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
69456
69457 2006-10-16  Bruno Haible  <bruno@clisp.org>
69458
69459         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
69460         * lib/sigprocmask.h: Include <sys/types.h>.
69461         (sigset_t): Use the system's definition if present.
69462
69463 2006-10-17  Eric Blake  <ebb9@byu.net>
69464
69465         * lib/xvasprintf.c (includes): Assume config.h.
69466         * lib/xasprintf.c (includes): Likewise.
69467
69468 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69469
69470         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
69471         at least as wide as intmax_t.
69472
69473 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
69474
69475         (Imported from Automake.)
69476         * build-aux/gnupload: Update to version 1.1 of directive file.
69477
69478 2006-10-16  Eric Blake  <ebb9@byu.net>
69479
69480         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
69481         match Automake 1.10a.
69482
69483 2006-10-14  Bruno Haible  <bruno@clisp.org>
69484
69485         * modules/sigprocmask: New file.
69486         * lib/sigprocmask.h: New file.
69487         * lib/sigprocmask.c: New file.
69488         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69489         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69490         request sigprocmask.o.
69491         (gl_PREREQ_SIGPROCMASK): New macro.
69492         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69493         (Depends-on): Add sigprocmask.
69494         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69495         gt_SIGNALBLOCKING. Test for 'raise' only once.
69496         * lib/fatal-signal.c: Include sigprocmask.h.
69497         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69498         unblock_fatal_signals): Define always.
69499         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69500         sigprocmask.
69501
69502 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69503
69504         Sync from Automake.
69505         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69506         which incorrectly sets the mode of an existing destination
69507         directory.  In some cases the unpatched install-sh could do the
69508         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69509         system.  We hope this is rare in practice, but it's clearly worth
69510         fixing.  Problem reported by Alex Unleashed in
69511         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69512         Also, don't bother to check for -m bugs unless we're using -m;
69513         suggested by Stepan Kasal.
69514
69515 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69516
69517         Sync from Automake.
69518         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69519         `-c' flag, so they appear at the same position as in %FASTDEP%
69520         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69521         which ignores unknown options only after the first non-option.
69522         Bug report against M4 by Nelson H. F. Beebe.
69523
69524 2006-10-13  Jim Meyering  <jim@meyering.net>
69525
69526         Fix a bug in yesterday's change.
69527         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69528         p->fts_statp->st_dev would be used uninitialized.
69529         Ensures that we always call fts_stat on the very first entry.
69530         Miklos Szeredi reported that find -xdev stopped working.
69531
69532 2006-10-12  Bruno Haible  <bruno@clisp.org>
69533
69534         * gnulib-tool (func_get_automake_snippet): Append an automatically
69535         computed EXTRA_DIST augmentation.
69536         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69537         * modules/alloca-opt (Makefile.am): Likewise.
69538         * modules/allocsa (Makefile.am): Likewise.
69539         * modules/arcfour (Makefile.am): Likewise.
69540         * modules/arctwo (Makefile.am): Likewise.
69541         * modules/argmatch (Makefile.am): Likewise.
69542         * modules/argz (Makefile.am): Likewise.
69543         * modules/atexit (Makefile.am): Likewise.
69544         * modules/backupfile (Makefile.am): Likewise.
69545         * modules/byteswap (Makefile.am): Likewise.
69546         * modules/c-strtod (Makefile.am): Likewise.
69547         * modules/c-strtold (Makefile.am): Likewise.
69548         * modules/calloc (Makefile.am): Likewise.
69549         * modules/canon-host (Makefile.am): Likewise.
69550         * modules/canonicalize (Makefile.am): Likewise.
69551         * modules/chdir-long (Makefile.am): Likewise.
69552         * modules/chdir-safer (Makefile.am): Likewise.
69553         * modules/check-version (Makefile.am): Likewise.
69554         * modules/chown (Makefile.am): Likewise.
69555         * modules/cloexec (Makefile.am): Likewise.
69556         * modules/close-stream (Makefile.am): Likewise.
69557         * modules/closeout (Makefile.am): Likewise.
69558         * modules/crc (Makefile.am): Likewise.
69559         * modules/csharpexec (Makefile.am): Likewise.
69560         * modules/cycle-check (Makefile.am): Likewise.
69561         * modules/des (Makefile.am): Likewise.
69562         * modules/dev-ino (Makefile.am): Likewise.
69563         * modules/dirfd (Makefile.am): Likewise.
69564         * modules/dirname (Makefile.am): Likewise.
69565         * modules/dup2 (Makefile.am): Likewise.
69566         * modules/eealloc (Makefile.am): Likewise.
69567         * modules/error (Makefile.am): Likewise.
69568         * modules/euidaccess (Makefile.am): Likewise.
69569         * modules/exclude (Makefile.am): Likewise.
69570         * modules/exitfail (Makefile.am): Likewise.
69571         * modules/fcntl-safer (Makefile.am): Likewise.
69572         * modules/fcntl (Makefile.am): Likewise.
69573         * modules/file-type (Makefile.am): Likewise.
69574         * modules/fileblocks (Makefile.am): Likewise.
69575         * modules/filemode (Makefile.am): Likewise.
69576         * modules/filenamecat (Makefile.am): Likewise.
69577         * modules/fnmatch (Makefile.am): Likewise.
69578         * modules/fopen-safer (Makefile.am): Likewise.
69579         * modules/fpending (Makefile.am): Likewise.
69580         * modules/fprintftime (Makefile.am): Likewise.
69581         * modules/free (Makefile.am): Likewise.
69582         * modules/fsusage (Makefile.am): Likewise.
69583         * modules/ftruncate (Makefile.am): Likewise.
69584         * modules/fts (Makefile.am): Likewise.
69585         * modules/gc-arcfour (Makefile.am): Likewise.
69586         * modules/gc-des (Makefile.am): Likewise.
69587         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69588         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69589         * modules/gc-md4 (Makefile.am): Likewise.
69590         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69591         * modules/gc-sha1 (Makefile.am): Likewise.
69592         * modules/gc (Makefile.am): Likewise.
69593         * modules/getaddrinfo (Makefile.am): Likewise.
69594         * modules/getcwd (Makefile.am): Likewise.
69595         * modules/getdelim (Makefile.am): Likewise.
69596         * modules/getdomainname (Makefile.am): Likewise.
69597         * modules/getgroups (Makefile.am): Likewise.
69598         * modules/gethostname (Makefile.am): Likewise.
69599         * modules/gethrxtime (Makefile.am): Likewise.
69600         * modules/getline (Makefile.am): Likewise.
69601         * modules/getloadavg (Makefile.am): Likewise.
69602         * modules/getlogin_r (Makefile.am): Likewise.
69603         * modules/getndelim2 (Makefile.am): Likewise.
69604         * modules/getopt (Makefile.am): Likewise.
69605         * modules/getpagesize (Makefile.am): Likewise.
69606         * modules/getpass-gnu (Makefile.am): Likewise.
69607         * modules/getpass (Makefile.am): Likewise.
69608         * modules/getsubopt (Makefile.am): Likewise.
69609         * modules/gettime (Makefile.am): Likewise.
69610         * modules/gettimeofday (Makefile.am): Likewise.
69611         * modules/getugroups (Makefile.am): Likewise.
69612         * modules/getusershell (Makefile.am): Likewise.
69613         * modules/glob (Makefile.am): Likewise.
69614         * modules/group-member (Makefile.am): Likewise.
69615         * modules/hard-locale (Makefile.am): Likewise.
69616         * modules/hash (Makefile.am): Likewise.
69617         * modules/hmac-md5 (Makefile.am): Likewise.
69618         * modules/hmac-sha1 (Makefile.am): Likewise.
69619         * modules/human (Makefile.am): Likewise.
69620         * modules/idcache (Makefile.am): Likewise.
69621         * modules/imaxabs (Makefile.am): Likewise.
69622         * modules/imaxdiv (Makefile.am): Likewise.
69623         * modules/inet_ntop (Makefile.am): Likewise.
69624         * modules/inet_pton (Makefile.am): Likewise.
69625         * modules/intprops (Makefile.am): Likewise.
69626         * modules/inttostr (Makefile.am): Likewise.
69627         * modules/inttypes (Makefile.am): Likewise.
69628         * modules/isapipe (Makefile.am): Likewise.
69629         * modules/javaversion (Makefile.am): Likewise.
69630         * modules/lchmod (Makefile.am): Likewise.
69631         * modules/lchown (Makefile.am): Likewise.
69632         * modules/localcharset (Makefile.am): Likewise.
69633         * modules/long-options (Makefile.am): Likewise.
69634         * modules/lstat (Makefile.am): Likewise.
69635         * modules/malloc (Makefile.am): Likewise.
69636         * modules/mathl (Makefile.am): Likewise.
69637         * modules/mbchar (Makefile.am): Likewise.
69638         * modules/md2 (Makefile.am): Likewise.
69639         * modules/md4 (Makefile.am): Likewise.
69640         * modules/md5 (Makefile.am): Likewise.
69641         * modules/memcasecmp (Makefile.am): Likewise.
69642         * modules/memchr (Makefile.am): Likewise.
69643         * modules/memcmp (Makefile.am): Likewise.
69644         * modules/memcoll (Makefile.am): Likewise.
69645         * modules/memcpy (Makefile.am): Likewise.
69646         * modules/memmem (Makefile.am): Likewise.
69647         * modules/memmove (Makefile.am): Likewise.
69648         * modules/mempcpy (Makefile.am): Likewise.
69649         * modules/memrchr (Makefile.am): Likewise.
69650         * modules/memset (Makefile.am): Likewise.
69651         * modules/memxor (Makefile.am): Likewise.
69652         * modules/mkancesdirs (Makefile.am): Likewise.
69653         * modules/mkdir-p (Makefile.am): Likewise.
69654         * modules/mkdir (Makefile.am): Likewise.
69655         * modules/mkdtemp (Makefile.am): Likewise.
69656         * modules/mkstemp (Makefile.am): Likewise.
69657         * modules/mktime (Makefile.am): Likewise.
69658         * modules/modechange (Makefile.am): Likewise.
69659         * modules/mountlist (Makefile.am): Likewise.
69660         * modules/nanosleep (Makefile.am): Likewise.
69661         * modules/obstack (Makefile.am): Likewise.
69662         * modules/openat (Makefile.am): Likewise.
69663         * modules/pagealign_alloc (Makefile.am): Likewise.
69664         * modules/pathmax (Makefile.am): Likewise.
69665         * modules/physmem (Makefile.am): Likewise.
69666         * modules/poll (Makefile.am): Likewise.
69667         * modules/posixtm (Makefile.am): Likewise.
69668         * modules/posixver (Makefile.am): Likewise.
69669         * modules/putenv (Makefile.am): Likewise.
69670         * modules/quote (Makefile.am): Likewise.
69671         * modules/quotearg (Makefile.am): Likewise.
69672         * modules/raise (Makefile.am): Likewise.
69673         * modules/read-file (Makefile.am): Likewise.
69674         * modules/readline (Makefile.am): Likewise.
69675         * modules/readlink (Makefile.am): Likewise.
69676         * modules/readtokens (Makefile.am): Likewise.
69677         * modules/readutmp (Makefile.am): Likewise.
69678         * modules/realloc (Makefile.am): Likewise.
69679         * modules/regex (Makefile.am): Likewise.
69680         * modules/rename-dest-slash (Makefile.am): Likewise.
69681         * modules/rename (Makefile.am): Likewise.
69682         * modules/rijndael (Makefile.am): Likewise.
69683         * modules/rmdir (Makefile.am): Likewise.
69684         * modules/rpmatch (Makefile.am): Likewise.
69685         * modules/safe-read (Makefile.am): Likewise.
69686         * modules/safe-write (Makefile.am): Likewise.
69687         * modules/same-inode (Makefile.am): Likewise.
69688         * modules/same (Makefile.am): Likewise.
69689         * modules/save-cwd (Makefile.am): Likewise.
69690         * modules/savedir (Makefile.am): Likewise.
69691         * modules/setenv (Makefile.am): Likewise.
69692         * modules/settime (Makefile.am): Likewise.
69693         * modules/sha1 (Makefile.am): Likewise.
69694         * modules/sig2str (Makefile.am): Likewise.
69695         * modules/snprintf (Makefile.am): Likewise.
69696         * modules/stat-macros (Makefile.am): Likewise.
69697         * modules/stat-time (Makefile.am): Likewise.
69698         * modules/stdbool (Makefile.am): Likewise.
69699         * modules/stdint (Makefile.am): Likewise.
69700         * modules/stdlib-safer (Makefile.am): Likewise.
69701         * modules/stpcpy (Makefile.am): Likewise.
69702         * modules/stpncpy (Makefile.am): Likewise.
69703         * modules/strcase (Makefile.am): Likewise.
69704         * modules/strcasestr (Makefile.am): Likewise.
69705         * modules/strchrnul (Makefile.am): Likewise.
69706         * modules/strcspn (Makefile.am): Likewise.
69707         * modules/strdup (Makefile.am): Likewise.
69708         * modules/strerror (Makefile.am): Likewise.
69709         * modules/strftime (Makefile.am): Likewise.
69710         * modules/strndup (Makefile.am): Likewise.
69711         * modules/strnlen (Makefile.am): Likewise.
69712         * modules/strpbrk (Makefile.am): Likewise.
69713         * modules/strsep (Makefile.am): Likewise.
69714         * modules/strstr (Makefile.am): Likewise.
69715         * modules/strtod (Makefile.am): Likewise.
69716         * modules/strtoimax (Makefile.am): Likewise.
69717         * modules/strtok_r (Makefile.am): Likewise.
69718         * modules/strtol (Makefile.am): Likewise.
69719         * modules/strtoll (Makefile.am): Likewise.
69720         * modules/strtoul (Makefile.am): Likewise.
69721         * modules/strtoull (Makefile.am): Likewise.
69722         * modules/strtoumax (Makefile.am): Likewise.
69723         * modules/strverscmp (Makefile.am): Likewise.
69724         * modules/sys_socket (Makefile.am): Likewise.
69725         * modules/sys_stat (Makefile.am): Likewise.
69726         * modules/sysexits (Makefile.am): Likewise.
69727         * modules/time_r (Makefile.am): Likewise.
69728         * modules/timegm (Makefile.am): Likewise.
69729         * modules/timespec (Makefile.am): Likewise.
69730         * modules/tmpfile-safer (Makefile.am): Likewise.
69731         * modules/trim (Makefile.am): Likewise.
69732         * modules/unistd-safer (Makefile.am): Likewise.
69733         * modules/unlinkdir (Makefile.am): Likewise.
69734         * modules/unlocked-io (Makefile.am): Likewise.
69735         * modules/userspec (Makefile.am): Likewise.
69736         * modules/utime (Makefile.am): Likewise.
69737         * modules/utimecmp (Makefile.am): Likewise.
69738         * modules/utimens (Makefile.am): Likewise.
69739         * modules/vasnprintf (Makefile.am): Likewise.
69740         * modules/vasprintf (Makefile.am): Likewise.
69741         * modules/vsnprintf (Makefile.am): Likewise.
69742         * modules/xalloc (Makefile.am): Likewise.
69743         * modules/xgetcwd (Makefile.am): Likewise.
69744         * modules/xnanosleep (Makefile.am): Likewise.
69745         * modules/xreadlink (Makefile.am): Likewise.
69746         * modules/xstrtod (Makefile.am): Likewise.
69747         * modules/xstrtol (Makefile.am): Likewise.
69748         * modules/xstrtold (Makefile.am): Likewise.
69749         * modules/yesno (Makefile.am): Likewise.
69750         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69751
69752 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69753
69754         * modules/error (Makefile.am): Distribute files through
69755         EXTRA_DIST, not lib_SOURCES.
69756
69757 2006-10-12  Eric Blake  <ebb9@byu.net>
69758
69759         * modules/error (Makefile.am): Distribute files in /lib.
69760         * modules/obstack (Makefile.am): Likewise.
69761
69762 2006-10-12  Bruno Haible  <bruno@clisp.org>
69763
69764         * modules/acl (Makefile.am): Distribute all files in lib/ through
69765         EXTRA_DIST.
69766         * modules/arcfour (Makefile.am): Likewise.
69767         * modules/arctwo (Makefile.am): Likewise.
69768         * modules/argmatch (Makefile.am): Likewise.
69769         * modules/argz (Makefile.am): Likewise.
69770         * modules/atexit (Makefile.am): Likewise.
69771         * modules/backupfile (Makefile.am): Likewise.
69772         * modules/c-strtod (Makefile.am): Likewise.
69773         * modules/c-strtold (Makefile.am): Likewise.
69774         * modules/calloc (Makefile.am): Likewise.
69775         * modules/canon-host (Makefile.am): Likewise.
69776         * modules/canonicalize (Makefile.am): Likewise.
69777         * modules/chdir-long (Makefile.am): Likewise.
69778         * modules/chdir-safer (Makefile.am): Likewise.
69779         * modules/check-version (Makefile.am): Likewise.
69780         * modules/chown (Makefile.am): Likewise.
69781         * modules/cloexec (Makefile.am): Likewise.
69782         * modules/close-stream (Makefile.am): Likewise.
69783         * modules/closeout (Makefile.am): Likewise.
69784         * modules/crc (Makefile.am): Likewise.
69785         * modules/cycle-check (Makefile.am): Likewise.
69786         * modules/des (Makefile.am): Likewise.
69787         * modules/dirfd (Makefile.am): Likewise.
69788         * modules/dirname (Makefile.am): Likewise.
69789         * modules/dup2 (Makefile.am): Likewise.
69790         * modules/euidaccess (Makefile.am): Likewise.
69791         * modules/exclude (Makefile.am): Likewise.
69792         * modules/exitfail (Makefile.am): Likewise.
69793         * modules/fcntl-safer (Makefile.am): Likewise.
69794         * modules/file-type (Makefile.am): Likewise.
69795         * modules/fileblocks (Makefile.am): Likewise.
69796         * modules/filemode (Makefile.am): Likewise.
69797         * modules/filenamecat (Makefile.am): Likewise.
69798         * modules/fnmatch (Makefile.am): Likewise.
69799         * modules/fopen-safer (Makefile.am): Likewise.
69800         * modules/fpending (Makefile.am): Likewise.
69801         * modules/fprintftime (Makefile.am): Likewise.
69802         * modules/free (Makefile.am): Likewise.
69803         * modules/fsusage (Makefile.am): Likewise.
69804         * modules/ftruncate (Makefile.am): Likewise.
69805         * modules/fts (Makefile.am): Likewise.
69806         * modules/gc (Makefile.am): Likewise.
69807         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69808         * modules/getaddrinfo (Makefile.am): Likewise.
69809         * modules/getcwd (Makefile.am): Likewise.
69810         * modules/getdelim (Makefile.am): Likewise.
69811         * modules/getdomainname (Makefile.am): Likewise.
69812         * modules/getgroups (Makefile.am): Likewise.
69813         * modules/gethostname (Makefile.am): Likewise.
69814         * modules/gethrxtime (Makefile.am): Likewise.
69815         * modules/getline (Makefile.am): Likewise.
69816         * modules/getloadavg (Makefile.am): Likewise.
69817         * modules/getlogin_r (Makefile.am): Likewise.
69818         * modules/getopt (Makefile.am): Likewise.
69819         * modules/getpass (Makefile.am): Likewise.
69820         * modules/getpass-gnu (Makefile.am): Likewise.
69821         * modules/getsubopt (Makefile.am): Likewise.
69822         * modules/gettime (Makefile.am): Likewise.
69823         * modules/gettimeofday (Makefile.am): Likewise.
69824         * modules/getugroups (Makefile.am): Likewise.
69825         * modules/getusershell (Makefile.am): Likewise.
69826         * modules/glob (Makefile.am): Likewise.
69827         * modules/group-member (Makefile.am): Likewise.
69828         * modules/hard-locale (Makefile.am): Likewise.
69829         * modules/hash (Makefile.am): Likewise.
69830         * modules/hmac-md5 (Makefile.am): Likewise.
69831         * modules/hmac-sha1 (Makefile.am): Likewise.
69832         * modules/human (Makefile.am): Likewise.
69833         * modules/idcache (Makefile.am): Likewise.
69834         * modules/imaxabs (Makefile.am): Likewise.
69835         * modules/imaxdiv (Makefile.am): Likewise.
69836         * modules/inet_ntop (Makefile.am): Likewise.
69837         * modules/inet_pton (Makefile.am): Likewise.
69838         * modules/inttostr (Makefile.am): Likewise.
69839         * modules/isapipe (Makefile.am): Likewise.
69840         * modules/lchown (Makefile.am): Likewise.
69841         * modules/long-options (Makefile.am): Likewise.
69842         * modules/lstat (Makefile.am): Likewise.
69843         * modules/malloc (Makefile.am): Likewise.
69844         * modules/mathl (Makefile.am): Likewise.
69845         * modules/mbchar (Makefile.am): Likewise.
69846         * modules/md2 (Makefile.am): Likewise.
69847         * modules/md4 (Makefile.am): Likewise.
69848         * modules/md5 (Makefile.am): Likewise.
69849         * modules/memcasecmp (Makefile.am): Likewise.
69850         * modules/memchr (Makefile.am): Likewise.
69851         * modules/memcmp (Makefile.am): Likewise.
69852         * modules/memcoll (Makefile.am): Likewise.
69853         * modules/memcpy (Makefile.am): Likewise.
69854         * modules/memmem (Makefile.am): Likewise.
69855         * modules/memmove (Makefile.am): Likewise.
69856         * modules/mempcpy (Makefile.am): Likewise.
69857         * modules/memrchr (Makefile.am): Likewise.
69858         * modules/memset (Makefile.am): Likewise.
69859         * modules/memxor (Makefile.am): Likewise.
69860         * modules/mkancesdirs (Makefile.am): Likewise.
69861         * modules/mkdir (Makefile.am): Likewise.
69862         * modules/mkdir-p (Makefile.am): Likewise.
69863         * modules/mkdtemp (Makefile.am): Likewise.
69864         * modules/mkstemp (Makefile.am): Likewise.
69865         * modules/mktime (Makefile.am): Likewise.
69866         * modules/modechange (Makefile.am): Likewise.
69867         * modules/mountlist (Makefile.am): Likewise.
69868         * modules/nanosleep (Makefile.am): Likewise.
69869         * modules/openat (Makefile.am): Likewise.
69870         * modules/pagealign_alloc (Makefile.am): Likewise.
69871         * modules/physmem (Makefile.am): Likewise.
69872         * modules/poll (Makefile.am): Likewise.
69873         * modules/posixtm (Makefile.am): Likewise.
69874         * modules/posixver (Makefile.am): Likewise.
69875         * modules/putenv (Makefile.am): Likewise.
69876         * modules/quote (Makefile.am): Likewise.
69877         * modules/quotearg (Makefile.am): Likewise.
69878         * modules/raise (Makefile.am): Likewise.
69879         * modules/read-file (Makefile.am): Likewise.
69880         * modules/readline (Makefile.am): Likewise.
69881         * modules/readlink (Makefile.am): Likewise.
69882         * modules/readtokens (Makefile.am): Likewise.
69883         * modules/readutmp (Makefile.am): Likewise.
69884         * modules/realloc (Makefile.am): Likewise.
69885         * modules/regex (Makefile.am): Likewise.
69886         * modules/rename (Makefile.am): Likewise.
69887         * modules/rename-dest-slash (Makefile.am): Likewise.
69888         * modules/rijndael (Makefile.am): Likewise.
69889         * modules/rmdir (Makefile.am): Likewise.
69890         * modules/rpmatch (Makefile.am): Likewise.
69891         * modules/safe-read (Makefile.am): Likewise.
69892         * modules/safe-write (Makefile.am): Likewise.
69893         * modules/same (Makefile.am): Likewise.
69894         * modules/save-cwd (Makefile.am): Likewise.
69895         * modules/savedir (Makefile.am): Likewise.
69896         * modules/setenv (Makefile.am): Likewise.
69897         * modules/settime (Makefile.am): Likewise.
69898         * modules/sha1 (Makefile.am): Likewise.
69899         * modules/sig2str (Makefile.am): Likewise.
69900         * modules/snprintf (Makefile.am): Likewise.
69901         * modules/stdlib-safer (Makefile.am): Likewise.
69902         * modules/stpcpy (Makefile.am): Likewise.
69903         * modules/stpncpy (Makefile.am): Likewise.
69904         * modules/strcase (Makefile.am): Likewise.
69905         * modules/strcasestr (Makefile.am): Likewise.
69906         * modules/strchrnul (Makefile.am): Likewise.
69907         * modules/strcspn (Makefile.am): Likewise.
69908         * modules/strdup (Makefile.am): Likewise.
69909         * modules/strerror (Makefile.am): Likewise.
69910         * modules/strftime (Makefile.am): Likewise.
69911         * modules/strndup (Makefile.am): Likewise.
69912         * modules/strnlen (Makefile.am): Likewise.
69913         * modules/strpbrk (Makefile.am): Likewise.
69914         * modules/strsep (Makefile.am): Likewise.
69915         * modules/strstr (Makefile.am): Likewise.
69916         * modules/strtod (Makefile.am): Likewise.
69917         * modules/strtoimax (Makefile.am): Likewise.
69918         * modules/strtok_r (Makefile.am): Likewise.
69919         * modules/strtol (Makefile.am): Likewise.
69920         * modules/strtoll (Makefile.am): Likewise.
69921         * modules/strtoul (Makefile.am): Likewise.
69922         * modules/strtoull (Makefile.am): Likewise.
69923         * modules/strtoumax (Makefile.am): Likewise.
69924         * modules/strverscmp (Makefile.am): Likewise.
69925         * modules/time_r (Makefile.am): Likewise.
69926         * modules/timegm (Makefile.am): Likewise.
69927         * modules/tmpfile-safer (Makefile.am): Likewise.
69928         * modules/unistd-safer (Makefile.am): Likewise.
69929         * modules/unlinkdir (Makefile.am): Likewise.
69930         * modules/userspec (Makefile.am): Likewise.
69931         * modules/utime (Makefile.am): Likewise.
69932         * modules/utimecmp (Makefile.am): Likewise.
69933         * modules/utimens (Makefile.am): Likewise.
69934         * modules/vasnprintf (Makefile.am): Likewise.
69935         * modules/vasprintf (Makefile.am): Likewise.
69936         * modules/vsnprintf (Makefile.am): Likewise.
69937         * modules/xalloc (Makefile.am): Likewise.
69938         * modules/xgetcwd (Makefile.am): Likewise.
69939         * modules/xnanosleep (Makefile.am): Likewise.
69940         * modules/xreadlink (Makefile.am): Likewise.
69941         * modules/xstrtod (Makefile.am): Likewise.
69942         * modules/xstrtol (Makefile.am): Likewise.
69943         * modules/xstrtold (Makefile.am): Likewise.
69944         * modules/yesno (Makefile.am): Likewise.
69945
69946 2006-10-12  Jim Meyering  <jim@meyering.net>
69947
69948         * m4/getloadavg.m4: Revert the change below.
69949
69950         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69951         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69952         fail with a symlink, which is what coreutils' ./bootstrap now
69953         creates by default.
69954
69955 2006-10-12  Bruno Haible  <bruno@clisp.org>
69956
69957         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69958         mingw.
69959         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69960         MSVC and mingw explicitly.
69961
69962 2006-10-11  Simon Josefsson  <jas@extundo.com>
69963             Bruno Haible  <bruno@clisp.org>
69964
69965         Add support for multiple gnulib-tool invocations in the scope of a
69966         single configure.ac file.
69967         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69968         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69969         with the same contents as the _LIBADD variable.
69970         (func_emit_initmacro_start, func_emit_initmacro_end,
69971         func_emit_initmacro_done): New functions.
69972         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69973         gl_LIBOBJS and gl_LTLIBOBJS.
69974
69975 2006-10-11  Bruno Haible  <bruno@clisp.org>
69976
69977         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69978         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69979         autoreconf. Instead, invoke autopoint explicitly but move back the
69980         *.m4 files from gnulib.
69981
69982 2006-10-11  Bruno Haible  <bruno@clisp.org>
69983
69984         * gnulib-tool (func_usage): Make module names after --create-testdir
69985         optional.
69986         (func_create_testdir): If no module was specified, use nearly all
69987         modules.
69988
69989 2006-10-12  Jim Meyering  <jim@meyering.net>
69990
69991         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69992         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69993         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69994         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69995         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69996         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69997         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69998         (fts_set_stat_required): New function.
69999         (fts_open): Defer the calls to fts_stat, if possible or requested.
70000         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70001         into fts_stat itself.
70002         (fts_read): Perform any required (deferred) fts_stat call.
70003         (fts_build): Likewise, for the directory we're about to open and read.
70004         In the readdir loop, carefully decide whether each entry will require
70005         an eventual call to fts_stat, using dirent.d_type info if available.
70006         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70007         a command line argument into this function.  Update all callers.
70008         Map a return value of FTS_DOT to FTS_D for a command line argument.
70009         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70010         Thanks to Miklos Szeredi for his tenacity and for the initial
70011         bug report about "find" failing on a FUSE-based file system.
70012
70013         * lib/fts.c (fts_open): Use consistent indentation.
70014
70015 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70016
70017         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70018         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70019         reported by Jim Meyering.  All uses of cache variables renamed
70020         to match Autoconf's.
70021         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70022         the other one.
70023
70024         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70025         Fix misspelling in diagnostic.
70026
70027 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70028
70029         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70030         defined.  Problem reported by Matthew Woehlke.
70031
70032         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70033         Add support for Tandem NonStop R series.
70034         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70035         Use new macro.
70036
70037         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70038         (has_trailing_slash): Omit size arg; all callers changed.
70039         Omit 'inline', since it doesn't help performance and we'd
70040         need to configure it.
70041         Don't count //, ///, etc. as having a trailing slash.
70042         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70043         (rpl_rename_dest_slash): On failure, use rename's errno rather
70044         than (in some cases) an incorrect or junk errno.
70045         Simplify code by removing need to compute length; this does
70046         cause it to make two passes instead of one over the file name,
70047         but it's worth it.
70048
70049         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70050         change, since Autoconf's version may no longer be appropriate now
70051         that we are using CVS Autoconf's version.  Add support for Tandem.
70052
70053 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70054             Bruno Haible  <bruno@clisp.org>
70055
70056         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70057         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70058         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70059         gl_AC_TYPE_LONG_LONG.
70060
70061         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70062         instead of HAVE_LONG_LONG.
70063         * lib/printf-args.c (printf_fetchargs): Likewise.
70064         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70065         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70066         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70067         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70068         gl_AC_TYPE_LONG_LONG.
70069
70070 2006-10-11  Bruno Haible  <bruno@clisp.org>
70071
70072         * m4/longlong.m4: Add comments.
70073         * m4/ulonglong.m4: Likewise.
70074
70075 2006-10-10  Bruno Haible  <bruno@clisp.org>
70076
70077         Make it possible to #define stpcpy, strdup to aliases.
70078         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70079         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70080
70081 2006-10-10  Bruno Haible  <bruno@clisp.org>
70082
70083         Make it possible to #define gcd to an alias.
70084         * lib/gcd.c: Include config.h.
70085
70086 2006-10-10  Bruno Haible  <bruno@clisp.org>
70087
70088         Make it possible to #define c_isascii to an alias.
70089         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70090         defined. Undefine the macros before defining them, to avoid gcc
70091         warnings.
70092         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70093         define NO_C_CTYPE_MACROS early.
70094
70095 2006-10-10  Bruno Haible  <bruno@clisp.org>
70096
70097         Make it possible to #define set_program_name to an alias.
70098         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70099         ENABLE_RELOCATABLE early.
70100
70101 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70102
70103         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70104         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70105         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70106         More generally, don't assume that 64-bit signed int is available
70107         if unsigned int is, and vice versa.
70108         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70109         unsigned symbols, not on their signed counterparts.
70110         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70111         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70112         (UINT64_C, UINTMAX_C):
70113         Likewise.
70114         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70115         unsigned counterparts.
70116         (Have_long_long, Unsigned): New macros.
70117         (Int): Renamed from INT.
70118         (strtoimax): Use the new macros.
70119         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70120         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70121         * modules/inttypes (inttypes.h): Substitute
70122         HAVE_UNSIGNED_LONG_LONG_INT.
70123         * modules/stdint (stdint.h): Likewise.
70124         (Files): Add m4/ulonglong.m4.
70125
70126 2006-10-10  Bruno Haible  <bruno@clisp.org>
70127
70128         Fix a gcc -Wshadow warning.
70129         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70130         to 'bucket'.
70131         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70132         gl_linked_indexof_from_to): Likewise.
70133         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70134         Likewise.
70135         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70136         Likewise.
70137         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70138         Reported by Eric Blake.
70139
70140 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70141
70142         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70143         for NetBSD.  Problem reported by Bruno Haible.
70144
70145 2006-10-09  Jim Meyering  <jim@meyering.net>
70146
70147         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70148         Patch from Bruno Haible.
70149
70150 2006-10-09  Jim Meyering  <jim@meyering.net>
70151
70152         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70153         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70154         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70155
70156 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70157
70158         Don't include <config.h> twice; this doesn't work in some cases,
70159         e.g., when config.h has "#define intmax_t long long int" and
70160         we include <config.h>, <inttypes.h>, <config.h> in that order.
70161         Problem reported by Matthew Woehlke in:
70162         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70163         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70164         * lib/fts-cycle.c: Don't include config.h.
70165         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70166         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70167         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70168         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70169         inttypes.h.
70170         * lib/xstrtoumax.c: Likewise.
70171         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70172         __strtol and the like, so that this module is more like its siblings.
70173         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70174         Remove; no longer needed now that we assume gnulib inttypes.h.
70175
70176 2006-10-08  Bruno Haible  <bruno@clisp.org>
70177
70178         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70179         option.
70180
70181 2006-10-07  Jim Meyering  <jim@meyering.net>
70182
70183         * modules/inttypes (inttypes.h): Revert what seems to have been
70184         an inadvertent part of today's change: use "|", not "/" in the
70185         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70186
70187 2006-10-07  Bruno Haible  <bruno@clisp.org>
70188
70189         * modules/sublist: New file.
70190
70191 2006-10-07  Bruno Haible  <bruno@clisp.org>
70192
70193         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
70194         * modules/argz (argz.h): Likewise.
70195         * modules/arpa_inet (arpa/inet.h): Likewise.
70196         * modules/byteswap (byteswap.h): Likewise.
70197         * modules/configmake (configmake.h): Likewise.
70198         * modules/fcntl (fcntl.h): Likewise.
70199         * modules/fnmatch (fnmatch.h): Likewise.
70200         * modules/getopt (getopt.h): Likewise.
70201         * modules/glob (glob.h): Likewise.
70202         * modules/inttypes (inttypes.h): Likewise.
70203         * modules/netinet_in (netinet/in.h): Likewise.
70204         * modules/poll (poll.h): Likewise.
70205         * modules/stdbool (stdbool.h): Likewise.
70206         * modules/stdint (stdint.h): Likewise.
70207         * modules/sys_select (sys/select.h): Likewise.
70208         * modules/sys_socket (sys/socket.h): Likewise.
70209         * modules/sys_stat (sys/stat.h): Likewise.
70210         * modules/sysexits (sysexits.h): Likewise.
70211         * modules/unistd (unistd.h): Likewise.
70212         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70213         Add a "DO NOT EDIT" comment to the generated file.
70214         (func_import): Likewise for gnulib-comp.m4.
70215
70216 2006-10-07  Bruno Haible  <bruno@clisp.org>
70217
70218         * lib/gl_sublist.h: New file.
70219         * lib/gl_sublist.c: New file.
70220
70221 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70222
70223         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
70224         name (relative to the original working directory) and the file
70225         name component (relative to the temporary working directory).  All
70226         callers changed.
70227         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
70228         * lib/mkdir-p.c (make_dir_parents): Likewise.
70229         * lib/mkdir-p.h (make_dir_parents): Likewise.
70230
70231 2006-10-06  Eric Blake  <ebb9@byu.net>
70232
70233         Define several macros for use by the clean-temp module.
70234         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
70235         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
70236         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
70237
70238         * lib/clean-temp.h (close_stream_temp): New declaration.
70239         * lib/clean-temp.c (includes): Pull in headers according to what
70240         other modules are in use.
70241         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
70242
70243 2006-10-06  Bruno Haible  <bruno@clisp.org>
70244
70245         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
70246         instead of fopen, fwriteerror.
70247
70248 2006-10-06  Bruno Haible  <bruno@clisp.org>
70249
70250         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
70251         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
70252         int.
70253         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
70254         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
70255         Return an error indicator.
70256         Suggested by Eric Blake.
70257
70258 2006-10-06  Bruno Haible  <bruno@clisp.org>
70259
70260         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
70261         Reported by Eric Blake.
70262
70263 2006-10-06  Bruno Haible  <bruno@clisp.org>
70264
70265         * modules/closeout (Description): Mention stderr too.
70266
70267 2006-10-06  Bruno Haible  <bruno@clisp.org>
70268         and Paul Eggert  <eggert@cs.ucla.edu>
70269
70270         * lib/closeout.c (close_stdout): Also close stderr.
70271         * lib/closeout.h: Update comment.
70272
70273 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70274
70275         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
70276         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
70277         * lib/dirchownmod.c: Include lchown.h.
70278         * lib/lchown.c: Don't include files that lchown.h now includes.
70279         Don't declare chown, since lchown.h now does that.
70280         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
70281         (lchown): Define to rpl_chown if lchown is declared but
70282         does not exist.  Declare using a prototype if lchown is not
70283         declared.  Add a copyright notice.
70284         * lib/mkstemp.h: Include <unistd.h>.
70285         * lib/openat.c: Include lchown.h.
70286
70287         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
70288         we now test for that separately.
70289         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
70290         rather than O_NOFOLLOW, when testing whether it's possible to
70291         avoid a race condition reliably.
70292         * lib/savewd.c (savewd_chdir): Likewise.
70293
70294         Remove macros that are no longer needed now that stdint.h is
70295         reliable.
70296         * lib/fsusage.c (UINTMAX_MAX): Remove.
70297         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
70298         * lib/utimecmp.c (SIZE_MAX): Remove.
70299
70300         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
70301
70302         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
70303         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
70304         O_NOATIME works.
70305
70306 2006-10-05  Bruno Haible  <bruno@clisp.org>
70307
70308         * lib/gl_list.h (gl_sortedlist_search_from_to,
70309         gl_sortedlist_indexof_from_to): New declarations.
70310         (gl_list_implementation): New fields sortedlist_search_from_to,
70311         sortedlist_indexof_from_to.
70312         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70313         inline functions.
70314         * lib/gl_list.c (gl_sortedlist_search_from_to,
70315         gl_sortedlist_indexof_from_to): New functions.
70316         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70317         function.
70318         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70319         (gl_array_sortedlist_search_from_to): New function.
70320         (gl_array_list_implementation): Update.
70321         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70322         function.
70323         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70324         (gl_carray_sortedlist_search_from_to): New function.
70325         (gl_carray_list_implementation): Update.
70326         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70327         gl_linked_sortedlist_indexof_from_to): New functions.
70328         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70329         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70330         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70331         gl_tree_sortedlist_indexof_from_to): New functions.
70332         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70333         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70334         Update.
70335         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70336         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70337         Update.
70338
70339 2006-10-05  Bruno Haible  <bruno@clisp.org>
70340
70341         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70342         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70343         (struct gl_list_implementation): Add fields search_from_to,
70344         indexof_from_to. Remove fields search, indexof.
70345         (gl_list_search): Use the search_from_to method.
70346         (gl_list_search_from, gl_list_search_from_to): New functions.
70347         (gl_list_indexof): Use the indexof_from_to method.
70348         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70349         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
70350         (gl_list_search_from, gl_list_search_from_to): New functions.
70351         (gl_list_indexof): Use the indexof_from_to method.
70352         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70353         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70354         gl_array_indexof. Add start_index, end_index arguments.
70355         (gl_array_search_from_to): Renamed from gl_array_search. Add
70356         start_index, end_index arguments.
70357         (gl_array_remove, gl_array_list_implementation): Update.
70358         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
70359         gl_carray_indexof. Add start_index, end_index arguments.
70360         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
70361         start_index, end_index arguments.
70362         (gl_carray_remove, gl_carray_list_implementation): Update.
70363         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
70364         gl_linked_search. Add start_index, end_index arguments.
70365         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
70366         start_index, end_index arguments.
70367         (gl_linked_remove): Update.
70368         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70369         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70370         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
70371         field to 'size_t'.
70372         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
70373         gl_tree_search. Add start_index, end_index arguments.
70374         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70375         start_index, end_index arguments.
70376         (gl_tree_remove): Update.
70377         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70378         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70379         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70380         function.
70381         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70382         gl_tree_search. Add start_index, end_index arguments.
70383         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70384         start_index, end_index arguments.
70385         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70386         Update.
70387         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70388
70389 2006-10-05  Bruno Haible  <bruno@clisp.org>
70390
70391         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70392
70393         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70394         fwriteerror_temp): New declarations.
70395         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70396         (descriptors): New variable.
70397         (cleanup): First, close the descriptors.
70398         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70399         fclose_temp, fwriteerror_temp): New functions.
70400
70401 2006-10-04  Jim Meyering  <jim@meyering.net>
70402
70403         * lib/fts.c (fts_open): Tiny comment change.
70404
70405 2006-10-04  Bruno Haible  <bruno@clisp.org>
70406
70407         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70408         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70409         gl_LOCK_BODY.
70410         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70411         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70412         gl_LOCK_EARLY_BODY.
70413         (gl_LOCK): Require gl_LOCK_BODY.
70414
70415 2006-10-04  Bruno Haible  <bruno@clisp.org>
70416
70417         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
70418         (gl_oset_search_atleast): New declaration.
70419         (struct gl_oset_implementation): Add field 'search_atleast'.
70420         (gl_oset_search_atleast): New inline function.
70421         * lib/gl_oset.c (gl_oset_search_atleast): New function.
70422         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
70423         (gl_array_oset_implementation): Update.
70424         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
70425         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
70426         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
70427
70428 2006-10-04  Bruno Haible  <bruno@clisp.org>
70429
70430         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
70431
70432 2006-10-03  Bruno Haible  <bruno@clisp.org>
70433
70434         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
70435         from gl_avltreehash_list_implementation.
70436
70437 2006-10-03  Bruno Haible  <bruno@clisp.org>
70438
70439         * lib/gl_oset.c (gl_oset_add): Fix return type.
70440
70441 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
70442
70443         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
70444
70445 2006-10-02  Eric Blake  <ebb9@byu.net>
70446
70447         * modules/strnlen (Depends-on): Add extensions.
70448
70449 2006-10-02  Eric Blake  <ebb9@byu.net>
70450
70451         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
70452         definition in 2.60+.
70453
70454 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
70455
70456         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
70457         checks.
70458
70459 2006-10-02  Bruno Haible  <bruno@clisp.org>
70460
70461         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
70462         to the AUTOMAKE_OPTIONS.
70463         Reported by Jim Meyering.
70464
70465 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70466
70467         Work around bug in Solaris 10 /proc file system:
70468         /proc/self/fd/NNN/.. isn't the parent directory of
70469         the directory whose file descriptor is NNN.  This needs to
70470         be worked around at run time, not compile time, since a
70471         program might be built on Solaris 8, where things work, and
70472         run on Solaris 10.
70473         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
70474         to use the following interface instead:
70475         (OPENAT_BUFFER_SIZE): New macro.
70476         (openat_proc_name): New function.
70477         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
70478         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
70479         Likewise.
70480         * lib/openat-proc.c: New file.
70481         * modules/openat (Files): Add lib/openat-proc.c.
70482         (Depends-on): Add same-inode, stdbool.
70483         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70484
70485 2006-09-29  Bruno Haible  <bruno@clisp.org>
70486
70487         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70488         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70489         argument. Set stdout_closed before testing for ferror, not after.
70490         (fwriteerror, fwriteerror_no_ebadf): New functions.
70491
70492 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70493
70494         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70495
70496 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70497
70498         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70499         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70500
70501 2006-09-28  Jim Meyering  <jim@meyering.net>
70502
70503         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70504         Include <unistd.h>.
70505
70506 2006-09-28  Bruno Haible  <bruno@clisp.org>
70507
70508         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70509         * modules/linkedhash-list (Depends-on): Likewise.
70510         * modules/rbtreehash-list (Depends-on): Likewise.
70511
70512 2006-09-28  Bruno Haible  <bruno@clisp.org>
70513
70514         * lib/strndup.h: Simplify the redefinition of strndup.
70515         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70516         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70517
70518 2006-09-28  Bruno Haible  <bruno@clisp.org>
70519
70520         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70521         * lib/gl_linkedhash_list.c: Likewise.
70522         * lib/gl_rbtreehash_list.c: Likewise.
70523
70524 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70525
70526         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70527         getaddrinfo.
70528
70529         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70530         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70531         it causes <stdio_ext.h> to cause a compile-time error.
70532         Problem reported by Nelson H. F. Beebe.
70533         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70534         of HAVE_DECL___PENDING.
70535
70536         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70537         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70538         declaration.
70539
70540 2006-09-27  Jim Meyering  <jim@meyering.net>
70541
70542         This file could end up with a definition for a function
70543         named __strndup, rather than rpl_strndup on a system with
70544         incomplete weak_alias support.
70545         * lib/strndup.c (strndup): Rename from __strndup.
70546         Remove #defines that used to map __strndup to strndup.
70547         Don't use K&R prototypes.
70548         Remove LIBC-related code, since this file is not sync'd with glibc.
70549         * lib/strndup.h: Revamp, accordingly.
70550         * m4/strndup.m4: Modernize.
70551
70552 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70553
70554         * modules/savewd (Depends-on): Add 'raise'.
70555         * lib/savewd.c: Include <signal.h>, for 'raise'.
70556
70557 2006-09-26  Jim Meyering  <jim@meyering.net>
70558
70559         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70560         when we detect Darwin 8.7.0's acl_get_file bug.
70561         Rearrange to perform the new (below) run-test while $LIBS
70562         contains any acl-related library.  Set USE_ACL at the end.
70563         (gl_ACL_GET_FILE): New function.
70564
70565 2006-09-26  Eric Blake  <ebb9@byu.net>
70566
70567         * lib/verror.c: Include <config.h> unconditionally.
70568
70569 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70570
70571         * modules/clock-time (Maintainer): Add self.
70572         * modules/getlogin_r (Depends-on): Add extensions.
70573
70574 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70575
70576         * modules/clock-time: New module.
70577         * modules/nanosleep (Depends-on): Add clock-time.
70578         * modules/gethrxtime (Depends-on): Likewise.
70579         * modules/gettime (Depends-on): Likewise.
70580         * modules/settime (Depends-on): Likewise.
70581
70582         * modules/fts-lgpl: Depend on openat.
70583         * modules/mkancesdirs: Depend on savewd.
70584         * modules/mkdir-p: Likewise.
70585
70586 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70587
70588         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70589
70590         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70591         `gl_have_arbitrary_file_name_length_limit' to
70592         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70593         actually works between configure runs.
70594
70595 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70596             Bruno Haible  <bruno@clisp.org>
70597
70598         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70599
70600 2006-09-25  Jim Meyering  <jim@meyering.net>
70601
70602         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70603         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70604
70605 2006-09-25  Eric Blake  <ebb9@byu.net>
70606
70607         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70608         exec's in 2006-09-18 patch when shuffling fds.
70609
70610 2006-09-25  Bruno Haible  <bruno@clisp.org>
70611
70612         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70613         Reported by Jim Meyering.
70614
70615 2006-09-24  Jim Meyering  <jim@meyering.net>
70616
70617         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70618         compare a pointer against a literal "0".  That caused failures with
70619         at least HP-UX's hpcc.
70620
70621 2006-09-22  Simon Josefsson  <jas@extundo.com>
70622
70623         * modules/gc-sha1:
70624         * modules/gc-md4:
70625         * modules/gc-hmac-sha1:
70626         * modules/gc-hmac-md5:
70627         * modules/gc-des:
70628         * modules/gc-arcfour: Distribute more files.
70629
70630 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70631
70632         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70633         (gl_linked_iterator_from_to): Initialize struct completely.
70634         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70635         (gl_tree_iterator_from_to): Likewise
70636         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70637         * lib/gl_array_list.c [lint] (gl_array_iterator)
70638         (gl_array_iterator_from_to): Likewise.
70639         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70640         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70641         (gl_carray_iterator_from_to): Likewise.
70642
70643         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70644         * lib/md4.c (md4_process_block): Remove unused variable.
70645         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70646         parentheses for clarity.
70647
70648 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70649
70650         * modules/bison-i18n (Depends-on): Add gettext.
70651
70652 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70653
70654         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70655         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70656         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70657         also add missing comma that caused broken test.
70658         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70659         stdlib.h, for `abort'.
70660         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70661         variables.
70662         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70663         include unistd.h if present, for `rmdir'.
70664         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70665         variables.
70666         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70667         in the process include standard headers for prototypes.
70668         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70669         gets declared on GNU/Linux.
70670         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70671         unistd.h, for `rmdir'.
70672         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70673
70674         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70675         always true.
70676         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70677
70678         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70679
70680 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70681
70682         * gnulib-tool (func_version): Create output all at once.  This
70683         may help avoid triggering unnecessary SIGPIPEs, and at any
70684         rate it doesn't hurt.
70685
70686 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70687             Bruno Haible  <bruno@clisp.org>
70688
70689         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70690         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70691         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70692
70693         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70694         (gl_FUNC_VASPRINTF): Invoke it.
70695
70696 2006-09-22  Bruno Haible  <bruno@clisp.org>
70697
70698         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70699         getloadavg.c as first argument.
70700
70701 2006-09-22  Bruno Haible  <bruno@clisp.org>
70702
70703         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70704         at the beginning of the gl_INIT macro.
70705         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70706         gl_GETLOADAVG.
70707
70708 2006-09-22  Bruno Haible  <bruno@clisp.org>
70709
70710         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70711         module.
70712         Suggested by Ralf Wildenhues.
70713
70714 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         Import this patch from libc:
70717
70718         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70719
70720         * lib/regex_internal.c (re_string_reconstruct): Handle
70721         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70722         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70723         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70724         re_string_context_at.
70725
70726         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70727         now requires it.
70728         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70729         gl_REGEX now does it for us.
70730         (gl_REGEX): Add test taken from
70731         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70732
70733         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70734         Check that large offsets work.  Modernize Autoconf usages.
70735         Prefer "yes" to mean a good thing rather than a bad.
70736         Don't put "#define mkstemp" in config.h, as this might interfere
70737         with standard system headers that "#define mkstemp mkstemp64".
70738
70739         * modules/mkstemp (Depends-on): Add extensions, so that
70740         mkstemp is visible on some platforms.
70741         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70742         (Include): Change to "mkstemp.h" from <stdlib.h>.
70743         (Files): Add mkstemp.h.
70744
70745         * lib/mkstemp.h: New file, since some standard headers
70746         #define mkstemp.
70747         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70748         Include "mkstemp.h".
70749         Make the _LIBC code resemble glibc original more,
70750         e.g., use K&R style.
70751         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70752         (mkstemp): Remove, since mkstemp.h does this for us.
70753         * lib/stdlib--.h: Include mkstemp.h.
70754
70755         Import this patch from libc:
70756
70757         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70758
70759         * lib/tempname.c (__gen_tempname): Change attempts_min
70760         into a macro.  Use preprocessor to decide how to initialize
70761         attempts [Coverity CID 67].
70762
70763 2006-09-20  Bruno Haible  <bruno@clisp.org>
70764
70765         * lib/mkdtemp.c: Import from libc.
70766         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70767                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70768                 attempts_min into a macro.  Use preprocessor to decide how to
70769                 initialize attempts [Coverity CID 67].
70770         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70771                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70772                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70773
70774 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70775
70776         * gnulib-tool (func_exit): New function, to allow to pass the
70777         exit status portably through the trap.  Use everywhere.
70778         (--help, --version): Signal a write error.
70779         (trap): catch SIGPIPE, for write errors.
70780         Exit at the end of the trap, with the correct exit status.
70781
70782 2006-09-19  Karl Berry  <karl@gnu.org>
70783
70784         * doc/gnulib.texi: note about the license texinfo files.
70785
70786 2006-09-19  Eric Blake  <ebb9@byu.net>
70787
70788         * gnulib-tool: Avoid space-tab.
70789
70790 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70791
70792         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70793         that prevented coreutils 6.1 from building.  Problem reported
70794         by Petter Reinholdtsen.
70795
70796 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70797
70798         * gnulib-tool (avoidlist): Fix typo that broke options like
70799         --avoid=lock that are used by coreutils bootstrap.
70800
70801 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70802
70803         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70804         more systematically.
70805
70806 2006-09-18  Jim Meyering  <jim@meyering.net>
70807
70808         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70809
70810 2006-09-18  Bruno Haible  <bruno@clisp.org>
70811
70812         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70813
70814 2006-09-18  Bruno Haible  <bruno@clisp.org>
70815
70816         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70817         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70818         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70819         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70820         * m4/gettext.m4: Require autoconf >= 2.52.
70821         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70822         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70823         of gl_cv_header_inttypes_h.
70824
70825 2006-09-18  Bruno Haible  <bruno@clisp.org>
70826
70827         * lib/javaversion.c: Include configmake.h.
70828
70829 2006-09-18  Bruno Haible  <bruno@clisp.org>
70830
70831         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70832         avoid that the while loops be executed in a subshell.
70833
70834 2006-09-18  Bruno Haible  <bruno@clisp.org>
70835
70836         * MODULES.html.sh (func_module): Break long lines.
70837         Suggested by Bruce Korb <bkorb@gnu.org>.
70838
70839 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70840
70841         Speed up by a factor of 1.12.
70842         * gnulib-tool (nl): New variable.
70843         (func_import): Rewrite include directive extraction to only read each
70844         directive once.
70845
70846 2006-09-17  Bruno Haible  <bruno@clisp.org>
70847
70848         * modules/javaversion (Makefile.am): Remove DEFS setting.
70849         (Depends-on): Add configmake, for PKGDATADIR definition.
70850
70851 2006-09-17  Bruno Haible  <bruno@clisp.org>
70852
70853         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70854
70855 2006-09-17  Bruno Haible  <bruno@clisp.org>
70856
70857         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70858         (func_modules_transitive_closure, func_modules_add_dummy,
70859         func_modules_to_filelist, func_import, func_create_testdir,
70860         func_create_megatestdir, ...): Use it wherever possible.
70861         Suggested by Ralf Wildenhues.
70862
70863 2006-09-16  Karl Berry  <karl@gnu.org>
70864
70865         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70866         to avoid sectioning errors.
70867         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70868         [ifinfo]: blank line after @center-ed titles.
70869         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70870         Spell FSF address consistently with others.
70871         (These changes approved by rms.)
70872
70873 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70874
70875         Speed up by a factor of 1.61.
70876         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70877         already checked module names again.
70878
70879 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70880
70881         Speed up by a factor of 1.13.
70882         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70883         for new_files, and the input to func_add_or_update.
70884
70885 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70886
70887         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70888         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70889
70890 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70891
70892         * modules/mkancesdirs (Depends-on): Add fcntl.
70893         * modules/savewd: New file.
70894         * MODULES.html.sh (File system functions): Add savewd.
70895
70896         * modules/configmake (Makefile.am): Add support for the
70897         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70898
70899 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * m4/savewd.m4: New file.
70902
70903 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70904
70905         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70906         (dirchownmod): New arg FD.  All callers changed.
70907         Use FD rather than opening the directory ourself, as opening is
70908         now the caller's responsibility.
70909         * lib/dirchownmod.h: Likewise.
70910         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70911         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70912         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70913         (test_dir): Remove.
70914         (mkancesdirs): Return length of prefix of FILE that has already
70915         been made, or -2 if there is a child doing the work.  Redo
70916         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70917         ".", and treat ".." specially since it might stray back into
70918         already-created areas.  Use a subprocess if necessary.  New arg
70919         WD; all users changed.  MAKE_DIR function should now return 1
70920         if it creates a directory that is not readable.  Return -2 if
70921         a child process is spun off.
70922         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70923         Adjust signature to match code.
70924         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70925         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70926         all users changed.
70927         * lib/savewd.c, lib/savewd.h: New files.
70928
70929 2006-09-15  Jim Meyering  <jim@meyering.net>
70930
70931         * modules/rename-dest-slash: New module.
70932         * MODULES.html.sh (posix_compat): Add it here.
70933
70934         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70935
70936 2006-09-15  Jim Meyering  <jim@meyering.net>
70937
70938         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70939         file.
70940
70941         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70942
70943 2006-09-15  Jim Meyering  <jim@meyering.net>
70944
70945         * lib/rename-dest-slash.c (has_trailing_slash): Use
70946         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70947         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70948         test before testing whether SRC is a directory.
70949         Suggestions from Bruno Haible.
70950
70951         Avoid a warning about an unused variable.
70952         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70953         into the #ifdef block where it's used.
70954
70955         * lib/rename-dest-slash.c: New file.
70956
70957 2006-09-14  Bruno Haible  <bruno@clisp.org>
70958
70959         * lib/allocsa.c: Include <config.h> unconditionally.
70960         * lib/asnprintf.c: Likewise.
70961         * lib/asprintf.c: Likewise.
70962         * lib/c-strcasecmp.c: Likewise.
70963         * lib/c-strcasestr.c: Likewise.
70964         * lib/c-strncasecmp.c: Likewise.
70965         * lib/c-strstr.c: Likewise.
70966         * lib/classpath.c: Likewise.
70967         * lib/clean-temp.c: Likewise.
70968         * lib/concatpath.c: Likewise.
70969         * lib/copy-file.c: Likewise.
70970         * lib/csharpcomp.c: Likewise.
70971         * lib/csharpexec.c: Likewise.
70972         * lib/execute.c: Likewise.
70973         * lib/fatal-signal.c: Likewise.
70974         * lib/findprog.c: Likewise.
70975         * lib/fwriteerror.c: Likewise.
70976         * lib/gl_array_list.c: Likewise.
70977         * lib/gl_array_oset.c: Likewise.
70978         * lib/gl_avltree_list.c: Likewise.
70979         * lib/gl_avltree_oset.c: Likewise.
70980         * lib/gl_avltreehash_list.c: Likewise.
70981         * lib/gl_carray_list.c: Likewise.
70982         * lib/gl_linked_list.c: Likewise.
70983         * lib/gl_linkedhash_list.c: Likewise.
70984         * lib/gl_list.c: Likewise.
70985         * lib/gl_oset.c: Likewise.
70986         * lib/gl_rbtree_list.c: Likewise.
70987         * lib/gl_rbtree_oset.c: Likewise.
70988         * lib/gl_rbtreehash_list.c: Likewise.
70989         * lib/imaxabs.c: Likewise.
70990         * lib/imaxdiv.c: Likewise.
70991         * lib/javacomp.c: Likewise.
70992         * lib/javaexec.c: Likewise.
70993         * lib/javaversion.c: Likewise.
70994         * lib/linebreak.c: Likewise.
70995         * lib/localcharset.c: Likewise.
70996         * lib/lock.c: Likewise.
70997         * lib/mbchar.c: Likewise.
70998         * lib/mbswidth.c: Likewise.
70999         * lib/mkdtemp.c: Likewise.
71000         * lib/pipe.c: Likewise.
71001         * lib/printf-args.c: Likewise.
71002         * lib/printf-parse.c: Likewise.
71003         * lib/progname.c: Likewise.
71004         * lib/progreloc.c: Likewise.
71005         * lib/readlink.c: Likewise.
71006         * lib/sh-quote.c: Likewise.
71007         * lib/stpcpy.c: Likewise.
71008         * lib/stpncpy.c: Likewise.
71009         * lib/strcasecmp.c: Likewise.
71010         * lib/strcasestr.c: Likewise.
71011         * lib/strcspn.c: Likewise.
71012         * lib/striconv.c: Likewise.
71013         * lib/strncasecmp.c: Likewise.
71014         * lib/strnlen1.c: Likewise.
71015         * lib/strstr.c: Likewise.
71016         * lib/strtok_r.c: Likewise.
71017         * lib/tls.c: Likewise.
71018         * lib/tmpdir.c: Likewise.
71019         * lib/unicodeio.c: Likewise.
71020         * lib/unsetenv.c: Likewise.
71021         * lib/vasnprintf.c: Likewise.
71022         * lib/vasprintf.c: Likewise.
71023         * lib/wait-process.c: Likewise.
71024         * lib/xallocsa.c: Likewise.
71025         * lib/xsetenv.c: Likewise.
71026         * lib/xstriconv.c: Likewise.
71027
71028 2006-09-13  Simon Josefsson  <jas@extundo.com>
71029
71030         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71031         that internally, suggested by Ralf Wildenhues
71032         <Ralf.Wildenhues@gmx.de>.
71033
71034 2006-09-13  Simon Josefsson  <jas@extundo.com>
71035
71036         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71037         @LIBOBJS@.
71038         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71039
71040 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71041
71042         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71043         longer worry about uses that don't define HAVE_CONFIG_H.
71044         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71045         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71046         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71047         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71048         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71049         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71050         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71051         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71052         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71053         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71054         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71055         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71056         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71057         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71058         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71059         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71060         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71061         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71062         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71063         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71064         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71065         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71066         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71067         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71068         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71069         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71070         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71071         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71072         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71073         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71074         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71075         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71076         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71077         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71078         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71079         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71080         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71081         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71082         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71083         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71084         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71085         Likewise.
71086
71087 2006-09-13  Eric Blake  <ebb9@byu.net>
71088
71089         * lib/getopt.c: Fix typo in last commit.
71090
71091 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71092
71093         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71094         dgettext.
71095
71096 2006-09-12  Jim Meyering  <jim@meyering.net>
71097
71098         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71099         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71100         Reported by Nelson H. F. Beebe.
71101
71102 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71103
71104         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71105         program_invocation_name and program_invocation_short_name are
71106         initialized.
71107         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71108         and program_invocation_short_name to argp.h, so they are visible
71109         to user programs.
71110         * lib/argp.h: Likewise
71111
71112 2006-09-10  Bruno Haible  <bruno@clisp.org>
71113
71114         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71115         m4/inttypes_h.m4, m4/uintmax_t.m4.
71116
71117 2006-09-10  Bruno Haible  <bruno@clisp.org>
71118
71119         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71120         gl_AC_TYPE_UINTMAX_T.
71121
71122 2006-09-10  Bruno Haible  <bruno@clisp.org>
71123
71124         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71125
71126 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71127
71128         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71129         convention.  Text proposed by Bruno Haible.
71130         (struct argp_option): Document the use of N_() wrappers.
71131
71132         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71133         '\v', and translate the two parts separately, instead of feeding
71134         the whole string to gettext.  This allows to exclude
71135         '\v' from the strings visible to the translator by writing doc
71136         strings as N_("..") "\v" N_("..").
71137
71138 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71139
71140         * config/srclist.txt: Undo latest change; the bug was fixed.
71141
71142 2006-09-09  Bruno Haible  <bruno@clisp.org>
71143
71144         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71145         assignments if building a library without libtool.
71146         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71147         in func_emit_lib_Makefile_am.
71148         (func_import): When building a static library libfoo.a, arrange to
71149         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71150         (func_create_testdir): Likewise.
71151         * modules/gc (configure.ac, Makefile.am): If building statically,
71152         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71153         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71154         * modules/striconv (configure.ac, Makefile.am): Likewise.
71155         Based on a suggestion by Ralf Wildenhues.
71156
71157 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71158
71159         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71160         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71161         Also:
71162
71163         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71164         Add year_2050_test to catch glibc bug 2821
71165         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71166
71167         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71168         Prefer #ifdef to #if.
71169
71170         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71171         Return from 'main' instead of calling 'exit'.
71172
71173 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71174
71175         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71176         returned the maximum time_t value rather than (time_t) -1.
71177         Problem originally reported by William Bardwell
71178         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71179
71180         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71181         Moved to here ...
71182         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71183         ... from here.
71184
71185 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71186
71187         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71188         2821 is fixed.
71189
71190 2006-09-08  Jim Meyering  <jim@meyering.net>
71191
71192         Don't make generated files read-only.  That would bother too many
71193         people.  However, do retain the ability to work when targets are
71194         read-only: remove the destination and temporary files before writing
71195         them (when generated via sed or echo), or by using the -f option for
71196         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
71197         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71198         * modules/byteswap, modules/configmake, modules/fcntl:
71199         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71200         * modules/localcharset, modules/netinet_in, modules/poll:
71201         * modules/stdbool, modules/stdint, modules/sys_select:
71202         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71203
71204 2006-09-08  Jim Meyering  <jim@meyering.net>
71205
71206         Avoid new build failure on FreeBSD 6.0.
71207         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
71208         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
71209         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
71210
71211 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71212
71213         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
71214
71215 2006-09-07  Jim Meyering  <jim@meyering.net>
71216
71217         Fix global typo in last change: use chmod u-w, not chmod u-x.
71218         Spotted by Paul Eggert and Bruce Korb.
71219         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71220         * modules/byteswap, modules/configmake, modules/fcntl:
71221         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71222         * modules/localcharset, modules/netinet_in, modules/poll:
71223         * modules/stdbool, modules/stdint, modules/sys_select:
71224         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71225
71226 2006-09-06  Jim Meyering  <jim@meyering.net>
71227
71228         Make generated files be read-only.
71229         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
71230         Ensure that each generated file is now read-only.
71231         * modules/argz: Likewise.
71232         * modules/arpa_inet: Likewise.
71233         * modules/byteswap: Likewise.
71234         * modules/configmake: Likewise.
71235         * modules/fcntl: Likewise.
71236         * modules/fnmatch: Likewise.
71237         * modules/getopt: Likewise.
71238         * modules/glob: Likewise.
71239         * modules/inttypes: Likewise.
71240         * modules/netinet_in: Likewise.
71241         * modules/poll: Likewise.
71242         * modules/stdbool: Likewise.
71243         * modules/stdint: Likewise.
71244         * modules/sys_select: Likewise.
71245         * modules/sys_socket: Likewise.
71246         * modules/sys_stat: Likewise.
71247         * modules/sysexits: Likewise.
71248         * modules/localcharset: Same as above, but continue using temporary
71249         file named "t-$@" (why different?) rather than the "$@-t" used
71250         everywhere else.
71251
71252         * modules/sysexits (Makefile.am): Replace literal occurrences
71253         of "sysexit.h" more readable, and more consistent, "$@".
71254
71255 2006-09-06  Bruno Haible  <bruno@clisp.org>
71256
71257         * modules/striconv: New file.
71258         * modules/xstriconv: New file.
71259         * MODULES.html.sh (Internationalization functions): Add striconv,
71260         xstriconv.
71261
71262 2006-09-06  Bruno Haible  <bruno@clisp.org>
71263
71264         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
71265         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
71266         not using libtool correctly.
71267
71268 2006-09-06  Bruno Haible  <bruno@clisp.org>
71269
71270         * lib/striconv.h: New file.
71271         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
71272         iconvstring.c.
71273         * lib/xstriconv.h: New file.
71274         * lib/xstriconv.c: New file.
71275
71276 2006-09-06  Bruno Haible  <bruno@clisp.org>
71277
71278         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71279         lib_..._LDFLAGS.
71280
71281 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71282
71283         * lib/argz_.h: Sync from Libtool.
71284
71285         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
71286                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71287
71288         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
71289
71290 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71291
71292         * modules/trim: New file.
71293
71294 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71295
71296         * lib/trim.h: New file.
71297         * lib/trim.c: New file.
71298
71299 2006-09-05  Bruno Haible  <bruno@clisp.org>
71300
71301         * MODULES.html.sh (String handling): Add trim.
71302
71303 2006-09-04  Karl Berry  <karl@gnu.org>
71304
71305         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
71306         until next release.
71307
71308 2006-09-03  Bruno Haible  <bruno@clisp.org>
71309
71310         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71311         correctly.
71312
71313 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71314
71315         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71316         not gl_GETLOADAVG.  Omit unneeded semicolons.
71317         Problems reported by Ralf Wildenhues in
71318         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71319         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71320         at the end, which is the usual gnulib style.
71321
71322         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71323         of doing all the work ourselves.
71324         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71325         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71326
71327 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71328
71329         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71330         Problem reported by Ralf Wildenhues in
71331         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71332
71333         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71334         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71335
71336 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71337
71338         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71339         yesterday's patch by changing test -n to test -z.
71340
71341 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71342
71343         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71344         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71345         the former is now obsolescent.
71346
71347         * modules/chdir-long (Depends-on): Add fcntl.
71348
71349 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71350
71351         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71352         obsolescent, and programs should use gnulib instead.
71353         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71354         but with prefixes changed.
71355
71356 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71357
71358         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
71359         or stdbool.h, because they might not exist while configuring.
71360
71361         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
71362         Don't include unistd.h or limits.h; not needed, since chdir-long.h
71363         does that for us.
71364         (O_DIRECTORY): Remove.
71365
71366 2006-08-31  Eric Blake  <ebb9@byu.net>
71367
71368         * gnulib-tool: Don't let emacs change spaces to TAB.
71369
71370 2006-08-31  Bruno Haible  <bruno@clisp.org>
71371
71372         * gnulib-tool: When calling func_import more than once, do it in a
71373         subshell.
71374         Reported by Eric Blake <ebb9@byu.net>.
71375
71376 2006-08-31  Bruno Haible  <bruno@clisp.org>
71377
71378         * gnulib-tool (nl): Remove variable.
71379         (sed_transform_lib_file): Use more robust test for config-h module.
71380         (func_import): Fix typo in 2006-08-25 patch.
71381
71382 2006-08-31  Bruno Haible  <bruno@clisp.org>
71383
71384         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71385         specified, augment Makefile.am variables instead of assigning them.
71386
71387 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71388
71389         Work around a bug in both the Linux and SunOS 64-bit kernels:
71390         nanosleep mishandles sleeps for longer than 2**31 seconds.
71391         Problem reported by Frank v Waveren in
71392         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71393         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71394         Check for nanosleep bug.
71395         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71396
71397 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71398
71399         Work around a bug in both the Linux and SunOS 64-bit kernels:
71400         nanosleep mishandles sleeps for longer than 2**31 seconds.
71401         Problem reported by Frank v Waveren in
71402         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71403         * lib/nanosleep.c (BILLION): New constant.
71404         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71405         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71406         implementation.
71407
71408 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71409
71410         * modules/nanosleep (Depends-on): Add gettime.
71411
71412 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71413         and Simon Josefsson  <jas@extundo.com>
71414         and Oskar Liljeblad  <oskar@osk.mine.nu>
71415
71416         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
71417         * gnulib-tool (func_import): New license type 'unmodifiable license
71418         text'.
71419         * modules/fdl: Use it.  Longer description.
71420         * module/gpl, module/lgpl: New files.
71421
71422 2006-08-30  Jim Meyering  <jim@meyering.net>
71423
71424         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
71425         shadowing the parameter.
71426
71427 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71428
71429         Sync from Libtool:
71430
71431         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71432
71433         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
71434         sharing with gnulib.  Report by Eric Blake.
71435
71436 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71437
71438         * modules/isapipe: New file.
71439         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
71440
71441 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71442
71443         * modules/configmake (Makefile.am): Add a comment, and omit
71444         the CONFIGMAKE_ prefix from generated macro names.  Suggested
71445         by Bruno Haible.
71446
71447 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71448
71449         * m4/isapipe.m4: New file.
71450
71451 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71452
71453         * lib/isapipe.c, lib/isapipe.h: New files.
71454
71455 2006-08-29  Jim Meyering  <jim@meyering.net>
71456
71457         * modules/configmake (Makefile.am): Make configmake.h depend on
71458         Makefile.  Otherwise, a stale configmake.h could hang around.
71459
71460 2006-08-29  Eric Blake  <ebb9@byu.net>
71461
71462         * lib/error.c (error_at_line, print_errno_message): Match libc, after
71463         resolution of upstream bug 3044.
71464
71465 2006-08-29  Bruno Haible  <bruno@clisp.org>
71466
71467         * modules/localcharset (Depends-on): Add configmake.
71468         (Makefile.am): Remove setting of LIBDIR through DEFS.
71469
71470 2006-08-29  Bruno Haible  <bruno@clisp.org>
71471
71472         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
71473         defined.
71474
71475 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71476
71477         * modules/fcntl: New file.
71478         * modules/chdir-safer (Depends-on): Add fcntl.
71479         * modules/fts: Likewise.
71480         * modules/mkdir-p: Likewise.
71481
71482         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71483         This undoes the most recent change, since we're now addressing the
71484         problem in a different way.
71485
71486         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71487         into output, since the output might be called Makefile.am even
71488         if $makefile_name is something different.
71489         (func_import): Use $makefile_am rather than
71490         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71491         empty.
71492
71493         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71494
71495 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71496
71497         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71498         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71499         recent change to stdint.m4, since we're now addressing the problem in a
71500         different way.
71501
71502 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71503
71504         * m4/fcntl_h.m4: New file.
71505
71506 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         * lib/fcntl_.h: New file.
71509         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71510         the fcntl module.
71511         * lib/dirchownmod.c: Likewise.
71512         * lib/fts.c: Likewise.
71513
71514         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71515         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71516         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71517         just before including <inttypes.h>, to avoid circular inclusion.
71518
71519 2006-08-28  Jim Meyering  <jim@meyering.net>
71520
71521         * doc/visibility.texi: Actually read and correct the grammar of the
71522         sentence affected by yesterday's change.
71523
71524 2006-08-28  Eric Blake  <ebb9@byu.net>
71525
71526         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71527         needs wrapper.
71528
71529 2006-08-28  Eric Blake  <ebb9@byu.net>
71530
71531         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71532
71533 2006-08-28  Eric Blake  <ebb9@byu.net>
71534
71535         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71536
71537 2006-08-28  Bruno Haible  <bruno@clisp.org>
71538
71539         * modules/c-strstr: New file, from GNU gettext.
71540         * MODULES.html.sh (String handling): Add c-strstr.
71541
71542 2006-08-28  Bruno Haible  <bruno@clisp.org>
71543
71544         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71545         macros.
71546         Reported by Eric Blake.
71547
71548 2006-08-28  Bruno Haible  <bruno@clisp.org>
71549
71550         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71551         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71552         * lib/vasprintf.c: Include errno.h, limits.h.
71553         (EOVERFLOW): New fallback definition.
71554         (vasprintf): Test here whether the string length is > INT_MAX.
71555         * lib/vsnprintf.c: Include errno.h, limits.h.
71556         (EOVERFLOW): New fallback definition.
71557         (vsnprintf): Fix bug when generated string was too long for the buffer.
71558         Test here whether the string length is > INT_MAX.
71559
71560 2006-08-28  Bruno Haible  <bruno@clisp.org>
71561
71562         * lib/inttypes_.h (SCNX*): Remove definitions.
71563         Reported by Eric Blake.
71564
71565 2006-08-28  Bruno Haible  <bruno@clisp.org>
71566
71567         * lib/c-strstr.h: New file, from GNU gettext.
71568         * lib/c-strstr.c: New file, from GNU gettext.
71569
71570 2006-08-28  Bruno Haible  <bruno@clisp.org>
71571
71572         * gnulib-tool: Reorder some statements.
71573
71574 2006-08-28  Bruno Haible  <bruno@clisp.org>
71575
71576         * gnulib-tool: New option --makefile-name.
71577         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71578         $makefile_name.
71579         (func_import): Write $makefile_name to the cache file, and read it from
71580         there unless explicitly specified. Use $makefile_name as file name
71581         instead of Makefile.am. Adjust the recommendations accordingly.
71582
71583 2006-08-28  Bruno Haible  <bruno@clisp.org>
71584
71585         * gnulib-tool (func_verify_module): Check against misapplying patch.
71586
71587 2006-08-28  Bruno Haible  <bruno@clisp.org>
71588
71589         * gnulib-tool (func_relativize, func_relconcat): New functions.
71590         Give an error if --local-dir is given with --update.
71591         Remove trailing slashes from $local_gnulib_dir.
71592         (func_import): Store the relativized $local_gnulib_dir in
71593         gnulib-cache.m4, and read it from there if not specified explicitly.
71594
71595 2006-08-28  Bruno Haible  <bruno@clisp.org>
71596
71597         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71598         is the current directory. Respect also $local_gnulib_dir.
71599
71600 2006-08-28  Bruno Haible  <bruno@clisp.org>
71601             Simon Josefsson  <jas@extundo.com>
71602
71603         BeOS portability.
71604         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71605
71606 2006-08-27  Jim Meyering  <jim@meyering.net>
71607
71608         * doc/visibility.texi: Remove duplicate word: "pointer".
71609
71610 2006-08-26  Bruno Haible  <bruno@clisp.org>
71611
71612         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71613         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71614         (Makefile.am): Create inttypes.h from inttypes_.h.
71615         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71616
71617         * modules/imaxabs: New file.
71618
71619         * modules/imaxdiv: New file.
71620
71621 2006-08-26  Bruno Haible  <bruno@clisp.org>
71622
71623         * m4/inttypes.m4: New file.
71624         * m4/_inttypes_h.m4: Remove file.
71625         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71626         PRI_MACROS_BROKEN.
71627         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71628
71629         * m4/imaxabs.m4: New file.
71630
71631         * m4/imaxdiv.m4: New file.
71632
71633 2006-08-26  Bruno Haible  <bruno@clisp.org>
71634
71635         * lib/inttypes_.h: New file.
71636         * lib/inttypes.h: Remove file.
71637         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71638
71639         * lib/imaxabs.c: New file.
71640
71641         * lib/imaxdiv.c: New file.
71642
71643 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71644
71645         New config-h module, so that "make" output needn't be cluttered
71646         by -DHAVE_CONFIG_H.
71647         * MODULES.html.sh (Support for building libraries and executables):
71648         Add config-h.
71649         * modules/config-h: New file.
71650         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71651         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71652         the config-h module is used.
71653
71654         New configmake module, so that "make" output needn't be cluttered
71655         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71656         * MODULES.html.sh (Support for building libraries and executables):
71657         Add configmake.
71658         * modules/configmake: New file.
71659
71660 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71661
71662         * m4/config-h.m4: New file.
71663
71664 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71665
71666         * config/srclist.txt: Add elisp-comp.
71667
71668 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71669
71670         * MODULES.html.sh (Support for building libraries and executables):
71671         Add elisp-comp.
71672         * build-aux/elisp-comp: New file.
71673         * modules/elisp-comp: New file.
71674
71675 2006-08-24  Bruno Haible  <bruno@clisp.org>
71676
71677         * gnulib-tool (func_create_testdir): Use non-default values of
71678         sourcebase and m4base.
71679
71680 2006-08-24  Bruno Haible  <bruno@clisp.org>
71681
71682         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71683         HTML structure.
71684
71685 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71686
71687         * modules/openat (Depends-on): Add lchown.
71688
71689 2006-08-23  Bruno Haible  <bruno@clisp.org>
71690
71691         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71692         of gl_LOCK_EARLY instead of gl_LOCK.
71693
71694 2006-08-23  Bruno Haible  <bruno@clisp.org>
71695
71696         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71697         on OSF/1 to no.
71698         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71699
71700 2006-08-23  Bruno Haible  <bruno@clisp.org>
71701
71702         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71703         as unusable.
71704
71705         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71706         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71707         (gl_LOCK): New macro.
71708
71709 2006-08-22  Simon Josefsson  <jas@extundo.com>
71710
71711         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71712         to md5 module.
71713
71714 2006-08-22  Simon Josefsson  <jas@extundo.com>
71715
71716         * MODULES.html.sh: Add "Support for maintaining and release
71717         projects".
71718
71719         * build-aux/gnupload: New file, from coreutils.
71720
71721 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71722
71723         Avoid the need for AC_LIBSOURCES in m4 macros.
71724         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71725         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71726         * modules/check-version (EXTRA_DIST): Add check-version.h.
71727         * modules/crc (EXTRA_DIST): Add crc.h.
71728         * modules/des (EXTRA_DIST): Add des.h.
71729         * modules/gc (EXTRA_DIST): Add gc.h.
71730         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71731         * modules/getline (EXTRA_DIST): Add getline.h.
71732         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71733         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71734         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71735         * modules/md2 (EXTRA_DIST): Add md2.h.
71736         * modules/md4 (EXTRA_DIST): Add md4.h.
71737         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71738         * modules/read-file (EXTRA_DIST): Add read-file.h.
71739         * modules/readline (EXTRA_DIST): Add readline.h.
71740         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71741         rijndael-api-fst.h.
71742
71743 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71744
71745         * m4/rijndael.m4 (gl_ARCFOUR):
71746         * m4/arctwo.m4 (gl_ARCTWO):
71747         * m4/check-version.m4 (gl_CHECK_VERSION):
71748         * m4/crc.m4 (gl_CRC):
71749         * m4/des.m4 (gl_DES):
71750         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71751         * m4/gc.m4 (gl_GC):
71752         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71753         * m4/getline.m4 (gl_FUNC_GETLINE):
71754         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71755         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71756         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71757         * m4/md2.m4 (gl_MD2):
71758         * m4/md4.m4 (gl_MD4):
71759         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71760         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71761         * m4/readline.m4 (gl_FUNC_READLINE):
71762         * m4/rijndael.m4 (gl_RIJNDAEL):
71763         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71764         to get the necessary .h files and whatnot.
71765
71766 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71767
71768         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71769         gnulib rather than the other way around.
71770         * config/srclistvars.sh (COREUTILS): Remove.
71771
71772 2006-08-22  Jim Meyering  <jim@meyering.net>
71773
71774         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71775
71776         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71777
71778 2006-08-22  Eric Blake  <ebb9@byu.net>
71779
71780         * modules/regexprops-generic: New file.
71781         * MODULES.html.sh (Support for building documentation): List it.
71782
71783 2006-08-22  Eric Blake  <ebb9@byu.net>
71784
71785         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71786         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71787         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71788         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71789
71790 2006-08-22  Bruno Haible  <bruno@clisp.org>
71791
71792         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71793         and lib_LTLIBRARIES like the other lib_* variables.
71794
71795 2006-08-22  Bruno Haible  <bruno@clisp.org>
71796
71797         * build-aux/x-to-1.in: New file, from GNU gettext.
71798
71799 2006-08-22  Bruno Haible  <bruno@clisp.org>
71800
71801         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71802         <utmpx.h> exists.
71803
71804 2006-08-22  Bruno Haible  <bruno@clisp.org>
71805
71806         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71807         <utmpx.h> exists.
71808
71809 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71810
71811         BeOS portability.
71812         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71813         exist.
71814         Problem reported by Bruno Haible.
71815
71816 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71817
71818         Avoid the need for AC_LIBSOURCES in m4 macros.
71819         * modules/acl (EXTRA_DIST): Add acl.h.
71820         * modules/argmatch (Files): Add m4/argmatch.m4.
71821         (configure.ac): Add gl_ARGMATCH.
71822         (EXTRA_DIST): Renamed from lib_SOURCES, for
71823         consistency with the other modules.  Remove argmatch.c.
71824         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71825         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71826         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71827         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71828         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71829         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71830         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71831         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71832         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71833         * modules/closeout (EXTRA_DIST): Add closeout.h.
71834         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71835         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71836         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71837         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71838         dirname.h; remove basename.c and stripslash.c.
71839         * modules/exclude (EXTRA_DIST): Add exclude.h.
71840         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71841         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71842         * modules/file-type (EXTRA_DIST): Add file-type.h.
71843         * modules/filemode (EXTRA_DIST): Add filemode.h.
71844         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71845         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71846         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71847         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71848         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71849         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71850         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71851         * modules/getdate (EXTRA_DIST): Add getdate.c.
71852         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71853         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71854         * modules/getpass (EXTRA_DIST): Add getpass.h.
71855         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71856         * modules/group-member (EXTRA_DIST): Add group-member.h.
71857         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71858         * modules/hash (EXTRA_DIST): Add hash.h.
71859         * modules/human (EXTRA_DIST): Add human.h.
71860         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71861         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71862         * modules/lchown (EXTRA_DIST): Add lchown.h.
71863         * modules/long-options (EXTRA_DIST): Add long-options.h.
71864         * modules/lstat (EXTRA_DIST): Add lstat.h.
71865         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71866         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71867         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71868         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71869         * modules/memxor (EXTRA_DIST): Add memxor.h.
71870         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71871         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71872         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71873         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71874         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71875         * modules/physmem (EXTRA_DIST): Add physmem.h.
71876         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71877         * modules/posixver (EXTRA_DIST): Add posixver.h.
71878         * modules/quote (EXTRA_DIST): Add quote.h.
71879         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71880         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71881         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71882         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71883         regex_internal.h regexec.c.
71884         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71885         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71886         * modules/same (EXTRA_DIST): Add same.h.
71887         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71888         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71889         * modules/savedir (EXTRA_DIST): Add savedir.h.
71890         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71891         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71892         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71893         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71894         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71895         * modules/strdup (EXTRA_DIST): Add strdup.h.
71896         * modules/strftime (EXTRA_DIST): Add strftime.h.
71897         * modules/strndup (EXTRA_DIST): Add strndup.h.
71898         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71899         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71900         * modules/time_r (EXTRA_DIST): Add time_r.h.
71901         * modules/timespec (EXTRA_DIST): Add timespec.h.
71902         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71903         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71904         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71905         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71906         * modules/userspec (EXTRA_DIST): Add userspec.h.
71907         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71908         * modules/utimens (EXTRA_DIST): Add utimens.h.
71909         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71910         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71911         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71912         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71913         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71914         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71915         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71916         * modules/yesno (EXTRA_DIST): Add yesno.h.
71917
71918 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71919
71920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71921
71922         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71923         * m4/dev-ino.m4, same-inode.m4: Remove.
71924
71925         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71926         * m4/acl.m4 (AC_FUNC_ACL):
71927         * m4/backupfile.m4 (gl_BACKUPFILE):
71928         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71929         * m4/canon-host.m4 (gl_CANON_HOST):
71930         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71931         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71932         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71933         * m4/cloexec.m4 (gl_CLOEXEC):
71934         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71935         * m4/closeout.m4 (gl_CLOSEOUT):
71936         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71937         * m4/dirname.m4 (gl_DIRNAME):
71938         * m4/exclude.m4 (gl_EXCLUDE):
71939         * m4/exitfail.m4 (gl_EXITFAIL):
71940         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71941         * m4/file-type.m4 (gl_FILE_TYPE):
71942         * m4/filemode.m4 (gl_FILEMODE):
71943         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71944         * m4/fpending.m4 (gl_FUNC_FPENDING):
71945         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71946         * m4/fts.m4 (gl_FUNC_FTS):
71947         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71948         * m4/getdate.m4 (gl_GETDATE):
71949         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71950         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71951         * m4/getpass.m4 (gl_FUNC_GETPASS):
71952         * m4/gettime.m4 (gl_GETTIME):
71953         * m4/getugroups.m4 (gl_GETUGROUPS):
71954         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71955         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71956         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71957         * m4/hash.m4 (gl_HASH):
71958         * m4/idcache.m4 (gl_IDCACHE):
71959         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71960         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71961         * m4/long-options.m4 (gl_LONG_OPTIONS):
71962         * m4/lstat.m4 (gl_FUNC_LSTAT):
71963         * m4/md5.m4 (gl_MD5):
71964         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71965         * m4/memcoll.m4 (gl_MEMCOLL):
71966         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71967         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71968         * m4/memxor.m4 (gl_MEMXOR):
71969         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71970         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71971         * m4/modechange.m4 (gl_MODECHANGE):
71972         * m4/mountlist.m4 (gl_MOUNTLIST):
71973         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71974         * m4/openat.m4 (gl_FUNC_OPENAT):
71975         * m4/pathmax.m4 (gl_PATHMAX):
71976         * m4/physmem.m4 (gl_PHYSMEM):
71977         * m4/posixtm.m4 (gl_POSIXTM):
71978         * m4/posixver.m4 (gl_POSIXVER):
71979         * m4/quote.m4 (gl_QUOTE):
71980         * m4/quotearg.m4 (gl_QUOTEARG):
71981         * m4/readtokens.m4 (gl_READTOKENS):
71982         * m4/readutmp.m4 (gl_READUTMP):
71983         * m4/regex.m4 (gl_REGEX):
71984         * m4/safe-read.m4 (gl_SAFE_READ):
71985         * m4/safe-write.m4 (gl_SAFE_WRITE):
71986         * m4/same.m4 (gl_SAME):
71987         * m4/save-cwd.m4 (gl_SAVE_CWD):
71988         * m4/savedir.m4 (gl_SAVEDIR):
71989         * m4/settime.m4 (gl_SETTIME):
71990         * m4/sha1.m4 (gl_SHA1):
71991         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71992         * m4/stat-macros.m4 (gl_STAT_MACROS):
71993         * m4/stat-time.m4 (gl_STAT_TIME):
71994         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71995         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71996         * m4/strdup.m4 (gl_FUNC_STRDUP):
71997         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71998         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71999         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72000         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72001         * m4/time_r.m4 (gl_TIME_R):
72002         * m4/timespec.m4 (gl_TIMESPEC):
72003         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72004         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72005         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72006         * m4/userspec.m4 (gl_USERSPEC):
72007         * m4/utimecmp.m4 (gl_UTIMECMP):
72008         * m4/utimens.m4 (gl_UTIMENS):
72009         * m4/xalloc.m4 (gl_XALLOC):
72010         * m4/xgetcwd.m4 (gl_XGETCWD):
72011         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72012         * m4/xreadlink.m4 (gl_XREADLINK):
72013         * m4/xstrtod.m4 (gl_XSTRTOD):
72014         * m4/yesno.m4 (gl_YESNO):
72015         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72016         to get the necessary .h files and whatnot.
72017
72018 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72019             Bruno Haible  <bruno@clisp.org>
72020
72021         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72022         /bin/sh understanding of '!' conditional negation.
72023
72024 2006-08-21  Jim Meyering  <jim@meyering.net>
72025
72026         * modules/openat (Depends-on): Really alphabetize.
72027
72028         * modules/acl (Depends-on): Add error and quote.
72029
72030         * check-module (find_included_lib_files): Add at-func.c to the
72031         ok-to-include-more-than-once white list.
72032
72033         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72034
72035 2006-08-21  Bruno Haible  <bruno@clisp.org>
72036
72037         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72038         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72039         Reported by Martin Lambers <marlam@marlam.de>.
72040
72041 2006-08-21  Bruno Haible  <bruno@clisp.org>
72042
72043         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72044         specify an installation location, don't emit a noinst_LIBRARIES or
72045         noinst_LTLIBRARIES assignment.
72046
72047 2006-08-21  Bruno Haible  <bruno@clisp.org>
72048
72049         BeOS portability.
72050         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72051         BeOS has mbrtowc() but no <wctype.h>.
72052
72053 2006-08-21  Bruno Haible  <bruno@clisp.org>
72054
72055         BeOS portability.
72056         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72057         exist.
72058
72059 2006-08-21  Bruno Haible  <bruno@clisp.org>
72060
72061         BeOS portability.
72062         * lib/mbchar.h: Include <wctype.h> only if it exists.
72063
72064 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72065
72066         Remove files that are no longer needed by their respective modules.
72067         * m4/obstack.m4: Remove.
72068         * m4/strerror_r.m4: Remove.
72069         * m4/uint32_t.m4: Remove.
72070         * m4/uintptr_t.m4: Remove.
72071         * m4/ullong_max.m4: Remove.
72072         * m4/xstrtoimax.m4: Remove.
72073         * m4/xstrtoumax.m4: Remove.
72074
72075         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72076         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72077         dependencies now capture this.
72078
72079         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72080         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72081         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72082         * m4/human.m4 (gl_HUMAN): Likewise.
72083         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72084         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72085
72086         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72087
72088         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72089         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72090         stdint.
72091         * m4/human.m4 (gl_HUMAN): Likewise.
72092         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72093         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72094         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72095         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72096         * m4/xstrtol (gl_XSTRTOL): Likewise.
72097
72098         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72099         AC_TYPE_LONG_LONG_INT.
72100         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72101         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72102         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72103         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72104
72105         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72106         on stdbool.
72107
72108         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72109         (gl_PREREQ_XSTRTOUL): Remove.
72110
72111         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72112
72113         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72114         mode.
72115
72116 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72117
72118         Add and change modules to make it easier for coreutils to use
72119         gnulib-tool.
72120         * modules/backupfile (Files): Remove m4/d-ino.m4.
72121         (Depends-on): Add d-ino.
72122         * modules/cycle-check (Depends-on): Add stdint.
72123         (lib_SOURCES): Add cycle-check.h.
72124         * modules/d-ino: New module.
72125         * modules/d-type: New module.
72126         * modules/error (Files): Remove m4/strerror_r.m4.
72127         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72128         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72129         m4/inttypes_h.m4, m4/uintmax_t.m4.
72130         (Depends-on): Add stdint.
72131         (lib_SOURCES): Add fsusage.h.
72132         * modules/getcwd (Files): Remove d-ino.m4.
72133         (Depends-on): Add d-ino.
72134         * modules/getndelim2 (Depends-on): Add stdint.
72135         * modules/glob (Files): Remove m4/d-type.m4.
72136         (Depends-on): Add d-type.
72137         * modules/host-os: New module.
72138         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72139         m4/inttypes_h.m4, m4/uintmax_t.m4.
72140         * Depends-on: Add stdint.
72141         (lib_SOURCES): Add human.h.
72142         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72143         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72144         m4/uintmax_t.m4, m4/ulonglong.m4.
72145         (Depends-on): Add stdint.
72146         (EXTRA_DIST): Add inttostr.h.
72147         * modules/lchmod: New module.
72148         * modules/link-follow: New module.
72149         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72150         (Depends-on): Add lchmod.
72151         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72152         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72153         (Depends-on): Add stdint.
72154         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72155         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72156         (Depends-on): Add stdint.
72157         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72158         * modules/perl: New module.
72159         * modules/regex (Depends-on): Add stdint.
72160         * modules/rmdir-errno: New module.
72161         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72162         m4/intmax_t.m4.
72163         (Depends-on): Add stdint.
72164         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72165         m4/uintmax_t.m4.
72166         (Depends-on): Add stdint.
72167         * modules/unlink-busy: New module.
72168         * modules/utimecmp (Depends-on): Add stdint.
72169         * modules/uptime: New module.
72170         * modules/winsz-ioctl: New module.
72171         * modules/winsz-termios: New module.
72172         * modules/xnanosleep (Depends-on): Add nanosleep.
72173         * modules/ullong_max: Remove.
72174         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72175         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72176         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72177         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72178         (Depends-on): Add inttypes.
72179         (lib_SOURCES): Add xstrtol.h.
72180         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72181         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72182         * MODULES.html.sh: Move 'assert' into the assert section.
72183         Move 'dummy' into the linking section.
72184         Remove ullong_max.
72185         Add section for compatibility checks for POSIX:2001 functions,
72186         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72187         winsz-ioctl, and winsz-termios into it.
72188         Add lchmod.
72189         Add top-level Misc section and put host-os, perl, and uptime
72190         into it.
72191
72192 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72193
72194         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
72195         now assume the stdint module.  Do not include inttypes.h.
72196         * lib/fsusage.h: Likewise.
72197         * lib/getndelim2.c: Likewise.
72198         * lib/human.h: Likewise.
72199         * lib/inttostr.h: Likewise.
72200         * lib/obstack.c: Likewise.
72201         * lib/regex_internal.h: Likewise.
72202         * lib/tempname.c: Likewise.
72203         * lib/utimecmp.c: Likewise.
72204         * lib/xstrtol.h: Likewise.
72205
72206         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
72207
72208         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
72209         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
72210         * lib/xtime.h: Likewise.
72211
72212 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72213
72214         * modules/openat (Files): Add lib/fchmodat.c.
72215         Fixes problem reported by Jay Youngman.
72216
72217 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72218
72219         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
72220         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
72221
72222 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
72223             Bruno Haible  <bruno@clisp.org>
72224
72225         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
72226         and is a script that invokes bison. Tighten the code. Add comments.
72227
72228 2006-08-18  Jim Meyering  <jim@meyering.net>
72229
72230         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
72231         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
72232         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
72233         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
72234
72235 2006-08-18  Bruno Haible  <bruno@clisp.org>
72236
72237         * modules/bison-i18n: New file.
72238         * MODULES.html.sh (Internationalization functions): Add it.
72239
72240 2006-08-18  Bruno Haible  <bruno@clisp.org>
72241
72242         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
72243         sys/statvfs.h. When getmntinfo was found, check its declaration and
72244         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
72245
72246 2006-08-18  Bruno Haible  <bruno@clisp.org>
72247
72248         * m4/bison-i18n.m4: New file, from bison.
72249
72250 2006-08-18  Bruno Haible  <bruno@clisp.org>
72251
72252         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
72253         (ME_DUMMY): Treat "kernfs" as a dummy.
72254         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
72255
72256 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72257
72258         Update from coreutils.
72259
72260         2006-08-15  Jim Meyering  <jim@meyering.net>
72261
72262         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
72263
72264         2006-01-17  Jim Meyering  <jim@meyering.net>
72265
72266         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
72267
72268         2006-01-11  Jim Meyering  <jim@meyering.net>
72269
72270         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
72271         Check for the lchmod function.
72272
72273 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72274
72275         Update from coreutils.
72276
72277         * lib/__fpending.h: Add copyright notice.
72278         * lib/fprintftime.h: Likewise.
72279         * lib/savedir.c: Use (C) in copyright notice.
72280         * lib/savedir.h: Likewise.
72281
72282         2006-08-15  Jim Meyering  <jim@meyering.net>
72283
72284         * lib/at-func.c: New file, with the logic of all emulated at-functions.
72285         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
72286         in support of the EXPECTED_ERRNO macro.
72287         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
72288         definitions.  Instead, define the appropriate symbols and include
72289         "at-func.c".
72290         * lib/mkdirat.c (mkdirat): Likewise.
72291         * lib/fchmodat.c (fchmodat): Likewise.
72292         (ENOSYS): Remove definition.
72293         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
72294         it.  Don't include "unistd--.h" -- it wasn't ever used.
72295
72296         2006-01-17  Jim Meyering  <jim@meyering.net>
72297
72298         Rewrite fts.c not to change the current working directory,
72299         by using openat, fstatat, fdopendir, etc..
72300
72301         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
72302         (HAVE_OPENAT_SUPPORT): Define.
72303         [_LIBC] (fchdir): Don't undef or define; no longer used.
72304         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
72305         Now, this `function' always succeeds, and consumes its file descriptor
72306         parameter -- so callers must not close such FDs.  Update callers.
72307         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72308         (diropen): Add parameter, SP.  Adjust all callers.
72309         Implement using diropen_fd, rather than open.
72310         (fts_open): Initialize new member, fts_cwd_fd.
72311         Remove fts_rft-setting code.
72312         (fts_close): Close fts_cwd_fd, if necessary.
72313         (__opendir2): Define in terms of opendir or opendirat,
72314         depending on whether the FST_NOCHDIR flag is set.
72315         (fts_build): Since fts_safe_changedir consumes its FD, and since
72316         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72317         and close the dup'd file descriptor upon failure.
72318         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72319         (fts_safe_changedir): Tweak semantics to reflect that this function
72320         now calls cwd_advance_fd and hence consumes its FD argument.
72321         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72322         [struct FTS] (fts_rft): Remove now-unused member.
72323         [struct FTS] (fts_cycle.state): Improve comment.
72324
72325         * lib/openat.c (openat_needs_fchdir): New function.
72326         * lib/openat.h (openat_needs_fchdir): Declare it.
72327
72328 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72329
72330         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72331         Problem and fix reported by Pádraig Brady in
72332         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72333
72334 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72335
72336         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72337
72338 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72339
72340         * lib/memcoll.c (memcoll): Optimize for the common case where the
72341         arguments are bytewise equal.
72342
72343 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * doc/regexprops-generic.texi: Add a copyright notice.
72346
72347 2006-08-15  Bruno Haible  <bruno@clisp.org>
72348
72349         * modules/tmpdir (License): Change to LGPL.
72350
72351 2006-08-15  Bruno Haible  <bruno@clisp.org>
72352
72353         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72354         module.
72355
72356 2006-08-14  Simon Josefsson  <jas@extundo.com>
72357
72358         * config/srclist.txt: Add gnupload.
72359
72360 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72361
72362         Change copyright notice from LGPL 2 to GPL 2, since that's the
72363         standard form used in the gnulib repository.
72364         * tests/test-lock.c: Likewise.
72365         * tests/test-stdint.c: Likewise.
72366         * tests/test-tls.c: Likewise.
72367
72368         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
72369         prelude-manager.  User shorter URLs for GNU projects, without '?'.
72370         Add copyright notice.
72371
72372         * check-module: Add copyright notice.  Output a copyright
72373         notice if "--version" is specified.
72374         * modules/COPYING: New file.
72375         * tests/test-getaddrinfo.c: Add copyright notice.
72376         * tests/test-verify.c: Likewise.
72377
72378 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72379
72380         Change copyright notice from LGPL 2 to GPL 2, since that's the
72381         standard form used in the gnulib repository.
72382         * lib/lock.c: LGPL -> GPL.
72383         * lib/lock.h: Likewise.
72384         * lib/strnlen1.c: Likewise.
72385         * lib/strnlen1.h: Likewise.
72386         * lib/tls.c: Likewise.
72387         * lib/tls.h: Likewise.
72388         * lib/tmpdir.c: Likewise.
72389
72390         * lib/TODO: Remove; this belongs only in coreutils.
72391
72392 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72393
72394         Add copyright notices to long-enough files that lack them, since
72395         otherwise the files aren't clearly free.  Use the same notice that
72396         getdate.texi already uses.
72397         * doc/alloca-opt.texi: Add copyright notice.
72398         * doc/alloca.texi: Likewise.
72399         * doc/ctime.texi: Likewise.
72400         * doc/functions.texi: Likewise.
72401         * doc/gcd.texi: Likewise.
72402         * doc/gnulib-tool.texi: Likewise.
72403         * doc/inet_ntoa.texi: Likewise.
72404         * doc/visibility.texi: Likewise.
72405
72406         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72407         * doc/quote.texi: Add copyright notice.
72408
72409         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72410         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72411         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72412         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
72413         is now obsolete, and give a pointer to the Sun list.
72414         Add copyright notice.
72415
72416 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72417
72418         * config/srclistvars.sh: Add copyright notice.
72419
72420 2006-08-14  Eric Blake  <ebb9@byu.net>
72421
72422         Import the following change from libc:
72423
72424         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
72425
72426         Upstream bug 2997.
72427         * lib/misc/error.c: Add space between program name and message if file
72428         name is missing.
72429
72430 2006-08-12  Karl Berry  <karl@gnu.org>
72431
72432         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
72433         remove, these originate in gnulib now.
72434
72435 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72436
72437         * doc/Makefile (standards.info standards.html standards.dvi):
72438         Also depend on make-stds.texi.
72439
72440 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72441
72442         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
72443         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
72444
72445         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
72446         in wchar_t.  Problem reported by Eric Blake.
72447
72448         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
72449         LEN is smaller than SIZE.  Suggested by Bruno Haible.
72450         Also, help the compiler to keep LEN in a register.
72451
72452 2006-08-11  Eric Blake  <ebb9@byu.net>
72453
72454         * users.txt: Sort.  Add tar.
72455
72456 2006-08-11  Bruno Haible  <bruno@clisp.org>
72457
72458         * users.txt: New file.
72459
72460 2006-08-11  Bruno Haible  <bruno@clisp.org>
72461
72462         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
72463         before <wchar.h>. Needed for OSF/1 and BSD/OS.
72464
72465 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72466
72467         * modules/snprintf (Depends-on): Remove minmax.
72468         (Maintainer): Add self and Bruno.
72469
72470 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72471
72472         * lib/.cppi-disable: Add snprintf.h, socket_.h.
72473         * lib/snprintf.c: Include <errno.h> and <limits.h>.
72474         (EOVERFLOW): Define if the system does not.
72475         Do not include "minmax.h"; it wasn't used.
72476         (snprintf): Don't assume size_t promotes to an unsigned type.
72477         Fix bug when generated string was too long for the buffer: the
72478         buffer's contents are supposed to be the initial prefix of the
72479         output.  Don't assume vasnprintf returns EOVERFLOW if the size
72480         exceeds INT_MAX; do the check ourselves.
72481
72482         Import the following changes from libc:
72483
72484         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72485
72486         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72487         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72488         set wc to the byte which couldn't be converted.
72489         (re_string_reconstruct): Don't clear valid_raw_len before calling
72490         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72491         tip_context using re_string_context_at.
72492
72493         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72494
72495         * lib/posix/regex.h: g++ still cannot handled [restrict].
72496
72497         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72498
72499         * lib/posix/regex.h: Remove special handling for VMS.
72500
72501 2006-08-10  Jim Meyering  <jim@meyering.net>
72502
72503         * modules/same-inode: New module.
72504         * modules/dev-ino: New module.
72505         * modules/cycle-check: Depend on these modules, rather than simply
72506         including their .h files.
72507         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72508         required via m4/cycle-check.m4.
72509         * modules/same: Depend on new same-inode module, rather than
72510         including same-inode.h.
72511         * modules/chdir-safer: New file.
72512
72513         * modules/chown (Depends-on): Add stat-macros.
72514
72515 2006-08-10  Jim Meyering  <jim@meyering.net>
72516
72517         * m4/cycle-check.m4: New file.
72518         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72519         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72520
72521 2006-08-10  Eric Blake  <ebb9@byu.net>
72522
72523         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72524         in from original proposal.
72525
72526 2006-08-10  Eric Blake  <ebb9@byu.net>
72527         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72528
72529         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72530         namespace.
72531
72532 2006-08-10  Bruno Haible  <bruno@clisp.org>
72533
72534         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72535         as well.
72536
72537 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72538
72539         Sync from coreutils.
72540
72541         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72542
72543         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72544         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72545
72546 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72547
72548         * modules/restrict: Remove; no longer needed now that we assume
72549         Autoconf 2.59 or later.
72550         * MODULES.html.sh: Remove 'restrict'.
72551         * modules/argp (Depends-on): Remove 'restrict'.
72552         * modules/base64 (Depends-on): Likewise.
72553         * modules/gc (Depends-on): Likewise.
72554         * modules/getaddrinfo (Depends-on): Likewise.
72555         * modules/glob (Depends-on): Likewise.
72556         * modules/inet_ntop (Depends-on): Likewise.
72557         * modules/inet_pton (Depends-on): Likewise.
72558         * modules/memxor (Depends-on): Likewise.
72559         * modules/regex (Depends-on): Likewise.
72560         * modules/strtok_r (Depends-on): Likewise.
72561         * modules/time_r (Depends-on): Likewise.
72562
72563 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72564
72565         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72566         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72567         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72568         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72569         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72570         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72571         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72572         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72573
72574         Merge from coreutils.
72575         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72576         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72577         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72578         * m4/time_r.m4 (gl_TIME_R): Likewise.
72579
72580 2006-08-09  Karl Berry  <karl@gnu.org>
72581
72582         * config/srclist.txt: no more gettext-tools, per Bruno.
72583
72584 2006-08-08  Eric Blake  <ebb9@byu.net>
72585
72586         * modules/verror: New module.
72587         * MODULES.html.sh: Document it.
72588
72589 2006-08-08  Eric Blake  <ebb9@byu.net>
72590
72591         * lib/verror.h, lib/verror.c: New files.
72592
72593 2006-08-08  Eric Blake  <ebb9@byu.net>
72594
72595         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72596         verror_at_line output complies with GNU Coding Standards even when
72597         file is NULL.
72598
72599 2006-08-07  Bruno Haible  <bruno@clisp.org>
72600
72601         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72602         versions of AIX.
72603         Reported by Ralf Wildenhues.
72604
72605 2006-08-07  Bruno Haible  <bruno@clisp.org>
72606
72607         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72608         in an AC_DEFUN. Needed so that the autoconf snippets can use
72609         AC_REQUIRE.
72610
72611 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72612
72613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72614         Initialize pkgdata_DATA.
72615         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72616         overriding it.
72617
72618 2006-08-06  Eric Blake  <ebb9@byu.net>
72619
72620         * lib/error.h: Fold in some upstream changes from glibc.
72621         * lib/error.c: Likewise.
72622
72623 2006-08-04  Bruno Haible  <bruno@clisp.org>
72624
72625         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72626         Make the mostlyclean-local rule depend on mostlyclean-generic.
72627         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72628
72629 2006-07-31  Bruno Haible  <bruno@clisp.org>
72630
72631         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72632         <stdlib.h>, <string.h>.
72633
72634 2006-07-30  Bruno Haible  <bruno@clisp.org>
72635
72636         * modules/readlink (License): Change to LGPL.
72637
72638 2006-07-30  Bruno Haible  <bruno@clisp.org>
72639
72640         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72641         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72642         set PKGDATADIR to point to it.
72643
72644 2006-07-30  Bruno Haible  <bruno@clisp.org>
72645
72646         * modules/csharpexec (configure.ac): Comment out macro invocation.
72647         * modules/javaexec (configure.ac): Likewise.
72648         * modules/javacomp-script (configure.ac): Likewise.
72649
72650         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72651
72652 2006-07-30  Bruno Haible  <bruno@clisp.org>
72653
72654         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72655         linked-list.
72656
72657 2006-07-30  Bruno Haible  <bruno@clisp.org>
72658
72659         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72660
72661 2006-07-30  Bruno Haible  <bruno@clisp.org>
72662
72663         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72664         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72665         get removed.
72666
72667 2006-07-29  Bruno Haible  <bruno@clisp.org>
72668
72669         Make it possible for gnulib-tool to work with locally modified or
72670         augmented gnulib repositories.
72671         * gnulib-tool (func_usage): Document --local-dir option.
72672         (local_gnulib_dir): New variable.
72673         Handle --local-dir option.
72674         (func_lookup_file): New function.
72675         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72676         (func_get_description, func_get_filelist, func_get_description,
72677         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72678         func_get_automake_snippet, func_get_include_directive,
72679         func_get_license, func_get_maintainer): Use func_lookup_file.
72680         (func_import, func_create_testdir): Use func_lookup_file.
72681
72682 2006-07-29  Bruno Haible  <bruno@clisp.org>
72683
72684         * modules/setenv (Depends-on): Add unistd.
72685
72686 2006-07-29  Bruno Haible  <bruno@clisp.org>
72687
72688         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72689
72690 2006-07-29  Bruno Haible  <bruno@clisp.org>
72691
72692         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72693
72694 2006-07-29  Bruno Haible  <bruno@clisp.org>
72695
72696         * gnulib-tool (import, update): If there is no Makefile.am, look at
72697         aclocal.m4, instead of bailing out.
72698
72699 2006-07-29  Bruno Haible  <bruno@clisp.org>
72700
72701         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72702         Categorize the options by when they are useful.
72703
72704 2006-07-29  Bruno Haible  <bruno@clisp.org>
72705
72706         * gnulib-tool (func_usage): Document option --no-libtool.
72707         Handle option --no-libtool.
72708         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72709         for changed semantics of $libtool variable.
72710         (func_import): Likewise. If libtool is not used, show this through
72711         an option --no-libtool.
72712         (func_create_testdir): Update.
72713
72714 2006-07-29  Bruno Haible  <bruno@clisp.org>
72715
72716         * gnulib-tool (func_import): Extend error message about missing
72717         --doc-base.
72718
72719 2006-07-29  Bruno Haible  <bruno@clisp.org>
72720
72721         * gnulib-tool (func_import): Don't create the $docbase directory if
72722         there is no file to store there.
72723
72724 2006-07-29  Bruno Haible  <bruno@clisp.org>
72725
72726         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72727         relevant, look for configure.ac there, not in the current directory.
72728         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72729
72730 2006-07-29  Bruno Haible  <bruno@clisp.org>
72731
72732         * gnulib-tool (SORT): New variable.
72733         (func_usage): Undocument --assume-autoconf option.
72734         Remove --assume-autoconf option handling.
72735         (autoconf_minversion): Determine from the contents of configure.ac.
72736         (func_import): Remove autoconf_minversion handling.
72737         Suggested by Eric Blake.
72738
72739 2006-07-29  Bruno Haible  <bruno@clisp.org>
72740
72741         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72742
72743 2006-07-29  Bruno Haible  <bruno@clisp.org>
72744
72745         * config/srclist.txt (*setenv.[ch]): Remove rules.
72746
72747 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72748
72749         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72750
72751 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72752
72753         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72754         arpa/inet.h.
72755
72756 2006-07-28  Simon Josefsson  <jas@extundo.com>
72757
72758         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72759         * modules/inet_pton (Depends-on): Likewise.
72760
72761 2006-07-28  Simon Josefsson  <jas@extundo.com>
72762
72763         * m4/netinet_in_h.m4: New file.
72764
72765 2006-07-28  Simon Josefsson  <jas@extundo.com>
72766
72767         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72768         #include's.
72769
72770 2006-07-28  Simon Josefsson  <jas@extundo.com>
72771
72772         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72773         #include's.
72774
72775 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72776
72777         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72778         setgid on directories only if they set these bits.
72779         * lib/modechange.h: Remove obsolete comment about masks.
72780
72781 2006-07-28  Eric Blake  <ebb9@byu.net>
72782
72783         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72784         macro expansion.
72785
72786 2006-07-28  Bruno Haible  <bruno@clisp.org>
72787
72788         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72789
72790 2006-07-28  Bruno Haible  <bruno@clisp.org>
72791
72792         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72793
72794 2006-07-28  Bruno Haible  <bruno@clisp.org>
72795
72796         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72797         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72798         Define fallbacks.
72799         Avoids link error on FreeBSD 4.x.
72800         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72801
72802         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72803         encoding.
72804         * lib/mbswidth.c (iswcntrl): Likewise.
72805
72806 2006-07-27  Bruno Haible  <bruno@clisp.org>
72807
72808         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72809         test.
72810
72811 2006-07-27  Bruno Haible  <bruno@clisp.org>
72812
72813         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72814         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72815         defined.
72816
72817 2006-07-26  Eric Blake  <ebb9@byu.net>
72818
72819         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72820
72821 2006-07-26  Eric Blake  <ebb9@byu.net>
72822
72823         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72824         like mingw that lack mkstemp.
72825         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72826         avoid compilation warning on mingw.
72827
72828 2006-07-26  Bruno Haible  <bruno@clisp.org>
72829
72830         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72831         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72832         INT_FAST*_MIN, INTPTR_MIN.
72833
72834 2006-07-25  Bruno Haible  <bruno@clisp.org>
72835
72836         * modules/version-etc (Depends-on): Add stdarg.
72837
72838 2006-07-25  Bruno Haible  <bruno@clisp.org>
72839
72840         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72841         complex commands.
72842
72843 2006-07-25  Bruno Haible  <bruno@clisp.org>
72844
72845         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72846         defined in <stdarg.h> or config.h.
72847
72848 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72849
72850         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72851         (gl_STDIO_SAFER): Remove.
72852
72853 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72854
72855         * MODULES.html.sh (File stream based Input/Output):
72856         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72857         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72858         * modules/fopen-safer, modules/tmpfile-safer: New files.
72859         * modules/stdio-safer: Remove.
72860
72861 2006-07-24  Bruno Haible  <bruno@clisp.org>
72862
72863         * modules/tmpdir: New file.
72864         * MODULES.html.sh (File system functions): Add it.
72865
72866 2006-07-24  Bruno Haible  <bruno@clisp.org>
72867
72868         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72869         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72870
72871 2006-07-24  Bruno Haible  <bruno@clisp.org>
72872
72873         * modules/clean-temp: New file.
72874
72875 2006-07-24  Bruno Haible  <bruno@clisp.org>
72876
72877         * m4/tmpdir.m4: New file, from GNU gettext.
72878
72879 2006-07-24  Bruno Haible  <bruno@clisp.org>
72880
72881         * lib/tmpdir.h: New file, from GNU gettext.
72882         * lib/tmpdir.c: New file, from GNU gettext.
72883
72884 2006-07-24  Bruno Haible  <bruno@clisp.org>
72885
72886         * lib/clean-temp.h: New file, from GNU gettext.
72887         * lib/clean-temp.c: New file, from GNU gettext.
72888
72889 2006-07-23  Eric Blake  <ebb9@byu.net>
72890
72891         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72892         (Depends-on): Add binary-io.
72893
72894 2006-07-23  Eric Blake  <ebb9@byu.net>
72895
72896         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72897
72898 2006-07-23  Eric Blake  <ebb9@byu.net>
72899
72900         * lib/tmpfile-safer.c: New file.
72901         * lib/stdio-safer.h (fopen_safer): Add prototype.
72902         * lib/stdio--.h (tmpfile): Make safer.
72903
72904 2006-07-23  Bruno Haible  <bruno@clisp.org>
72905
72906         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72907         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72908         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72909         gl_linked_remove_at): Use it.
72910
72911 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72912         and Simon Josefsson <jas@extundo.com>
72913
72914         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72915
72916         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72917
72918 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72919
72920         * modules/close-stream: New file.
72921         * modules/closeout (Description): Make it clear that it exits
72922         with a diagnostic on error.
72923         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72924         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72925
72926 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72927
72928         * m4/close-stream.m4: New file.
72929
72930 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * lib/close-stream.c, lib/close-stream.h: New files.
72933
72934 2006-07-22  Bruno Haible  <bruno@clisp.org>
72935
72936         Merge from GNU gettext 0.15.
72937
72938         2006-05-01  Bruno Haible  <bruno@clisp.org>
72939
72940                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72941
72942         2006-07-22  Bruno Haible  <bruno@clisp.org>
72943
72944                 * modules/javaversion: New file.
72945                 * MODULES.html.sh (Java): Add javaversion.
72946
72947         2006-03-12  Bruno Haible  <bruno@clisp.org>
72948
72949                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72950
72951         2005-12-04  Bruno Haible  <bruno@clisp.org>
72952
72953                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72954                 (untested).
72955
72956         2006-06-21  Bruno Haible  <bruno@clisp.org>
72957
72958                 Avoid warnings from recent versions of mcs.
72959                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72960                 -o, -L, -r any more. Use options documented since mcs-1.0
72961                 instead. Similarly for -g.
72962
72963         2005-12-04  Bruno Haible  <bruno@clisp.org>
72964
72965                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72966                 .resources, not .resource.
72967
72968         2005-07-09  Bruno Haible  <bruno@clisp.org>
72969
72970                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72971                 add a .dll suffix.
72972                 Reported by Mark Junker <mjscod@gmx.de>.
72973
72974         2006-07-22  Bruno Haible  <bruno@clisp.org>
72975
72976                 * modules/gettext: Upgrade to gettext-0.15.
72977                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72978                 m4/visibility.m4.
72979                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72980
72981 2006-07-22  Bruno Haible  <bruno@clisp.org>
72982
72983         Merge from GNU gettext 0.15.
72984
72985         2006-03-25  Bruno Haible  <bruno@clisp.org>
72986
72987                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72988
72989         2006-07-21  Bruno Haible  <bruno@clisp.org>
72990
72991                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72992                 "1.1".
72993
72994         2006-05-09  Bruno Haible  <bruno@clisp.org>
72995
72996                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72997                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72998                 for the conftestver execution.
72999
73000         2006-05-01  Bruno Haible  <bruno@clisp.org>
73001
73002                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73003                 optional target-version argument. Verify that the compiler
73004                 groks source of the specified source-version, or add -source
73005                 option as necessary. Verify that the compiler produces
73006                 bytecode in the specified target-version, or add -target and
73007                 -source options as necessary. Make the result of the test
73008                 available as variable CONF_JAVAC. Also log error output in
73009                 config.log.
73010
73011         2006-03-11  Bruno Haible  <bruno@clisp.org>
73012
73013                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73014
73015         2006-05-09  Bruno Haible  <bruno@clisp.org>
73016
73017                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73018                 CLASSPATH_SEPARATOR to a semicolon.
73019
73020         2006-03-12  Bruno Haible  <bruno@clisp.org>
73021
73022                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73023                 available as variable CONF_JAVA, for subsequent autoconf
73024                 tests. Also log error output in config.log.
73025
73026         2006-07-19  Bruno Haible  <bruno@clisp.org>
73027
73028                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73029                 that getline works on glibc2 systems. Needed to avoid trouble
73030                 in relocatable.c.
73031                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73032
73033         2005-12-04  Bruno Haible  <bruno@clisp.org>
73034
73035                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73036                 launcher (untested).
73037
73038         2005-12-04  Bruno Haible  <bruno@clisp.org>
73039
73040                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73041
73042         2006-07-22  Bruno Haible  <bruno@clisp.org>
73043
73044                 * gettext.m4: Update from GNU gettext-0.15.
73045                 * nls.m4: Likewise.
73046                 * po.m4: Likewise.
73047                 * inttypes-pri.m4: Likewise.
73048                 * inttypes-h.m4: Renamed from inttypes.m4.
73049                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73050
73051 2006-07-22  Bruno Haible  <bruno@clisp.org>
73052
73053         Merge from GNU gettext 0.15.
73054
73055         2005-07-05  Bruno Haible  <bruno@clisp.org>
73056
73057                 * printf-args.c (printf_fetchargs): Work around broken
73058                 definition of wint_t on mingw.
73059
73060         2005-02-12  Bruno Haible  <bruno@clisp.org>
73061
73062                 * xallocsa.h: Add extern "C" for C++.
73063
73064         2006-05-17  Bruno Haible  <bruno@clisp.org>
73065
73066                 Cygwin portability.
73067                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73068
73069         2006-04-30  Bruno Haible  <bruno@clisp.org>
73070
73071                 * progreloc.c: Include <mach-o/dyld.h> if available.
73072                 (find_executable): Use _NSGetExecutablePath when possible.
73073
73074         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73075
73076                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73077                 function.
73078
73079         2005-12-29  Bruno Haible  <bruno@clisp.org>
73080
73081                 * progreloc.c (set_program_name_and_installdir): Fix
73082                 compilation error.
73083
73084         2005-12-04  Bruno Haible  <bruno@clisp.org>
73085
73086                 Cygwin portability.
73087                 * progreloc.c: Include <windows.h> also on Cygwin.
73088                 (find_executable): Add support for Cygwin.
73089                 (set_program_name_and_installdir): Handle also platforms with
73090                 nonempty EXEEXT.
73091
73092         2006-07-11  Bruno Haible  <bruno@clisp.org>
73093
73094                 * javacomp.c: Fix a comment.
73095                 Reported by Jim Meyering.
73096
73097         2006-04-30  Bruno Haible  <bruno@clisp.org>
73098
73099                 * javacomp.h (compile_java_class): Add source_version,
73100                 target_version arguments.
73101                 * javacomp.c: Rewritten to choose only a compiler that
73102                 respects the specified source_version and target_version.
73103
73104         2006-06-27  Bruno Haible  <bruno@clisp.org>
73105
73106                 Assume correct S_ISDIR macro.
73107                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73108
73109         2006-07-22  Bruno Haible  <bruno@clisp.org>
73110
73111                 * javaversion.h: New file, from GNU gettext.
73112                 * javaversion.c: New file, from GNU gettext.
73113                 * javaversion.java: New file, from GNU gettext.
73114                 * javaversion.class: New file, from GNU gettext.
73115
73116         2006-05-17  Bruno Haible  <bruno@clisp.org>
73117
73118                 Cygwin portability.
73119                 * javaexec.c (execute_java_class): Test for jview program
73120                 also on Cygwin.
73121
73122         2006-04-09  Bruno Haible  <bruno@clisp.org>
73123
73124                 * fatal-signal.c: Don't include string.h.
73125                 (at_fatal_signal): Use a copying loop instead of memcpy.
73126
73127         2005-12-04  Bruno Haible  <bruno@clisp.org>
73128
73129                 * csharpexec.c: Add support for 'clix' launcher (untested).
73130                 (execute_csharp_using_sscli): New function.
73131                 (execute_csharp_program): Call it.
73132
73133         2006-06-21  Bruno Haible  <bruno@clisp.org>
73134
73135                 Avoid warnings from recent versions of mcs.
73136                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73137                 -o, -L, -r any more. Use options documented since mcs-1.0
73138                 instead. Similarly for -g.
73139
73140         2005-07-09  Bruno Haible  <bruno@clisp.org>
73141
73142                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73143                 add a .dll suffix.
73144                 Reported by Mark Junker <mjscod@gmx.de>.
73145
73146         2006-06-17  Bruno Haible  <bruno@clisp.org>
73147
73148                 * config.charset: Update for NetBSD 3.0.
73149
73150         2006-05-17  Bruno Haible  <bruno@clisp.org>
73151
73152                 Cygwin portability.
73153                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73154
73155         2006-05-16  Bruno Haible  <bruno@clisp.org>
73156
73157                 * localcharset.c [CYGWIN]: Include <windows.h>.
73158                 (get_charset_aliases): For Cygwin, return the same CPxxx
73159                 aliases list as under WIN32.
73160                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73161                 the environment variables. Fall back to GetACP().
73162
73163         2006-04-05  Bruno Haible  <bruno@clisp.org>
73164
73165                 * config.charset: Update Juan Manuel Guerrero's address.
73166
73167         2005-02-12  Bruno Haible  <bruno@clisp.org>
73168
73169                 * allocsa.h: Add extern "C" for C++.
73170
73171         2005-02-10  Bruno Haible  <bruno@clisp.org>
73172
73173                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73174                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73175
73176         2006-07-22  Bruno Haible  <bruno@clisp.org>
73177
73178                 * gettext.h: Update to GNU gettext-0.15.
73179
73180 2006-07-22  Bruno Haible  <bruno@clisp.org>
73181
73182         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73183         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73184         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73185
73186 2006-07-21  Eric Blake  <ebb9@byu.net>
73187
73188         * modules/stdlib-safer: New file.
73189         * MODULES.html.sh (File stream based Input/Output): Add
73190         stdlib-safer.
73191
73192 2006-07-21  Eric Blake  <ebb9@byu.net>
73193
73194         * lib/stdlib-safer.h: New file from coreutils, required by
73195         stdlib--.h.
73196
73197 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
73198
73199         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
73200
73201 2006-07-20  Bruno Haible  <bruno@clisp.org>
73202
73203         * gnulib-tool: Recognize new option --assume-autoconf.
73204         (autoconf_minversion): New variable.
73205         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
73206
73207 2006-07-20  Bruno Haible  <bruno@clisp.org>
73208
73209         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
73210
73211 2006-07-19  Derek R. Price  <derek@ximbiot.com>
73212
73213         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
73214         Reindent and repaginate.
73215
73216 2006-07-19  Derek Price  <derek@ximbiot.com>
73217
73218         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
73219         Correct grammar.
73220
73221 2006-07-17  Bruno Haible  <bruno@clisp.org>
73222
73223         * modules/list: New file.
73224         * modules/array-list: New file.
73225         * modules/carray-list, modules/carray-list-tests: New files.
73226         * modules/linked-list, modules/linked-list-tests: New files.
73227         * modules/avltree-list, modules/avltree-list-tests: New files.
73228         * modules/rbtree-list, modules/rbtree-list-tests: New files.
73229         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
73230         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
73231         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
73232         * modules/oset: New file.
73233         * modules/array-oset: New file.
73234         * modules/avltree-oset, modules/avltree-oset-tests: New files.
73235         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
73236         * tests/test-carray_list.c: New file.
73237         * tests/test-linked_list.c: New file.
73238         * tests/test-avltree_list.c: New file.
73239         * tests/test-rbtree_list.c: New file.
73240         * tests/test-linkedhash_list.c: New file.
73241         * tests/test-avltreehash_list.c: New file.
73242         * tests/test-rbtreehash_list.c: New file.
73243         * tests/test-avltree_oset.c: New file.
73244         * tests/test-rbtree_oset.c: New file.
73245         * MODULES.html.sh (Container data structures): New section.
73246
73247 2006-07-17  Bruno Haible  <bruno@clisp.org>
73248
73249         * m4/gl_list.m4: New file.
73250
73251 2006-07-17  Bruno Haible  <bruno@clisp.org>
73252
73253         * lib/gl_list.h: New file.
73254         * lib/gl_list.c: New file.
73255         * lib/gl_array_list.h: New file.
73256         * lib/gl_array_list.c: New file.
73257         * lib/gl_carray_list.h: New file.
73258         * lib/gl_carray_list.c: New file.
73259         * lib/gl_linked_list.h: New file.
73260         * lib/gl_linked_list.c: New file.
73261         * lib/gl_anylinked_list1.h: New file.
73262         * lib/gl_anylinked_list2.h: New file.
73263         * lib/gl_avltree_list.h: New file.
73264         * lib/gl_avltree_list.c: New file.
73265         * lib/gl_anyavltree_list1.h: New file.
73266         * lib/gl_anyavltree_list2.h: New file.
73267         * lib/gl_rbtree_list.h: New file.
73268         * lib/gl_rbtree_list.c: New file.
73269         * lib/gl_anyrbtree_list1.h: New file.
73270         * lib/gl_anyrbtree_list2.h: New file.
73271         * lib/gl_anytree_list1.h: New file.
73272         * lib/gl_anytree_list2.h: New file.
73273         * lib/gl_linkedhash_list.h: New file.
73274         * lib/gl_linkedhash_list.c: New file.
73275         * lib/gl_anyhash_list1.h: New file.
73276         * lib/gl_anyhash_list2.h: New file.
73277         * lib/gl_avltreehash_list.h: New file.
73278         * lib/gl_avltreehash_list.c: New file.
73279         * lib/gl_rbtreehash_list.h: New file.
73280         * lib/gl_rbtreehash_list.c: New file.
73281         * lib/gl_anytreehash_list1.h: New file.
73282         * lib/gl_anytreehash_list2.h: New file.
73283
73284         * lib/gl_oset.h: New file.
73285         * lib/gl_oset.c: New file.
73286         * lib/gl_array_oset.h: New file.
73287         * lib/gl_array_oset.c: New file.
73288         * lib/gl_avltree_oset.h: New file.
73289         * lib/gl_avltree_oset.c: New file.
73290         * lib/gl_rbtree_oset.h: New file.
73291         * lib/gl_rbtree_oset.c: New file.
73292         * lib/gl_anytree_oset.h: New file.
73293
73294 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73295
73296         * m4/mkancesdirs.m4: New file.
73297         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
73298         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
73299         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
73300         it.
73301
73302 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73303
73304         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
73305         * lib/mkancesdirs.h: New files.
73306         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
73307         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73308         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73309         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73310         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73311         callers changed.  Revamp internals significantly, by not
73312         attempting to create directories that are temporarily more
73313         permissive than the final results.  Do not attempt to use
73314         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73315         This removes some race conditions, fixes some bugs, and simplifies
73316         things.  Use new dirchownmod function to do owner and mode changes.
73317         * lib/mkdir-p.h: Likewise.
73318         * lib/modechange.c (octal_to_mode): New function.
73319         (struct mode_change): New member mentioned.
73320         (make_node_op_equals): New arg mentioned.  All callers changed.
73321         (mode_compile): Keep track of which mode bits the user has explicitly
73322         mentioned.
73323         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73324         New arg PMODE_BITS, to keep track of which mode bits the user
73325         mentioned; it treats S_ISUID and S_ISGID speciall.
73326         All callers changed.
73327         * lib/modechange.h: Likewise.
73328
73329 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73330
73331         * MODULES.html.sh: Add mkancestors.
73332         * modules/mkancesdirs: New module.
73333         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73334         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73335         The chdir-safer and afs files are now orphans; I'll remove them
73336         unless someone speaks up.
73337         Add lib/dirchownmod.c, lib/dirchownmod.h.
73338         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73339         Add lchown, mkancesdirs.
73340         (Maintainer): Add self.
73341
73342 2006-07-15  Karl Berry  <karl@gnu.org>
73343
73344         * gnulib-tool: help message wording/arrangement.
73345
73346 2006-07-14  Simon Josefsson  <jas@extundo.com>
73347
73348         * doc/gnulib.texi (Libtool and Windows): New section.
73349
73350 2006-07-12  Simon Josefsson  <jas@extundo.com>
73351
73352         * modules/gendocs (License): Fix license, approved by Karl.
73353
73354 2006-07-12  Eric Blake  <ebb9@byu.net>
73355
73356         * MODULES.html.sh: Add gendocs.
73357
73358 2006-07-11  Eric Blake  <ebb9@byu.net>
73359
73360         * modules/fdl: New module, to install doc/fdl.texi.
73361         * MODULES.html.sh: Add new section for documentation modules.
73362         * gnulib-tool: Avoid space-tab.
73363         (--doc-base): New option, to manage files from doc.
73364
73365 2006-07-11  Eric Blake  <ebb9@byu.net>
73366
73367         * m4/absolute-header.m4: Fix comments to match recent change.
73368
73369 2006-07-11  Eric Blake  <ebb9@byu.net>
73370
73371         * gnulib-tool: List --doc-base before --tests-base.
73372
73373 2006-07-11  Derek R. Price  <derek@ximbiot.com>
73374
73375         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
73376
73377 2006-07-11  Bruno Haible  <bruno@clisp.org>
73378
73379         * README: Mention where to put documentation.
73380
73381 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73382
73383         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73384
73385 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73386
73387         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73388         to stdint.m4.
73389
73390 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73391
73392         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73393         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73394         "no/such/file/stdint.h" when there is no such file, so that
73395         the resulting C code can be parsed by dodgy compilers.
73396         Problems reported by Bob Proulx.
73397
73398 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73399
73400         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73401         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73402         macros into the GNU _D_EXACT_NAMLEN.
73403         * lib/savedir.c:  Likewise.
73404         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73405
73406 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73407         and Paul Eggert  <eggert@cs.ucla.edu>
73408
73409         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73410         * m4/savedir.m4:
73411         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73412         macros into the GNU _D_EXACT_NAMLEN.
73413
73414 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73415
73416         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
73417         around the absolute name, to work around a problem with the HP-UX
73418         11.23 native C compiler, reported by Bob Proulx.
73419
73420 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73421
73422         * doc/maintain.texi, make-stds.texi: Sync from
73423         <http://savannah.gnu.org/projects/gnustandards>.
73424
73425 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73426
73427         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
73428
73429 2006-07-09  Jim Meyering  <jim@meyering.net>
73430
73431         * m4/glob.m4: Remove a doubled word in a comment.
73432
73433 2006-07-09  Jim Meyering  <jim@meyering.net>
73434
73435         * lib/argp-pv.c: Remove a doubled word in a comment.
73436         * lib/check-version.c (check_version): Likewise.
73437         * lib/javacomp.c (compile_java_class): Likewise.
73438
73439 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73440
73441         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
73442         for the benefit of people using Autoconf 2.60.  If you want to
73443         support older Autoconf versions you can copy m4/onceonly_2_57.m4
73444         (or m4/onceonly.m4, if pre-2.57) manually.
73445
73446 2006-07-08  Jim Meyering  <jim@meyering.net>
73447
73448         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
73449         comment.
73450         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
73451         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
73452         comment.
73453
73454 2006-07-08  Jim Meyering  <jim@meyering.net>
73455
73456         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
73457
73458 2006-07-07  Simon Josefsson  <jas@extundo.com>
73459
73460         * tests/test-crc.c: Change expected crc value, the test vector
73461         were probably computed using the old broken crc.c?
73462
73463 2006-07-06  Simon Josefsson  <jas@extundo.com>
73464
73465         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
73466         now the canonical place for the M4 file).
73467
73468         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
73469         from the sys_socket dependency now.
73470
73471         * modules/inet_pton (Files): Ditto.
73472
73473         * modules/inet_ntop (Files): Ditto.
73474
73475 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73476
73477         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
73478         not gl_PREREQ_GETUSERSHELL.
73479
73480 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73481
73482         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73483         with only one argument, for Autoconf 2.60.
73484         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73485         expand to nothing, so add a shell command to avoid syntax error.
73486         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73487
73488 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73489
73490         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73491
73492 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73493
73494         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73495         no longer needed.  Check for isblank decl.
73496         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73497         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73498         of existence.
73499
73500 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73501
73502         * lib/getloadavg.c: Use __VMS, not VMS.
73503         * lib/getopt.c: Likewise.
73504         * lib/getpagesize.h: Likewise.
73505         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73506         and probably does not work.
73507
73508 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73509
73510         * lib/.cppi-disable: Add wcwidth.
73511         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73512         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73513         (ISGRAPH): Remove.  All uses changed to isgraph.
73514         (FOLD) [!defined _LIBC]: Remove special case.
73515         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73516         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73517         HAVE_ISBLANK.
73518         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73519         case.
73520
73521 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73522
73523         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73524         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73525         brackets.  Other minor changes to suppress some compiler
73526         warnings.
73527
73528 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73529         and Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73532         of invoking obsolescent AC_HEADER_DIRENT macro.
73533         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73534         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73535         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73536         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73537         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73538         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73539         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73540         * m4/readdir.m4: Remove; no longer needed.
73541
73542 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73543         and Paul Eggert  <eggert@cs.ucla.edu>
73544
73545         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73546         Don't worry about this obsolete case any more.
73547         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73548         directories.
73549         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73550         worry about this obsolete case any more.
73551         * lib/fts.c: Likewise.
73552         * lib/getcwd.c: Likewise.
73553         * lib/glob.h: Likewise.
73554         * lib/savedir.c: Likewise.
73555
73556 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73557
73558         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73559         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73560         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73561         needed.
73562         All uses removed.
73563         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73564         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73565         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73566         needed.
73567         * m4/getdate.m4 (gl_GETDATE): Likewise.
73568         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73569         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73570         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73571         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73572         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73573         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73574         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73575         needed.
73576
73577 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73578
73579         * lib/memcasecmp.c: Include <limits.h>.
73580         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73581         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73582         Don't assume isdigit succeeds only on '0' through '9'.
73583
73584 2006-07-05  Eric Blake  <ebb9@byu.net>
73585
73586         * modules/getaddrinfo (Depends-on): Add snprintf.
73587
73588 2006-07-05  Eric Blake  <ebb9@byu.net>
73589
73590         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73591         to avoid 'header present but could not be compiled' on cygwin.
73592
73593 2006-07-05  Eric Blake  <ebb9@byu.net>
73594
73595         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73596         missing from netdb.h.
73597         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73598
73599 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73600
73601         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73602         no longer needed.
73603         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73604         * m4/getdate.m4 (gl_GETDATE): Likewise.
73605         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73606         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73607         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73608         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73609         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73610
73611 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73612
73613         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73614         All uses of is_space replaced by isspace.
73615         * lib/exit.h: Don't talk about STDC_HEADERS.
73616         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73617         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73618         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73619         replaced by isprint etc.
73620         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73621         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73622         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73623         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73624         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73625         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73626
73627 2006-07-05  Bruno Haible  <bruno@clisp.org>
73628
73629         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73630         the function exists, before testing against AIX.
73631         Reported by Martin Lambers <marlam@marlam.de>.
73632
73633 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73634
73635         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73636         From Mark D. Baushke.
73637
73638 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73639
73640         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73641         to the absolute name, not just one, to bypass Sun C 5.8's
73642         "warning: #include of /usr/include/... may be non-portable".
73643
73644 2006-07-04  Eric Blake  <ebb9@byu.net>
73645
73646         * modules/dirname-tests: New test module.
73647         * tests/test-dirname.c: New file, replacing dirname.c
73648         TEST_DIRNAME section that was recently deleted.
73649
73650 2006-07-04  Bruno Haible  <bruno@clisp.org>
73651
73652         Assume ANSI C header files and <ctype.h> functions.
73653         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73654         (mbsnwidth): Use isprint, iscntrl instead.
73655
73656 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73657
73658         Merge from coreutils.
73659         * MODULES.html.sh: Add xstrtold.
73660         * modules/xstrtold: New file.
73661         * modules/cycle-check (Files): Add lib/same-inode.h.
73662         * modules/dirname (Files): Add m4/double-slash-root.m4.
73663         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73664         * modules/mkdir-p (Files): Add lib/same-inode.h.
73665         * modules/same (Files): Add lib/same-inode.h.
73666
73667 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73668
73669         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73670         This is to keep the terminology clean; POSIX talks about
73671         "absolute pathnames", not "full pathnames", but the GNU
73672         Coding Standards say to use "path" for something else;
73673         so use "absolute" to keep both sides happy.
73674         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73675         Set gl_absolute_header, not gl_full_header_path.
73676         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73677         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73678         All uses changed.
73679
73680         Merge from coreutils.
73681
73682         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73683
73684         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73685         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73686         want to require the building of c-strtod.o.
73687         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73688         needs -lm directly.
73689         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73690
73691         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73692
73693         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73694         --as-needed option if available.  Problem reported by Albert Chin in
73695         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73696         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73697         cc merely issues a bunch of annoying warnings for --as-needed
73698         (this problem was reported by Bob Proulx).  Also, try linking with
73699         -lm to detect a bug in binutils 2.16 (this problem was reported
73700         by Ralf Wildenhues).
73701
73702         2006-06-18  Jim Meyering  <jim@meyering.net>
73703
73704         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73705         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73706         macro.
73707         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73708         also check for glibc-2.4's abort-inducing bug.
73709
73710         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73711         Low-probability clean-up should be to use rmdir to get rid of
73712         the just-created directory, not unlink.
73713
73714         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73715         configure fail, and request a bug report to inform us about it.
73716         Add a comment that, barring reports to the contrary, in 2007 we'll
73717         assume ftruncate is universally available.
73718
73719         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73720
73721         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73722
73723         2006-03-12  Jim Meyering  <jim@meyering.net>
73724
73725         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73726         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73727         * m4/same.m4 (gl_SAME): Likewise.
73728         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73729
73730         2006-03-11  Eric Blake  <ebb9@byu.net>
73731
73732         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73733         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73734         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73735         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73736
73737 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73738
73739         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73740         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73741         reported by Mark D. Baushke, one in
73742         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73743
73744         Merge from coreutils.
73745
73746         * lib/.cppi-disable: Add stdint_.h.
73747         * lib/.cvsignore: Add stdint.h.
73748
73749         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73750
73751         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73752         both double and long double versions.
73753         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73754         * lib/xstrtold.c: New file.
73755         * lib/xstrtod.h (xstrtold): New decl.
73756
73757         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73758
73759         * lib/filemode.c (setst): Remove.
73760         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73761         (arguably) clearer, and the generated code is a bit smaller on my
73762         Debian GNU/Linux stable x86 host.
73763
73764         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73765
73766         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73767         Assume that filemode.h includes sys/types.h and sys/stat.h.
73768         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73769         (ftypelet): Reorder to put common cases first, for efficiency.
73770         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73771         to do 'M'.
73772         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73773         of 10, for compatibility with FreeBSD.  All callers changed.
73774         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73775         types that can't be deduced solely from st_mode.  First arg is now a
73776         const pointer.
73777         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73778         (strmode): Renamed from mode_string.
73779         (filemodestring): New decl.
73780         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73781         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73782         needed.
73783         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73784
73785         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73786
73787         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73788         fsusage.h now does that.  Include fsusage.h first, to test interface.
73789         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73790         at most one method (the old code could have generated decls that
73791         didn't conform to C89, not that this was ever exercised).
73792         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73793
73794         2006-03-19  Jim Meyering  <jim@meyering.net>
73795
73796         Work even in a chroot where d_ino values for entries in "/"
73797         don't match the stat.st_ino values for the same names.
73798         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73799         number, iterate through all entries again, using lstat instead.
73800         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73801         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73802
73803         * lib/getcwd.c (__getcwd): Clarify a comment.
73804         Use memcpy in place of a call to strcpy.
73805
73806         2006-03-12  Jim Meyering  <jim@meyering.net>
73807
73808         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73809         matches that of the current directory (which we're about to chdir ".."
73810         out of), then save the dev-ino of the parent, instead.
73811
73812         * lib/same-inode.h (SAME_INODE): New file/macro.
73813         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73814         Include "same-inode.h", instead.
73815         * lib/same.c: Likewise.
73816         * lib/cycle-check.h: Include "same-inode.h".
73817         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73818         * lib/cycle-check.c (SAME_INODE): Remove definition.
73819         * lib/root-dev-ino.h: Include "same-inode.h".
73820
73821         2006-03-11  Eric Blake  <ebb9@byu.net>
73822
73823         * lib/same.c (same_name): s/base_name/last_component/
73824         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73825         * lib/filenamecat.c (file_name_concat): Likewise.
73826
73827         2006-03-11  Eric Blake  <ebb9@byu.net>,
73828                     Paul Eggert  <eggert@cs.ucla.edu>
73829
73830         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73831         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73832         drive prefix.
73833         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73834         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73835         (last_component): New method.
73836         * lib/dirname.c (dir_len): Determine when drive letters need a
73837         subsequent slash.  Preserve // when it is special.
73838         (dir_name): Don't append dot when drive letter is absolute.
73839         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73840         * lib/basename.c (base_name): New semantics - malloc the result.
73841         Preserve // when it is special.  Preserve relative files that look
73842         like drive letters.
73843         (base_len): Preserve // when it is special.
73844         (last_component): New method, similar to old base_name semantics.
73845         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73846         base_name.  Strip redundant slashes from ///.
73847
73848 2006-07-03  Jim Meyering  <jim@meyering.net>
73849
73850         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73851         macro is used before the first cycle_check call.
73852
73853 2006-07-03  Eric Blake  <ebb9@byu.net>
73854
73855         * modules/dirname (Depends-on): Add xstrndup.
73856
73857 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73858
73859         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73860         test cases, so that config.log is a bit easier to follow.
73861
73862 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73863
73864         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73865         both are 64 bits, since this seems to be the tradition, and this
73866         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73867         we ever run into a host that prefers long long to long in this
73868         case, we'll need another configure-time test.  Problem reported by
73869         Jim Meyering.
73870
73871 2006-07-02  Eric Blake  <ebb9@byu.net>
73872
73873         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73874
73875 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73876
73877         * modules/inttypes (Depends-on): No longer depends on stdint.
73878         * modules/stdint (Description): Say more about assumptions.
73879         Say that the fast types might differ.  Say macros are used.
73880         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73881         (Makefile.am): Revise list of substituted symbols to match
73882         new stdint.m4.
73883         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73884         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73885         * tests/test-stdint.c (verify_same_types)
73886         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73887         the code conforms to C99/C89.
73888         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73889         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73890
73891 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73892
73893         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73894         but fix a bug, by requiring at least 64 bits.
73895         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73896         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73897         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73898         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73899
73900         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73901         changes.  Make 2.59 a prerequisite.  Check and substitute for
73902         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73903         inttypes.h.  Do not use special include files; just use the
73904         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73905         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73906         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73907         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73908         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73909         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73910         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73911         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73912         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73913         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73914         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73915         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73916         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73917         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73918         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73919         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73920         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73921         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73922         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73923         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73924         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73925         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73926         not check for things that C99 does not require, e.g., int8_t.  If
73927         a test isn't needed unless <stdint.h> isn't working, and is
73928         unlikely to be needed for any other reason, then don't do it
73929         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73930         size_t, since we assume C89 freestanding at least.  Do not check
73931         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73932         the right thing even if the types are not defined.  Instead use:
73933         (gl_STDINT_TYPE_PROPERTIES): New macro.
73934         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73935         testing whether <sys/types.h> clashes, as Autoconf does this for
73936         us now.  All uses removed.
73937         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73938         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73939         (gl_CHECK_TYPE_SAME):
73940         Remove; no longer needed.
73941         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73942         exists, since we'll return 0 anyway in that case.
73943         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73944
73945 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73946
73947         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73948         possible collision with system files.
73949         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73950         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73951         WCHAR_MIN and WCHAR_MAX in this case.
73952         (<stddef.h>): Do not include; no longer needed.
73953         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73954         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73955         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73956         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73957         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73958         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73959         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73960         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73961         !defined(__c99))]: Include in this case too, since it's harmless
73962         now.
73963         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73964         dangerous to do so.
73965         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73966         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73967         (_STDINT_MIN, _STDINT_MAX): New macros.
73968         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73969         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73970         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73971         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73972         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73973         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73974         macros, not typedefs; this simplifies things quite a bit.
73975         Use long int for all types narrower than int64_t.
73976         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73977         Define in terms of long long int or int64_t or long int,
73978         not int64_t or int32_t.  This saves some compile-time testing.
73979         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73980         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73981         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73982         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73983         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73984         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73985         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73986         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73987         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73988         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73989         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73990         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73991         undef any previous version and define our own version, for
73992         simplicity and consistency with the new macros for types.
73993         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73994         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73995         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73996         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73997         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73998         @WINT_T_SUFFIX@ to keep things simple here.
73999         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74000         Simplify by assuming typical 8/16/32/64 host, since we're
74001         already doing that elsewhere anyway.
74002         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74003         and assume long long int is 64 bits if available.  This
74004         speeds up 'configure'.
74005
74006 2006-07-01  Eric Blake  <ebb9@byu.net>
74007
74008         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74009         Reported by Andreas Buening.
74010
74011 2006-07-01  Eric Blake  <ebb9@byu.net>
74012
74013         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74014
74015 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74016
74017         * lib/getaddrinfo.c: fixed typo
74018
74019 2006-06-29  Jim Meyering  <jim@meyering.net>
74020
74021         * modules/strftime (Maintainer): Add my name, since with the
74022         FPRINTFTIME changes strftime.c has forked from glibc.
74023
74024 2006-06-29  Eric Blake  <ebb9@byu.net>
74025
74026         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74027
74028 2006-06-29  Eric Blake  <ebb9@byu.net>
74029
74030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74031
74032 2006-06-29  Eric Blake  <ebb9@byu.net>
74033
74034         * lib/stat_.h: New file.
74035
74036 2006-06-29  Eric Blake  <ebb9@byu.net>
74037
74038         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74039         unused static function.
74040
74041 2006-06-29  Eric Blake  <ebb9@byu.net>
74042
74043         * doc/functions.texi (Function Portability): Document missing lstat
74044         on mingw.
74045
74046 2006-06-29  Eric Blake  <ebb9@byu.net>
74047
74048         * MODULES.html.sh: Add sys_stat.
74049         * modules/sys_stat: New module.
74050         * modules/mkstemp (Depends-on): Add sys_stat.
74051
74052 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74053
74054         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74055
74056 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74057
74058         * m4/c-bs-a.m4: Removed.
74059
74060 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74061
74062         * lib/strftime.c: Assume strftime() exists.
74063
74064 2006-06-29  Derek Price  <derek@ximbiot.com>
74065
74066         * modules/c-bs-a: Removed - \a is C89.
74067         * MODULES.html.sh: Remove c-bs-a.
74068
74069 2006-06-29  Bruno Haible  <bruno@clisp.org>
74070
74071         * modules/wcwidth (License): Change to LGPL.
74072
74073 2006-06-28  Simon Josefsson  <jas@extundo.com>
74074
74075         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74076         on _WIN32.
74077
74078         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74079         getnameinfo.
74080
74081 2006-06-28  Simon Josefsson  <jas@extundo.com>
74082
74083         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74084
74085 2006-06-28  Simon Josefsson  <jas@extundo.com>
74086
74087         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74088         functions there.  It will succeed on Windows XP, but on Windows
74089         2000 and (presumably) earlier, it will fail, and use the internal
74090         re-implementation.
74091         (use_win32_p): New function.
74092         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74093         Support AI_NUMERICSERV to disable getservbyname.
74094         (getnameinfo): New function, only supports
74095         NI_NUMERICHOST|NI_NUMERICSERV for now.
74096
74097         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74098         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74099         getnameinfo.
74100
74101 2006-06-28  Eric Blake  <ebb9@byu.net>
74102
74103         * modules/wcwidth: New file.
74104         * modules/mbchar (Depends-on): Add wcwidth.
74105         * modules/mbswidth (Depends-on): Add wcwidth.
74106         * MODULES.html.sh: Add wcwidth.
74107
74108 2006-06-28  Eric Blake  <ebb9@byu.net>
74109
74110         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74112
74113 2006-06-28  Eric Blake  <ebb9@byu.net>
74114
74115         * lib/xvasprintf.h: Fix comments.
74116
74117 2006-06-28  Eric Blake  <ebb9@byu.net>
74118
74119         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74120         * lib/mbswidth.c (wcwidth): Move from here...
74121         * lib/wcwidth.h: ...to this new file.
74122
74123 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74124
74125         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74126
74127         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74128         it's obsolete.
74129         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74130
74131 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74132
74133         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74134         Autoconf 2.60 says this stuff was obsolete.
74135
74136 2006-06-28  Bruno Haible  <bruno@clisp.org>
74137
74138         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74139
74140 2006-06-28  Bruno Haible  <bruno@clisp.org>
74141
74142         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74143         gt_TYPE_WCHAR_T.
74144
74145 2006-06-28  Bruno Haible  <bruno@clisp.org>
74146
74147         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74148         declaration for wcwidth.
74149         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74150
74151 2006-06-28  Bruno Haible  <bruno@clisp.org>
74152
74153         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74154         (mkdir): Define using _mkdir.
74155
74156 2006-06-28  Bruno Haible  <bruno@clisp.org>
74157
74158         * lib/getaddrinfo.h: Fix POSIX URL.
74159         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74160         _WIN32.
74161         (use_win32_p): Make static.
74162         (getaddrinfo): Reject service name if it is empty or does not consist
74163         solely of decimal digits, or if its value is > 65535.
74164         (getnameinfo): Remove useless casts.
74165
74166 2006-06-27  Simon Josefsson  <jas@extundo.com>
74167
74168         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74169         Eggert and Martin Lambers.
74170
74171 2006-06-27  Simon Josefsson  <jas@extundo.com>
74172
74173         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74174         Eggert and Martin Lambers.
74175
74176 2006-06-27  Bruno Haible  <bruno@clisp.org>
74177
74178         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74179         result to 0, not to empty.
74180         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74181
74182 2006-06-27  Bruno Haible  <bruno@clisp.org>
74183
74184         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74185
74186 2006-06-26  Simon Josefsson  <jas@extundo.com>
74187
74188         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
74189         present.
74190
74191 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
74192
74193         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
74194         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
74195         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
74196
74197 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
74198
74199         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
74200
74201 2006-06-26  Bruno Haible  <bruno@clisp.org>
74202
74203         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
74204
74205 2006-06-26  Bruno Haible  <bruno@clisp.org>
74206
74207         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
74208
74209 2006-06-26  Bruno Haible  <bruno@clisp.org>
74210
74211         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
74212         SGI C compiler in pre-C99 mode.
74213         Suggested by Mark D. Baushke and Larry Jones.
74214
74215 2006-06-26  Bruno Haible  <bruno@clisp.org>
74216
74217         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
74218         WCHAR_MAX.
74219         Reported by Mark D. Baushke and Larry Jones.
74220
74221 2006-06-26  Bruno Haible  <bruno@clisp.org>
74222
74223         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
74224         in pre-C99 mode.
74225         Suggested by Mark D. Baushke and Larry Jones.
74226
74227 2006-06-23  Simon Josefsson  <jas@extundo.com>
74228             Bruno Haible  <bruno@clisp.org>
74229
74230         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
74231         Emit mostlyclean-local rule.
74232         (func_emit_tests_Makefile_am): Likewise.
74233         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
74234
74235 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
74236
74237         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
74238
74239 2006-06-23  Bruno Haible  <bruno@clisp.org>
74240
74241         * tests/test-stdint.c: Update to match ISO C 99 Technical
74242         Corrigendum 1.
74243
74244 2006-06-23  Bruno Haible  <bruno@clisp.org>
74245
74246         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
74247
74248 2006-06-23  Bruno Haible  <bruno@clisp.org>
74249
74250         * lib/stdint_.h: Treat IRIX like OpenBSD.
74251
74252 2006-06-23  Bruno Haible  <bruno@clisp.org>
74253
74254         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
74255         ISO C 99 Technical Corrigendum 1.
74256
74257 2006-06-22  Simon Josefsson  <jas@extundo.com>
74258
74259         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
74260         MinGW.
74261
74262 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74263
74264         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
74265         needed.  Some compiler complained about some of them.  Problem reported
74266         by Larry Jones in
74267         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
74268
74269 2006-06-21  Simon Josefsson  <jas@extundo.com>
74270
74271         * tests/test-getaddrinfo.c: New file.
74272
74273         * modules/getaddrinfo-tests: New file.
74274
74275         * MODULES.html.sh: Add inet_pton.
74276
74277         * modules/inet_pton: New file.
74278
74279 2006-06-21  Simon Josefsson  <jas@extundo.com>
74280
74281         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
74282         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
74283         of using the (limited) gnulib implementation on Windows XP.
74284
74285         * m4/inet_pton.m4: New file.
74286
74287 2006-06-21  Simon Josefsson  <jas@extundo.com>
74288
74289         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
74290         variable.
74291
74292         * lib/socket_.h: Don't define WINVER.
74293
74294         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
74295         slightly modified to work in gnulib.
74296
74297 2006-06-21  Simon Josefsson  <jas@extundo.com>
74298
74299         * doc/gnulib.texi (Windows sockets): Add.
74300
74301 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
74302
74303         * lib/read-file.c (fread_file): Start with buffer allocation of
74304         0 bytes rather than 1 byte; this simplifies the code.
74305         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
74306         code to free buffer and save/restore errno.
74307         (internal_read_file): Remove unused local.
74308
74309 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74312         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74313         Problem reported by Denis Excoffier in
74314         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74315
74316 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74317
74318         * modules/sys_socket, modules/socklen: Include sys/types since
74319         FreeBSD 4.x's sys/socket.h needs it.
74320
74321 2006-06-19  Simon Josefsson  <jas@extundo.com>
74322
74323         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74324
74325 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74326
74327         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74328
74329 2006-06-19  Bruno Haible  <bruno@clisp.org>
74330
74331         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74332         and FULL_PATH_INTTYPES_H in angle brackets.
74333         Reported by Mark D. Baushke <mdb@gnu.org>.
74334
74335 2006-06-17  Eric Blake  <ebb9@byu.net>
74336
74337         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74338         errno.
74339
74340 2006-06-17  Bruno Haible  <bruno@clisp.org>
74341
74342         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74343         <sys/inttypes.h>.
74344
74345 2006-06-17  Bruno Haible  <bruno@clisp.org>
74346
74347         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74348         whether errno is declared. Assume <errno.h> declares errno.
74349
74350 2006-06-17  Bruno Haible  <bruno@clisp.org>
74351
74352         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74353
74354 2006-06-17  Bruno Haible  <bruno@clisp.org>
74355
74356         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74357         problem on Solaris 2.5.1.
74358
74359 2006-06-16  Eric Blake  <ebb9@byu.net>
74360
74361         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
74362         * lib/unicodeio.c [!defined errno]: Likewise.
74363         * lib/strtol.c [!defined errno]: Likewise.
74364         * lib/strtod.c [!defined errno]: Likewise.
74365
74366 2006-06-15  Eric Blake  <ebb9@byu.net>
74367
74368         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
74369
74370 2006-06-15  Eric Blake  <ebb9@byu.net>
74371
74372         * config/srclist.txt (ssize_t.m4): Lose sync.
74373
74374 2006-06-15  Bruno Haible  <bruno@clisp.org>
74375
74376         * modules/stdint (Files): Include m4/full-header-path.m4,
74377         m4/size_max.m4, m4/wchar_t.m4.
74378         (Makefile.am): Many more substitutions.
74379         * modules/stdint-tests: New file.
74380         * tests/test-stdint.c: New file.
74381
74382 2006-06-15  Bruno Haible  <bruno@clisp.org>
74383
74384         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74385         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74386         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74387         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74388         gl_CHECK_TYPE_SAME): New macros.
74389
74390 2006-06-15  Bruno Haible  <bruno@clisp.org>
74391
74392         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74393
74394 2006-06-15  Bruno Haible  <bruno@clisp.org>
74395
74396         * lib/stdint_.h: Rewritten to be fully auto-configured.
74397         Fixes bug on HP-UX/IA64.
74398
74399 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74400
74401         * lib/getdate.y (__attribute__): Don't define if already defined.
74402         Problem reported by Larry Jones.
74403         * lib/utimens.c (__attribute__): Likewise.
74404
74405 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74406
74407         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74408         reported by Andreas Schwab.
74409
74410 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74411             Bruno Haible  <bruno@clisp.org>
74412
74413         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
74414         check for the declaration of strnlen and a run test that exposes the
74415         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
74416         rpl_strndup.
74417
74418 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74419             Bruno Haible  <bruno@clisp.org>
74420
74421         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
74422
74423 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74424
74425         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
74426         compile test, for Tru64 4.0D.
74427
74428 2006-05-28  Karl Berry  <karl@gnu.org>
74429
74430         * config/srclist.txt (printf-args.c): lose sync.
74431
74432 2006-05-26  Martin Lambers  <marlam@marlam.de>
74433
74434         * lib/getpass.c: Updates the test for the native W32 API, and adds
74435         missing includes, thus fixing compilation warnings.
74436
74437 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74438
74439         * lib/exclude.c (exclude_fnmatch): New function.
74440         (excluded_file_name): Call exclude_fnmatch.
74441         * lib/exclude.h (excluded_file_name): New prototype
74442
74443 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
74444
74445         * lib/tempname.c (small_open, large_open): New macros.
74446         (__open, __open64) [!_LIBC]: Remove.
74447         (__gen_tempname): Use small_open and large_open instead of __open
74448         and __open64.  This fixes a portability bug on HP-UX 11.11i
74449         reported by Simon Wing-Tang in
74450         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
74451
74452 2006-05-24  Bruno Haible  <bruno@clisp.org>
74453
74454         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
74455         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
74456         Reported by Thorsten Maerz <torte@netztorte.de> via
74457         Aaron Stone <aaron@serendipity.cx>.
74458
74459 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74460
74461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
74462         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
74463         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
74464         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
74465         not really conditional on the cache.
74466         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
74467
74468 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74469
74470         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
74471         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
74472         (my_usleep): Don't mishandle maximum value.
74473
74474 2006-05-19  Jim Meyering  <jim@meyering.net>
74475
74476         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
74477
74478 2006-05-17  Bruno Haible  <bruno@clisp.org>
74479
74480         Cygwin portability.
74481         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74482
74483 2006-05-17  Bruno Haible  <bruno@clisp.org>
74484
74485         * lib/stdint_.h: Fix recognition of Cygwin.
74486
74487 2006-05-15  Bruno Haible  <bruno@clisp.org>
74488
74489         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74490         on libtool patch by Ralf Wildenhues.
74491
74492 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74493
74494         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74495         test for C99 conformance; (bool) 0.5 is an integer constant
74496         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74497         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74498
74499 2006-05-11  Simon Josefsson  <jas@extundo.com>
74500
74501         * m4/xvasprintf.m4: Fix obvious typo.
74502
74503 2006-05-11  Jim Meyering  <jim@meyering.net>
74504
74505         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74506         James Lemley.
74507
74508 2006-05-10  Simon Josefsson  <jas@extundo.com>
74509
74510         * lib/md4.c: Typo fix, update copyright years.
74511         (K1, K2): Don't use L because it turn computations into 64-bit on
74512         64-bit platforms.
74513
74514 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74515
74516         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74517         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74518         unwanted sign propagation, e.g., on hosts with 64-bit int.
74519         There still are some problems with reeelly weird theoretical hosts
74520         (e.g., 33-bit int) but it's not worth worrying about now.
74521         * lib/sha1.c (rol): Likewise.
74522         (K1, K2, K3, K4): Remove unnecessary L suffix.
74523
74524 2006-05-10  Bruno Haible  <bruno@clisp.org>
74525
74526         * lib/des.c: Cast to avoid warnings.
74527
74528 2006-05-09  Bruno Haible  <bruno@clisp.org>
74529
74530         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74531         (Depends-on): Depend also on xsize, stdarg.
74532         (configure.ac): Add gl_XVASPRINTF.
74533
74534 2006-05-09  Bruno Haible  <bruno@clisp.org>
74535
74536         * m4/xvasprintf.m4: New file.
74537
74538 2006-05-09  Bruno Haible  <bruno@clisp.org>
74539
74540         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74541         (EOVERFLOW): Define fallback value.
74542         (xstrcat): New function.
74543         (xvasprintf): Recognize the special case of a string concatenation.
74544
74545 2006-05-08  Eric Blake  <ebb9@byu.net>
74546
74547         * gnulib-tool (func_version): Base copyright year on CVS date.
74548         (func_emit_copyright_notice): New function.
74549         (func_emit_lib_Makefile_am): Use it.
74550         (func_emit_tests_Makefile_am): Likewise.
74551         (func_import): Likewise.
74552
74553 2006-05-08  Bruno Haible  <bruno@clisp.org>
74554
74555         * modules/stdarg: New file.
74556         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74557
74558 2006-05-08  Bruno Haible  <bruno@clisp.org>
74559
74560         * m4/stdarg.m4: New file, from GNU gettext.
74561
74562 2006-05-08  Bruno Haible  <bruno@clisp.org>
74563
74564         * config/srclist.txt (build-aux/config.rpath): different from latest
74565         release.
74566
74567 2006-05-08  Bruno Haible  <bruno@clisp.org>
74568
74569         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74570
74571 2006-05-05  Jim Meyering  <jim@meyering.net>
74572
74573         * m4/warning.m4: New file, derived from bison's file by the same name.
74574
74575 2006-05-03  Bruno Haible  <bruno@clisp.org>
74576
74577         * lib/stdint_.h: Shorter URL.
74578         * lib/inttypes.h: Likewise.
74579
74580 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74581
74582         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74583
74584 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74585
74586         * lib/verify.h: Document the internals better.  Most of this change
74587         was written by Bruno Haible.
74588
74589 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74590
74591         * doc/verify.texi: New file, partly based on a proposal by
74592         Bruno Haible.
74593
74594 2006-05-02  Bruno Haible  <bruno@clisp.org>
74595
74596         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74597         test from here...
74598         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74599
74600 2006-04-29  Bruno Haible  <bruno@clisp.org>
74601
74602         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74603         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74604
74605 2006-04-29  Bruno Haible  <bruno@clisp.org>
74606
74607         * gnulib-tool: Make --update option actually work.
74608
74609 2006-04-29  Bruno Haible  <bruno@clisp.org>
74610
74611         * doc/gcd.texi: New file.
74612         * doc/gnulib.texi: Include it.
74613
74614 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74615
74616         * lib/getdate.y (get_date): When adding relative date, start with the
74617         initial time, not with the result of the first mktime call.
74618
74619 2006-04-25  Bruno Haible  <bruno@clisp.org>
74620
74621         * gnulib-tool (func_import): Output the include directives in three
74622         blocks, sorted separately.
74623         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74624
74625 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74626
74627         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74628         to define main with arguments, for C++.  Reported by Eric Blake.
74629         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74630         Prefer 'int main ()' to 'int main (void)', for C++.
74631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74632         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74633         for 'main', for C99 and C++.
74634
74635 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74638         Don't assume that exit status -1 is valid.
74639         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74640         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74641         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74642         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74643         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74644         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74645         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74646         functions can be used without declaring them, or that you can
74647         exit with status -1.
74648         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74649
74650 2006-04-24  Karl Berry  <karl@gnu.org>
74651
74652         * config/srclist.txt (longdouble.m4): sync lost.
74653
74654 2006-04-24  Eric Blake  <ebb9@byu.net>
74655
74656         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74657
74658 2006-04-24  Bruno Haible  <bruno@clisp.org>
74659
74660         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74661         poll() implementation in AIX.
74662         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74663
74664 2006-04-24  Bruno Haible  <bruno@clisp.org>
74665
74666         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74667         assigned exactly once.
74668
74669 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74670             Bruno Haible  <bruno@clisp.org>
74671
74672         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74673         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74674         for AM_CPPFLAGS.
74675
74676 2006-04-23  Bruno Haible  <bruno@clisp.org>
74677
74678         * modules/copy-file: Depend on unistd.
74679         * modules/execute: Likewise.
74680         * modules/fatal-signal: Likewise.
74681         * modules/findprog: Likewise.
74682         * modules/mkdtemp : Likewise.
74683         * modules/pipe: Likewise.
74684         * modules/wait-process: Likewise.
74685
74686 2006-04-23  Bruno Haible  <bruno@clisp.org>
74687
74688         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74689         condition was already detected.
74690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74691
74692 2006-04-23  Bruno Haible  <bruno@clisp.org>
74693
74694         * lib/copy-file.c: Include <unistd.h> unconditionally.
74695         * lib/execute.c: Likewise.
74696         * lib/fatal-signal.c: Likewise.
74697         * lib/findprog.c: Likewise.
74698         * lib/mkdtemp.c: Likewise.
74699         * lib/pipe.h: Likewise.
74700         * lib/pipe.c: Likewise.
74701         * lib/wait-process.h: Likewise.
74702
74703 2006-04-23  Bruno Haible  <bruno@clisp.org>
74704
74705         * gnulib-tool (func_usage): Fix --import description. Document
74706         --update.
74707         (func_import): Create temporary file in a temporary directory, if
74708         --dry-run is specified. Silence errors from 'grep' when there are no
74709         m4 files in $m4dir.
74710         (func_create_testdir): Silence errors from 'grep' when there are no
74711         m4 files in $m4dir.
74712         Reported by Karl Berry <karl@freefriends.org>.
74713
74714 2006-04-20  Bruno Haible  <bruno@clisp.org>
74715
74716         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74717         one argument, so that the code will be portable to Autoconf 2.60.
74718         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74719         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74720         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74721
74722 2006-04-19  Derek Price  <derek@ximbiot.com>
74723             Eric Blake  <ebb9@byu.net>
74724
74725         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74726         rather than "/full/path.h".  Update comment to match.  Shorten &
74727         generalize m4_translit call via AS_TR_CPP.
74728
74729 2006-04-19  Derek Price  <derek@ximbiot.com>
74730             Eric Blake  <ebb9@byu.net>
74731
74732         * lib/inttypes.h: Correct grammar in comment.
74733
74734 2006-04-18  Derek Price  <derek@ximbiot.com>
74735             Paul Eggert  <eggert@cs.ucla.edu>
74736
74737         * modules/inttypes: New file.
74738         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74739
74740 2006-04-18  Derek Price  <derek@ximbiot.com>
74741             Paul Eggert  <eggert@cs.ucla.edu>
74742
74743         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74744         New files.
74745
74746 2006-04-18  Derek Price  <derek@ximbiot.com>
74747             Paul Eggert  <eggert@cs.ucla.edu>
74748
74749         * lib/inttypes.h: New file.
74750         * lib/strtoimax.c: Assume <inttypes.h>.
74751
74752 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74753
74754         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74755         isn't mounted.  Problem reported by Kir Kolyshkin.
74756
74757 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74758
74759         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74760         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74761         Derek R. Price.
74762         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74763         implementation.
74764
74765 2006-04-12  Eric Blake  <ebb9@byu.net>
74766
74767         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74768         is now done automatically by the corresponding Autoconf macro.
74769
74770 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74771
74772         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74773         time_r.h.
74774
74775 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74776
74777         Merge regex changes from libc, removing some of our
74778         POSIX-conformance changes that were rejected and redoing them in a
74779         less-intrusive way.
74780
74781         * lib/regcomp.c (re_compile_internal, init_dfa):
74782         Length arg is now size_t, not Idx.  All uses changed.
74783         (peek_token): Forward decl now says internal_function.
74784         (__re_error_msgid, __re_error_msgid_idx):
74785         Now static rather than extern with attribute_hidden.
74786         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74787         For some reason libc prefers K&R style defns for external functions.
74788         (regerror) [!defined _LIBC]: Likewise.
74789         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74790         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74791         (build_range_exp, build_collating_symbol):
74792         Use K&R-style defn.
74793         (re_compile_fastmap): Use '\0' to memset, not 0.
74794         (utf8_sb_map): Make the calculations more obvious.
74795         (init_dfa, parse_bracket_exp, build_charclass_op):
74796         Call calloc and cast result, as glibc does.
74797         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74798         (build_range_exp, build_collating_symbol):
74799         Now internal functions.
74800
74801         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74802
74803         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74804         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74805         Don't depend on VMS; depend on __VMS instead, for POSIX
74806         namespace cleanness.
74807         (regoff_t): Define to ssize_t, not long int.
74808
74809         Remove the REG_ macros named below.  Instead, make the old names
74810         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74811         __USE_GNU_REGEX.
74812         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74813         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74814         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74815         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74816         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74817         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74818         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74819         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74820         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74821         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74822         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74823         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74824         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74825         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74826         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74827         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74828         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74829         (REG_NREGS):
74830         Remove.  All uses replaced by the old RE_* names.
74831         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74832         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74833         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74834         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74835         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74836         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74837         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74838         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74839         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74840         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74841         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74842         Don't bother having these macros be independent of each others'
74843         values, since they no longer exist in the POSIX name space.
74844
74845         Rename the following member names back to their old names,
74846         unless !__USE_GNU_REGEX.  All uses changed back.
74847         (buffer): Renamed from re_buffer.
74848         (allocated): Renamed from re_allocated.
74849         (used): Renamed from re_used.
74850         (syntax): Renamed from re_syntax.
74851         (fastmap): Renamed from re_fastmap.
74852         (translate): Renamed from re_translate.
74853         (can_be_null): Renamed from re_can_be_null.
74854         (regs_allocated): Renamed from re_regs_allocated.
74855         (fastmap_accurate): Renamed from re_fastmap_accurate.
74856         (no_sub): Renamed from re_no_sub.
74857         (not_bol): Renamed from re_not_bol.
74858         (not_eol): Renamed from re_not_eol.
74859         (newline_anchor): Renamed from re_newline_anchor.
74860         (num_regs): Renamed from rm_num_regs.
74861         (start): Renamed from rm_start.
74862         (end): Renamed from rm_end.
74863
74864         (free_state): Move up a bit.
74865
74866         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74867         #define to be empty.
74868         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74869         when that is what is intended.
74870         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74871         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74872         (MAX): New macro.
74873         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74874         All uses changed back to re_malloc, etc.  It's now the caller's
74875         responsibility to check for overflow; all callers changed.
74876         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74877         (re_x2nrealloc): Remove.
74878         (free_state): Remove decl.
74879
74880         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74881         (re_set_registers, re_exec):
74882         Use K&R-style defn.
74883
74884         2006-01-31  Roland McGrath  <roland@redhat.com>
74885
74886         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74887         Reported by Mike Frysinger <vapier@gentoo.org>.
74888
74889         2006-01-15  Andreas Jaeger  <aj@suse.de>
74890
74891         [BZ #1950]
74892         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74893         build_wcs_upper_buffer change.
74894         (build_wcs_upper_buffer): Change return type.
74895
74896         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74897
74898         * lib/regex_internal.h: Include <stdint.h> if available.
74899
74900         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74901
74902         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74903
74904         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74905
74906         * lib/regcomp.c: Adjust for changed secondary hash function.
74907
74908         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74909
74910         * lib/regex.h: Pretty printing.
74911         Clean up namespace a bit.
74912
74913         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74914
74915         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74916         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74917
74918         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74919                     Ulrich Drepper  <drepper@redhat.com>
74920
74921         [BZ #1302]
74922         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74923         changed.
74924         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74925
74926         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74927
74928         [BZ #281]
74929         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74930         * lib/regcomp.c: Remove unnecessary uses of
74931         unsigned RE_TRANSLATE_TYPE.
74932         * lib/regex_internal.h: Likewise.
74933         * lib/regex_internal.c: Likewise.
74934         * lib/regexec.c: Likewise.
74935         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74936
74937         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74938
74939         * lib/regexec.c (find_recover_state): Remove unnecessary
74940         initialization.
74941         (transit_state_bkref): Make DFA a const pointer.
74942         (get_subexp): Likewise.
74943         (check_arrival): Likewise.
74944         (update_cur_sifted_state): Likewise.
74945         (re_search_internal): Likewise.
74946         (prune_impossible_nodes): Likewise.
74947         (acquire_init_state_context): Likewise.
74948         (proceed_next_node): Likewise.
74949         (set_regs): Likewise.
74950         (free_fail_stack_return): Likewise.
74951         (check_arrival_expand_ecl): Mark DFA parameter as const.
74952         (check_arrival_expand_ecl_sub): Likewise.
74953         (check_subexp_limits): Likewise.
74954         (sub_epsilon_src_nodes):  Likewise.
74955         (add_epsilon_src_nodes):  Likewise.
74956         (merge_state_array): Likewise.
74957         (update_regs): Likewise.
74958         (build_trtable): Likewise.
74959         (sift_states_backward): Mark MCTX parameter as const.
74960         (build_sifted_states): Likewise.
74961         (update_cur_sifted_state): Likewise.
74962         (sift_states_mkref): Likewise.
74963         (check_arrival_expand_ecl): Mark eclosure as const.
74964         (check_dst_limits_calc_pos_1): Likewise.
74965         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74966         pointer.
74967
74968         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74969
74970         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74971         (transit_state_sb): Likewise.
74972         (transit_state_mb): Likewise.
74973         (sift_states_iter_mb): Likewise.
74974         (check_arrival_add_next_nodes): Likewise.
74975         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74976         [_LIBC] (re_search_2_stub): Use mempcpy.
74977
74978         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74979         mbrtowc for very simple UTF-8 case.
74980
74981         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74982         a pointer-to-const.
74983         (re_acquire_state_context): Likewise.
74984         * lib/regex_internal.h: Adjust prototypes.
74985
74986         * lib/regex.c: Prevent using C++ compilers.
74987
74988         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74989         (re_acquire_state_context): Likewise.
74990
74991 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * modules/regex (Depends-on): Add ssize_t.
74994
74995 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74996
74997         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74998         translation table.
74999
75000 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75001
75002         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75003
75004 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75005             Bruno Haible  <bruno@clisp.org>
75006
75007         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75008         <sys/types.h> and <inttypes.h>.
75009
75010 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75011
75012         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75013         `__error_t_defined', so argp.h will not typedef the former.
75014
75015 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75016
75017         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75018         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75019         glibc names.  Even if glibc is changed to conform to POSIX, the
75020         traditional names will be available anyway, since regex depends on
75021         the extensions module.  Also, fix a longstanding typo in the
75022         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75023         reported by Emanuele Giaquinta.  Also, change sense of cached
75024         variable, so that the message makes sense.
75025
75026 2006-03-24  Simon Josefsson  <jas@extundo.com>
75027
75028         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75029         including some doc fixes.
75030         (base64_encode_alloc): Fix +1 bug on allocation failures.
75031
75032 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75033
75034         * lib/base64.c (base64_encode): Do not read past end of array with
75035         unsanitized input on systems with CHAR_BIT > 8.
75036
75037 2006-03-24  Eric Blake  <ebb9@byu.net>
75038
75039         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75040
75041 2006-03-22  Karl Berry  <karl@gnu.org>
75042
75043         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75044         * config/srclistvars.sh (COREUTILS): new var.
75045
75046 2006-03-17  Jim Meyering  <jim@meyering.net>
75047
75048         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75049         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75050
75051 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75054         no longer needs it.  Instead, check that regoff_t is as least
75055         as wide as ptrdiff_t.
75056
75057         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75058         so that our regex.h stays compatible with the installed regex.
75059         This is helpful for installers who configure --without-included-regex.
75060         Problem reported by Emanuele Giaquinta.
75061
75062 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75063
75064         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75065         Typedef to long int, not to off_, as POSIX will likely change
75066         in that direction.
75067
75068 2006-03-15  Eric Blake  <ebb9@byu.net>
75069
75070         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75071
75072 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75073
75074         * lib/argp-help.c (validate_uparams): Fix typo
75075         * lib/argp-parse.c (argp_default_options): Consistently begin help
75076         messages with a lowercase letter.
75077
75078 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75079
75080         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75081         overrun buffers and shouldn't be used (much as gets shouldn't be
75082         used).
75083         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75084
75085 2006-03-08  Simon Josefsson  <jas@extundo.com>
75086
75087         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75088         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75089
75090 2006-03-08  Simon Josefsson  <jas@extundo.com>
75091
75092         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75093         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75094
75095 2006-03-08  Simon Josefsson  <jas@extundo.com>
75096
75097         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75098         signal that configure disabled the device.
75099
75100 2006-03-08  Simon Josefsson  <jas@extundo.com>
75101
75102         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75103         languages.
75104
75105 2006-03-07  Simon Josefsson  <jas@extundo.com>
75106
75107         * modules/getopt (Depends-on): Add unistd.
75108
75109         * modules/unistd: New file.
75110
75111 2006-03-07  Simon Josefsson  <jas@extundo.com>
75112
75113         * modules/gc-random: New file.
75114
75115 2006-03-07  Simon Josefsson  <jas@extundo.com>
75116
75117         * m4/unistd_h.m4: New file.
75118
75119 2006-03-07  Simon Josefsson  <jas@extundo.com>
75120
75121         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75122         test to be side-effect free by storing the result in the cache
75123         variable gl_cv_lib_readline, and moving the assignment of
75124         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75125         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75126
75127 2006-03-07  Simon Josefsson  <jas@extundo.com>
75128
75129         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75130         error on missing devices (the functions will return an error).
75131
75132         * m4/gc.m4: Move random stuff to gc-random.m4
75133
75134 2006-03-07  Simon Josefsson  <jas@extundo.com>
75135
75136         * lib/unistd_.h: New file.
75137
75138 2006-03-07  Simon Josefsson  <jas@extundo.com>
75139
75140         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75141
75142 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75143
75144         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75145         Problem reported by Juan Manuel Guerrero.
75146
75147 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75148
75149         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75150         the unistd module.
75151         * lib/getlogin_r.c: Likewise.
75152         * lib/getlogin_r.h: Likewise.
75153         * lib/glob.c: Likewise.
75154         * lib/pagealign_alloc.c: Likewise.
75155         * lib/unistd_.h: Remove; no longer needed.
75156
75157 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75158
75159         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75160         Add unistd.
75161         * modules/c-stack (Depends-on): Add unistd.
75162         * modules/getlogin_r: Likewise.
75163         * modules/glob: Likewise.
75164         * modules/pagealign_alloc: Likewise.
75165         * modules/unistd (Files): Remove lib/unistd_.h.
75166         (EXTRA_DIST): Remove.
75167         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75168         need unistd_.h.
75169         (MOSTLYCLEANFILES): Remove unistd.h-t.
75170
75171 2006-03-03  Simon Josefsson  <jas@extundo.com>
75172
75173         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75174
75175 2006-03-03  Simon Josefsson  <jas@extundo.com>
75176
75177         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75178         libidn and bison.
75179
75180 2006-03-03  Simon Josefsson  <jas@extundo.com>
75181
75182         * build-aux/maint.mk: Add indent target.
75183
75184 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75185
75186         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75187         our replacement poll.h in any case, to avoid a differing
75188         declaration from a system header.  Seen on AIX.
75189
75190 2006-03-01  Simon Josefsson  <jas@extundo.com>
75191
75192         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
75193         <kasal@ucw.cz>.
75194
75195 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75196
75197         * modules/gettime (Depends-on): Add extensions module.
75198         * modules/nanosleep (Depends-on): Likewise.
75199         * modules/settime (Depends-on): Likewise.
75200
75201 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75202
75203         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
75204         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
75205         pedantically.
75206         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75207         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
75208
75209         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
75210         not "==".  Reported by Ralf Wildenhues.
75211
75212 2006-03-01  Karl Berry  <karl@gnu.org>
75213
75214         * doc/Copyright/request-*: new files, synced from gnuorg.
75215
75216 2006-03-01  Karl Berry  <karl@gnu.org>
75217
75218         * config/srclist.txt (Copyright/*): new entries.
75219
75220 2006-02-28  Simon Josefsson  <jas@extundo.com>
75221
75222         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
75223
75224 2006-02-27  Simon Josefsson  <jas@extundo.com>
75225
75226         * lib/base64.h: Indent #define's.  From Jim Meyering
75227         <jim@meyering.net>.
75228
75229 2006-02-27  Jim Meyering  <jim@meyering.net>
75230
75231         Revert the change of 2006-02-24, so these files can continue
75232         to be sync'd from gettext.
75233         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
75234         of `config.h'.
75235
75236 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75237
75238         * modules/intprops: New file.
75239         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75240         Add intprops.
75241         * modules/getloadavg (Files): Remove lib/intprops.h.
75242         (Depends-on): Add intprops.
75243         * modules/human: Likewise.
75244         * modules/inttostr: Likewise.
75245         * modules/openat: Likewise.
75246         * modules/sig2str: Likewise.
75247         * modules/userspec: Likewise.
75248         * modules/utimecmp: Likewise.
75249         * modules/xnanosleep: Likewise.
75250         * modules/xstrtol: Likewise.
75251
75252 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
75253
75254         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
75255         * modules/lock-tests (TESTS): Use $(EXEEXT).
75256         * modules/tls-tests: Likewise.
75257         * modules/argp-tests: Likewise.
75258         (check_PROGRAMS): New var, replacing...
75259         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
75260
75261 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75262
75263         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
75264         `config.h'.
75265
75266 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
75269
75270 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75271
75272         Sync from coreutils.
75273         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
75274         gl_CHDIR_SAFER.
75275
75276 2006-02-22  Jim Meyering  <jim@meyering.net>
75277
75278         Sync from coreutils.
75279         * m4/chdir-safer.m4: New file.
75280
75281 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
75282
75283         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
75284         AT_FDCWD exceeds INT_MAX.
75285         * lib/openat.h (AT_FDCWD): Likewise.
75286
75287 2006-02-17  Eric Blake  <address@hidden>
75288
75289         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
75290
75291 2006-02-16  Simon Josefsson  <jas@extundo.com>
75292
75293         * modules/getaddrinfo (Depends-on): Add sys_socket.
75294
75295 2006-02-15  Simon Josefsson  <jas@extundo.com>
75296
75297         * build-aux/maint.mk: Add dsyntax-check rule.
75298
75299 2006-02-15  Eric Blake  <ebb9@byu.net>
75300
75301         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
75302         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
75303         'present but cannot compile' warnings on cygwin.
75304         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
75305         use ws2tcpip.h if sys/socket.h works.
75306         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
75307         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75308
75309 2006-02-14  Simon Josefsson  <jas@extundo.com>
75310
75311         * modules/maintainer-makefile (Files): Rename.
75312
75313         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75314         and (the local) Makefile.cfg to maint-cfg.mk.
75315
75316         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75317         to the latter.
75318
75319         * modules/maintainer-makefile: New module.
75320
75321         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75322         severaly stripped to make it possible to build it up from scratch
75323         with reliable tests.
75324
75325         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75326         fixes to permit overriding the default actions when configure and
75327         makefile are not available.
75328
75329 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75330
75331         Sync from coreutils.
75332         * modules/lstat (Depends-on): Don't depend on xalloc.
75333         (License): Change from GPL to LGPL, since this is now simply a
75334         replacement for a libc function.
75335
75336 2006-02-14  Jim Meyering  <jim@meyering.net>
75337
75338         Sync from coreutils.
75339
75340         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75341         failure on deficient systems, and simplify gnulib lgpl dependencies.
75342         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75343         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75344
75345         * lib/xalloc-die.c: Remove unused definition of N_.
75346
75347 2006-02-14  Jim Meyering  <jim@meyering.net>
75348
75349         Sync from coreutils.
75350         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75351         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75352         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75353         double-quote uses of that variable, to accommodate the rare case in
75354         which getmntent is available in none of the libraries checked.  This
75355         happens at least on FreeBSD 5.0.
75356
75357 2006-02-13  Simon Josefsson  <jas@extundo.com>
75358
75359         * gnulib-tool (Usage): Fix --import, from
75360         karl@freefriends.org (Karl Berry).
75361
75362 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75363
75364         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
75365
75366 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
75367
75368         * lib/argp-namefrob.h: Restore changes accidentally lost during the
75369         "autoupdate" on 2005-12-12.
75370
75371 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75372
75373         * modules/closeout (Depends-on): Remove atexit.
75374
75375 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75376
75377         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75378         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75379
75380 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75381
75382         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75383         __EXTENSIONS__ if this causes compilation to fail.  Problem
75384         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75385         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75386
75387 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75390         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75391         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75392         All uses changed.
75393
75394 2006-01-26  Simon Josefsson  <jas@extundo.com>
75395
75396         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75397         prototype is visible on mingw32.
75398
75399         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75400         for mingw32.
75401
75402         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75403         mingw32).
75404
75405 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75406
75407         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75408         attempt to open for write; this always fails, at least on POSIX
75409         hosts.  This reinstates the 2006-01-09 change, which was
75410         inadvertently removed.
75411
75412 2006-01-26  Bruno Haible  <bruno@clisp.org>
75413
75414         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
75415         Reported by Paul Eggert.
75416
75417 2006-01-26  Bruno Haible  <bruno@clisp.org>
75418             Paul Eggert  <eggert@cs.ucla.edu>
75419
75420         * lib/stdbool_.h (_Bool)
75421         [(! (defined __cplusplus || defined __BEOS__)
75422           && !defined __GNUC__
75423           && !(defined __HP_cc || defined __xlc__
75424                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
75425                || defined __sgi))]:
75426         #define to signed char in these cases too; this simplifies
75427         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
75428         etc., separately) and makes it more conservative.
75429
75430 2006-01-25  Simon Josefsson  <jas@extundo.com>
75431
75432         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
75433         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
75434         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
75435
75436 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75437
75438         * lib/argp-namefrob.h: Bugfix. Remove stray #
75439
75440 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75441
75442         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
75443         so that we test the test.
75444         Check for yet another HP-UX cc bug involving *bool |= bool.
75445
75446 2006-01-25  Karl Berry  <karl@gnu.org>
75447
75448         * config/srclist.txt (vasnprintf.c): sync lost.
75449
75450 2006-01-25  Jim Meyering  <jim@meyering.net>
75451
75452         Sync from the stable (b5) branch of coreutils:
75453
75454         * lib/fts.c (fts_children): Don't let close() clobber errno from
75455         failed fchdir().
75456
75457         * lib/fts.c (fts_stat): When following a symlink-to-directory,
75458         don't necessarily interpret stat-fails+lstat-succeeds as indicating
75459         a dangling symlink.  That can also happen at least for ELOOP.
75460         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
75461         FYI, this bug predates the inclusion of fts.c in coreutils.
75462
75463         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
75464         in their own block, so pre-c99 compilers don't object.
75465
75466         Avoid the double-free (first in fts_read, second in fts_close) that
75467         would occur when an `active' directory is made inaccessible (e.g.,
75468         via chmod a-x) during a traversal.
75469         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75470         before returning.  Reproduce this failure by
75471         mkdir -p a/b; cd a; chmod a-x . b
75472         Reported by Stavros Passas.
75473
75474 2006-01-25  Jim Meyering  <jim@meyering.net>
75475
75476         * lib/fileblocks.c: Remove more useless parentheses.
75477         * lib/readutmp.h: Likewise.
75478
75479 2006-01-25  Bruno Haible  <bruno@clisp.org>
75480
75481         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75482         warnings.
75483         Reported by Paul Eggert.
75484
75485 2006-01-25  Bruno Haible  <bruno@clisp.org>
75486
75487         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75488         rid of a trap command. For Solaris sh.
75489         Reported by Mark D. Baushke <mdb@gnu.org>.
75490
75491 2006-01-24  Simon Josefsson  <jas@extundo.com>
75492
75493         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75494         Bruno.
75495
75496 2006-01-24  Karl Berry  <karl@gnu.org>
75497
75498         * config/srclist.txt (argp-namefrob.h): sync lost.
75499
75500 2006-01-24  Jim Meyering  <jim@meyering.net>
75501
75502         * modules/openat (Files): Add lib/intprops.h.
75503         From Mark D. Baushke.
75504
75505 2006-01-24  Jim Meyering  <jim@meyering.net>
75506
75507         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75508         Reported by Mark D. Baushke.
75509
75510 2006-01-24  Jim Meyering  <jim@meyering.net>
75511
75512         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75513
75514 2006-01-24  Bruno Haible  <bruno@clisp.org>
75515
75516         * modules/strnlen (Maintainer): Change from glibc to all.
75517
75518 2006-01-24  Bruno Haible  <bruno@clisp.org>
75519
75520         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75521         Patch by Paul Eggert.
75522
75523 2006-01-24  Bruno Haible  <bruno@clisp.org>
75524
75525         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75526         already has it.
75527         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75528         2005-11-26.
75529
75530         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75531         'signed char' to avoid problems with the built-in _Bool type.
75532         Reported by Paul Eggert on 2005-11-26.
75533
75534 2006-01-24  Bruno Haible  <bruno@clisp.org>
75535
75536         * gnulib-tool (func_import): Avoid constructing complicated sed
75537         expressions inside backquote.
75538         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75539
75540 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75541
75542         These changes imported from libc.
75543         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75544         test and two separate function calls.
75545         * lib/strndup.c (__strndup): Add libc_hidden_def.
75546
75547 2006-01-23  Simon Josefsson  <jas@extundo.com>
75548
75549         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75550         Remove the test_*_SOURCES variable: automake infers it by default.
75551         * modules/tls-tests: Likewise.
75552
75553 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75554
75555         Work around porting bugs reported by Dieter in
75556         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75557         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75558         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75559         Include "getopt.h" first, to check interface.
75560         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75561         !HAVE_DECL_GETENV.
75562         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75563         (__strndup): Revert to K&R-style function dfns, the glibc style.
75564         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75565         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75566         Include strnlen.h first, to get prototype properly.
75567         (strnlen): Renamed from __strnlen.
75568         Remove weak alias.
75569
75570 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75571
75572         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75573
75574 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75575
75576         * config/srclist.txt: Adjust to reflect glibc reorganization.
75577         This affects only comments.
75578
75579 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75580
75581          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75582          Reported by Bruce Korb <bkorb@gnu.org>.
75583
75584 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75585
75586         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75587         to pacify gcc -Wswitch-default.
75588
75589 2006-01-22  Bruno Haible  <bruno@clisp.org>
75590
75591         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75592         temporary buffer for sprintf, take into account the precision also
75593         for 'd', 'i', 'u', 'o', 'x', 'X'.
75594
75595 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75596
75597         * modules/argp-tests: New module
75598         * tests/test-argp.c: New file
75599         * tests/test-argp-2.sh: New file
75600
75601 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75602
75603         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75604         (__argp_base_name): Removed
75605         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75606         typo.
75607         (__argp_base_name): Provide macro definition or extern declaration
75608         depending on the configuration
75609
75610 2006-01-20  Simon Josefsson  <jas@extundo.com>
75611
75612         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75613
75614 2006-01-20  Simon Josefsson  <jas@extundo.com>
75615
75616         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75617
75618 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75619
75620         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75621         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75622         Suggested by Bruno Haible.
75623
75624 2006-01-20  Karl Berry  <karl@gnu.org>
75625
75626         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75627         until changes propagate, I guess.
75628
75629 2006-01-19  Simon Josefsson  <jas@extundo.com>
75630
75631         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75632
75633 2006-01-19  Simon Josefsson  <jas@extundo.com>
75634
75635         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75636
75637 2006-01-19  Simon Josefsson  <jas@extundo.com>
75638
75639         * gnulib-tool: Set check_PROGRAMS.
75640
75641         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75642         modules/des-tests, modules/gc-arcfour-tests,
75643         modules/gc-arctwo-tests, modules/gc-des-tests,
75644         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75645         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75646         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75647         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75648         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75649         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75650         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75651         test_*_SOURCES.
75652
75653 2006-01-18  Simon Josefsson  <jas@extundo.com>
75654
75655         * modules/socklen (Depends-on): Depend on sys_socket.
75656
75657 2006-01-18  Simon Josefsson  <jas@extundo.com>
75658
75659         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75660         modules/des-tests, modules/gc-arcfour-tests,
75661         modules/gc-arctwo-tests, modules/gc-des-tests,
75662         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75663         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75664         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75665         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75666         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75667         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75668         $(EXEEXT) to automake TESTS variable, for mingw32.
75669
75670 2006-01-17  Simon Josefsson  <jas@extundo.com>
75671
75672         * modules/socklen (Include): Need sys/socket.h.
75673
75674 2006-01-17  Bruno Haible  <bruno@clisp.org>
75675
75676         * modules/ssize_t (Include): Add <sys/types.h>.
75677
75678 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75679
75680         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75681         it's not portable and it doesn't work with cross-compiles.
75682         Problem reported by Bruno Haible.  Fix missing-$ typo in
75683         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75684         -zignore from being used with Sun's C compiler.
75685
75686 2006-01-12  Simon Josefsson  <jas@extundo.com>
75687
75688         * lib/base64.c: Fix warning, reported by Bruno Haible
75689         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75690
75691 2006-01-12  Bruno Haible  <bruno@clisp.org>
75692
75693         * modules/ldd: New file.
75694         * build-aux/ldd.sh.in: New file.
75695         * MODULES.html.sh (Support for building libraries and executables): Add
75696         ldd.
75697
75698 2006-01-12  Bruno Haible  <bruno@clisp.org>
75699
75700         * m4/ldd.m4: New file.
75701
75702 2006-01-12  Bruno Haible  <bruno@clisp.org>
75703
75704         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75705         endless loop while replacing $auxdir with build-aux.
75706
75707 2006-01-11  Simon Josefsson  <jas@extundo.com>
75708
75709         * lib/stdint_.h (SIZE_MAX): Add missing (.
75710
75711 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75712
75713         Sync from coreutils.
75714         * lib/md5.c: Fix commentary typos.
75715         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75716         * lib/md5.h (__attribute__): Remove; unused.
75717         * lib/sha1.c: Fix commentary to match md5 better.
75718         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75719         so that we don't need to worry about alignment.  All uses changed.
75720         This merges the 2005-10-28 md5 change into sha1.
75721
75722 2006-01-11  Jim Meyering  <jim@meyering.net>
75723
75724         Sync from coreutils.
75725         * lib/md5.c (OP): Fix spacing.
75726
75727 2006-01-11  Bruno Haible  <bruno@clisp.org>
75728
75729         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75730         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75731         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75732
75733 2006-01-11  Bruno Haible  <bruno@clisp.org>
75734
75735         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75736         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75737         the "early" section as well.
75738
75739 2006-01-11  Bruno Haible  <bruno@clisp.org>
75740
75741         Avoid "ar: no archive members specified" error on MacOS X.
75742         * gnulib-tool (func_modules_add_dummy): New function.
75743         (func_import, func_create_testdir): Invoke it.
75744
75745 2006-01-11  Bruno Haible  <bruno@clisp.org>
75746
75747         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75748         with $auxdir in AC_CONFIG_FILES statements.
75749
75750 2006-01-11  Bruno Haible  <bruno@clisp.org>
75751
75752         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75753         Initialize also noinst_HEADERS to empty.
75754
75755 2006-01-11  Bruno Haible  <bruno@clisp.org>
75756
75757         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75758         variables.
75759         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75760         autoreconf.
75761
75762 2006-01-11  Bruno Haible  <bruno@clisp.org>
75763
75764         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75765         overridable by the user.
75766         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75767
75768 2006-01-10  Simon Josefsson  <jas@extundo.com>
75769
75770         * modules/sys_socket: New file.
75771
75772 2006-01-10  Simon Josefsson  <jas@extundo.com>
75773
75774         * m4/sys_socket_h.m4: New file.
75775
75776 2006-01-10  Simon Josefsson  <jas@extundo.com>
75777
75778         * lib/socket_.h: New file.
75779
75780 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75781
75782         * modules/readutmp (Maintainer): Add myself.
75783
75784 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75787         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75788         People who are still concerned with buggy memcmp implementations
75789         can invoke gl_FUNC_MEMCMP themselves.
75790
75791 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75792
75793         * lib/regex_internal.h (BITSET_WORD_BITS):
75794         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75795         preprocessor mishandles large unsigned values as if they were signed.
75796         Problem reported by Claudio Fontana in
75797         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75798
75799 2006-01-10  Jim Meyering  <jim@meyering.net>
75800
75801         Avoid the double-free (first in fts_read, second in fts_close) that
75802         would occur when an `active' directory is made inaccessible (e.g.,
75803         via chmod a-x) during a traversal.
75804         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75805         before returning.  Reproduce this failure by
75806         mkdir -p a/b; cd a; chmod a-x . b
75807         Reported by Stavros Passas.
75808
75809         Sync from coreutils.
75810         * lib/sha1.c: Tweak grammar in a comment.
75811
75812 2006-01-10  Jim Meyering  <jim@meyering.net>
75813
75814         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75815         Patch by Joerg Sonnenberger.
75816
75817 2006-01-10  Bruno Haible  <bruno@clisp.org>
75818
75819         * modules/readutmp: Depend on module free.
75820         * modules/strtok_r: Depend on module restrict.
75821
75822 2006-01-10  Bruno Haible  <bruno@clisp.org>
75823
75824         * modules/gettext (configure.ac): Add an invocation of
75825         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75826
75827 2006-01-10  Bruno Haible  <bruno@clisp.org>
75828
75829         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75830         Reported by Werner Lemberg <wl@gnu.org>.
75831
75832 2006-01-10  Bruno Haible  <bruno@clisp.org>
75833
75834         * lib/localcharset.c: Update from GNU gettext.
75835
75836 2006-01-10  Bruno Haible  <bruno@clisp.org>
75837
75838         * lib/argp.h (__const): Remove macro. Use const instead.
75839         * lib/argp-fmtstream.h (__const): Likewise.
75840         * lib/glob_.h (__const): Remove macro.
75841         * lib/glob-libc.h: Use const instead of __const.
75842
75843 2006-01-10  Bruno Haible  <bruno@clisp.org>
75844
75845         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75846         variable.
75847         Needed to avoid an automake error regarding the 'gettext' module.
75848
75849 2006-01-09  Simon Josefsson  <jas@extundo.com>
75850
75851         * modules/inet_ntop (Depends-on): Add restrict.
75852
75853 2006-01-09  Simon Josefsson  <jas@extundo.com>
75854
75855         * modules/gc-rijndael-tests (License): Put under LGPL.
75856
75857         * modules/gc-des-tests (License): Likewise.
75858
75859         * modules/gc-arcfour-tests (License): Likewise.
75860
75861         * modules/gc-arctwo-tests (License): Likewise.
75862
75863         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75864
75865         * modules/gc-hmac-sha1-tests (Files): Likewise.
75866
75867         * modules/gc-hmac-md5-tests (License): Likewise.
75868
75869         * modules/gc-sha1-tests (License): Likewise.
75870
75871         * modules/gc-md5-tests (License): Likewise.
75872
75873         * modules/gc-md4-tests (License): Likewise.
75874
75875         * modules/gc-md2-tests (License): Likewise.
75876
75877         * modules/gc-tests (License): Likewise.
75878
75879         * modules/des-tests (License): Likewise.
75880
75881         * modules/md4-tests (License): Likewise.
75882
75883         * modules/md2-tests (License): Likewise.
75884
75885 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75886
75887         Sync from coreutils:
75888
75889         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75890         * modules/lib-ignore: New file.
75891         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75892         chdir-safer.m4, lchmod.m4.
75893         * modules/openat: Add mkdirat.c, openat-priv.h.
75894
75895 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75896
75897         Sync from coreutils.
75898         * m4/lib-ignore.m4: New file.
75899         * m4/lchmod.m4: New file.
75900
75901 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75902
75903         Sync from coreutils.
75904         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75905         for write access: POSIX says that must fail.
75906         * lib/fts.c (diropen): Likewise.
75907         * lib/save-cwd.c (save_cwd): Likewise.
75908         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75909         well, for minor improvements on hosts that lack O_DIRECTORY.
75910         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75911         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75912         Fall back on chown if open failed with EACCES.
75913
75914         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75915         Report an error at compile-time if only a 1-second nominal clock
75916         resolution is found.
75917
75918         * lib/lchmod.h: New file.
75919         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75920         (make_dir_parents): Use lchown rather than chown, and
75921         lchmod rather than chmod.
75922
75923         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75924         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75925         "proc" reported by n0dalus.
75926
75927         * lib/mountlist.c: Include <limits.h>.
75928         (dev_from_mount_options)
75929         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75930         New function.  It no longer assumes "dev=" has the System V meaning
75931         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75932         (read_file_system_list)
75933         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75934         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75935         dev= in that case.
75936
75937         * lib/posixtm.h (PDS_PRE_2000): New macro.
75938         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75939         allow_century.  All usages changed.  Reject dates outside the range
75940         1969-1999 if PDS_PRE_2000 is used.
75941
75942 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75943
75944         Sync from coreutils.
75945         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75946         (Time of day items): Mention the possibility of leap seconds.
75947         Problem reported by Dr. David Alan Gilbert.
75948
75949 2006-01-09  Jim Meyering  <jim@meyering.net>
75950
75951         Sync from coreutils.
75952
75953         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75954
75955         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75956
75957         * lib/modechange.c (mode_compile): Reject an invalid mode string
75958         that starts with an octal digit.  From Andreas Gruenbacher.
75959
75960         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75961         and dup to open_safer and dup_safer, respectively.
75962         (openat_permissive): Fix typo in comment.
75963
75964         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75965         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75966         (_): Remove; no longer needed.
75967         (openat): Renamed from rpl_openat; no need for rpl_openat
75968         since openat.h renames openat for us.
75969         Replace most of the body with a call to openat_permissive,
75970         to avoid duplicate code.
75971         Port to (probably hypothetical) environments were mode_t is
75972         wider than int.
75973         (openat_permissive): Require mode arg, so that we can check
75974         types better.  Put it just after flags.  Change cwd failure
75975         indicator from pointer-to-bool to pointer-to-errno-value.
75976         All callers changed.
75977         Invoke openat_save_fail and/or openat_restore_fail if
75978         cwd_errno is null, so that openat can call us.
75979         (openat_permissive, fdopendir, fstatat, unlinkat):
75980         Simplify errno handling to avoid some duplicate code,
75981         as it's OK to set errno on success.
75982         * lib/openat.h: Revamp code so that function macros depend on
75983         __OPENAT_PREFIX only, not also on AT_FDCWD.
75984         (openat_ro): Remove.  Caller changed to use openat_permissive.
75985         (openat_permissive): Now a macro, if not a function.
75986         (openat_restore_fail, openat_save_fail): Now always functions,
75987         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75988
75989         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75990         and openat.c.
75991         * lib/mkdirat.c: Include openat-priv.h.
75992         Remove definitions of macros defined therein.
75993         * lib/openat.c: Likewise.
75994
75995         * lib/mkdirat.c (mkdirat): New file and function.
75996         * lib/openat.h (mkdirat): Declare.
75997
75998         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75999
76000         * lib/openat.h (openat_permissive): Declare.
76001         (openat_ro): Define.
76002
76003         * lib/openat.c (EXPECTED_ERRNO): New macro.
76004         (openat_permissive): New function -- used in remove.c rewrite.
76005         (all functions): Set errno just before returning, only if there
76006         was an actual failure.
76007         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76008
76009         Emulate openat-family functions using Linux's procfs, if possible.
76010         Idea and some code based on Ulrich Drepper's glibc changes.
76011
76012         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76013         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76014         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76015         before falling back on save_cwd and restore_cwd.
76016         (fdopendir, fstatat, unlinkat): Likewise.
76017
76018         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76019         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76020
76021         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76022         as second argument to va_arg.  Otherwise, some versions of gcc
76023         warn that `if this code is reached, the program will abort'.
76024
76025 2006-01-09  Jim Meyering  <jim@meyering.net>
76026
76027         Sync from coreutils.
76028         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76029         Require openat-priv.h.
76030
76031 2006-01-09  Bruno Haible  <bruno@clisp.org>
76032
76033         * modules/strnlen (Include): Use strnlen.h.
76034
76035 2006-01-09  Bruno Haible  <bruno@clisp.org>
76036
76037         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76038
76039 2006-01-09  Bruno Haible  <bruno@clisp.org>
76040
76041         * lib/sysexit_.h (EX_OK): New macro.
76042         Suggested by Martin Lambers <marlam@marlam.de>.
76043
76044 2006-01-09  Bruno Haible  <bruno@clisp.org>
76045
76046         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76047         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76048
76049 2006-01-09  Bruno Haible  <bruno@clisp.org>
76050
76051         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76052         numbers.
76053
76054 2006-01-09  Bruno Haible  <bruno@clisp.org>
76055
76056         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76057         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76058         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76059         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76060
76061 2006-01-09  Bruno Haible  <bruno@clisp.org>
76062
76063         * build-aux/javacomp.sh.in: New file, moved from lib/.
76064         * modules/javacomp-script (Files): Update.
76065         (configure.ac): Add AC_CONFIG_FILES invocation.
76066         (EXTRA_DIST): Remove variable.
76067
76068         * build-aux/javaexec.sh.in: New file, moved from lib/.
76069         * modules/javaexec (Files): Update.
76070         (configure.ac): Add AC_CONFIG_FILES invocation.
76071         (EXTRA_DIST): Remove javaexec.sh.in.
76072
76073         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76074         * modules/csharpcomp-script (Files): Update.
76075         (configure.ac): Add AC_CONFIG_FILES invocation.
76076         (EXTRA_DIST): Remove variable.
76077
76078         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76079         * modules/csharpexec (Files): Update.
76080         (configure.ac): Add AC_CONFIG_FILES invocation.
76081         (EXTRA_DIST): Remove csharpexec.sh.in.
76082
76083 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76084
76085         Sync from coreutils.
76086
76087         Add POSIX ACL support
76088         * lib/acl.h (copy_acl, set_acl): Add declarations.
76089         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76090         systems other than Linux.
76091         (chmod_or_fchmod): New function: use fchmod when possible,
76092         and chmod otherwise.
76093         (file_has_acl): Add a POSIX ACL implementation, with a
76094         Linux-specific subcase.
76095         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76096         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76097         acls are unsupported.
76098         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76099         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76100         are unsupported.
76101
76102 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76103
76104         Sync from coreutils.
76105         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76106
76107 2006-01-07  Bruno Haible  <bruno@clisp.org>
76108
76109         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76110         gl_EARLY.
76111
76112 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76113
76114         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76115         Problem reported for Mingw by Mark Junker.
76116
76117 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76118
76119         * README: Gnulib normally doesn't generate a tarball.
76120
76121 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76124         long int, not int, for nanosecond counts, so that people who are
76125         used to POSIX struct timespec won't be surprised.  Reported by Jim
76126         Meyering.
76127
76128 2005-12-28  Bruno Haible  <bruno@clisp.org>
76129
76130         * build-aux/config.rpath: Update from GNU gettext.
76131
76132 2005-12-16  Jim Meyering  <jim@meyering.net>
76133
76134         * modules/fprintftime: New module.
76135         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76136
76137 2005-12-16  Jim Meyering  <jim@meyering.net>
76138
76139         * m4/fprintftime.m4: New file.
76140
76141 2005-12-16  Jim Meyering  <jim@meyering.net>
76142
76143         * lib/fprintftime.c, lib/fprintftime.h: New files.
76144
76145 2005-12-15  Simon Josefsson  <jas@extundo.com>
76146
76147         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76148         new m4/socklen.m4.
76149
76150 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76151
76152         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76153         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76154
76155 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76156
76157         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76158         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76159         struct uparams is valid. Fall back to the default values if it is
76160         not.
76161
76162 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76163
76164         * modules/argp (Files): Add argp-pin.c
76165         (Depends-on): dirname
76166         (lib_SOURCES): Add argp-pin.c
76167
76168 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76169
76170         * m4/argp.m4:  Check if program_invocation_name and
76171         program_invocation_short_name are declared and define appropriate
76172         macros if they are not.
76173
76174 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76175
76176         * lib/argp-help.c (__argp_base_name): New function
76177         (__argp_short_program_name): Rewrite using __argp_base_name
76178         * lib/argp-namefrob.h: Define program_invocation_name and
76179         program_invocation_short_name if requested
76180         (__argp_base_name): Add prototype
76181         * lib/argp-parse.c (argp_def): Use gettext wrappers
76182         (argp_default_parser): Use __argp_base_name
76183         * lib/argp-pin.c: New file. Defines program_invocation_name and
76184         program_invocation_short_name on systems that lack them.
76185
76186 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76187
76188         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
76189         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76190         porting problem reported by Georg Schwarz in
76191         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76192
76193 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76194
76195         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
76196         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76197         porting problem reported by Georg Schwarz in
76198         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76199
76200 2005-12-05  Bruno Haible  <bruno@clisp.org>
76201
76202         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
76203         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
76204         Reported by Mark Junker <mjscod@gmx.de>.
76205
76206 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
76207
76208         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
76209         Use implementation from Albert Chin, with some
76210         comments/corrections by Stepan Kasal and myself.
76211
76212 2005-12-02  Bruno Haible  <bruno@clisp.org>
76213
76214         * gnulib-tool (func_import): Accept GPLed build tool modules when
76215         --lgpl is given.
76216         * modules/csharpcomp-script: New file.
76217         * modules/csharpcomp: Depend on it.
76218         * modules/javacomp-script: New file.
76219         * modules/javacomp: Depend on it.
76220         Suggested by Simon Josefsson.
76221
76222 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
76223
76224         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
76225         statement, to work around an HP-UX 10.20 compiler bug reported by
76226         Peter O'Gorman.
76227
76228 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76229
76230         * modules/savedir (Depends-on): Add openat.
76231
76232 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76233
76234         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
76235         (uintmax_t) [defined uintmax_t]: Do not declare.
76236         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
76237         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
76238         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
76239         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
76240         sake of portability to weird hosts that C allows (though we don't
76241         know of any practical examples).
76242
76243         * lib/savedir.h (fdsavedir): New decl.
76244         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
76245         contains most of the former guts of savedir.
76246         (savedir): Use savedirstream.
76247         Include "openat.h".
76248
76249 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76250
76251         * modules/obstack (Files): Add m4/ulonglong.m4.
76252         Problem reported by Davide Angelocola.
76253
76254 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76255
76256         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
76257         coreutils no longer futzes with rounding modes.
76258
76259 2005-11-14  Jim Meyering  <jim@meyering.net>
76260
76261         * lib/mkstemp-safer.c: Include <config.h>, required for possible
76262         replacement of mkstemp.
76263
76264 2005-11-10  Simon Josefsson  <jas@extundo.com>
76265
76266         * lib/readline.c: Remove EOL.
76267
76268 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76269
76270         * modules/gethrxtime (Depends-on): Add gettime.
76271
76272 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76273
76274         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
76275         or gettimeofday; no longer needed.
76276
76277 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76278
76279         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
76280         time business.
76281         (gethrxtime) [! (HAVE_NANOUPTIME
76282         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
76283         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
76284         our own approximation.
76285
76286 2005-11-08  Eric Blake  <ebb9@byu.net>
76287
76288         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76289
76290 2005-11-08  Eric Blake  <ebb9@byu.net>
76291
76292         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76293
76294 2005-11-04  Bruno Haible  <bruno@clisp.org>
76295
76296         * gnulib-tool: Implement --update mode.
76297
76298 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76299
76300         Fix porting problem reported by Theodoros V. Kalamatianos.
76301         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
76302         Don't assume that futimes failing means we must fail.
76303
76304 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76305
76306         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
76307         variables to suggest the intended function of the PATH_MAX check.
76308
76309 2005-10-30  Kean Johnston  <jkj@sco.com>
76310
76311         Trivial changes to support SCO systems.
76312         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76313         as PATH_MAX.
76314         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76315         where __ptr is null when no I/O is pending.
76316
76317 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76318
76319         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76320         leave errno alone.  Problem reported by Dmitry V. Levin.
76321
76322 2005-10-28  Simon Josefsson  <jas@extundo.com>
76323
76324         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76325         Test more.
76326
76327         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76328
76329         * modules/md2, modules/md2-tests: New files.
76330
76331 2005-10-28  Simon Josefsson  <jas@extundo.com>
76332
76333         * m4/inet_ntop.m4: More tests.
76334
76335         * m4/gc-md2.m4, md2.m4: New file.
76336
76337 2005-10-28  Simon Josefsson  <jas@extundo.com>
76338
76339         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76340         "restrict" keywords, as per POSIX.  Protect the function
76341         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76342         Don't use K&R prototypes.  Check the sprintf return values.
76343         Re-define EAFNOSUPPORT if not present.  Indent.
76344
76345         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76346         suggested by Bruno Haible <bruno@clisp.org>.
76347
76348         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76349
76350         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76351
76352         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76353         libgcrypt).
76354
76355         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76356
76357         * lib/md2.h, lib/md2.c: New files.
76358
76359 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
76360
76361         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
76362         errno alone.  Problem reported by Frederic Jolliton.
76363
76364 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * modules/verify (License): Change from GPL to LGPL.  This is a
76367         tiny module and there are apparently near-equivalents that are
76368         under the BSD license.
76369
76370 2005-10-24  Simon Josefsson  <jas@extundo.com>
76371
76372         * modules/sha1: Relicense to LGPL.
76373
76374 2005-10-24  Simon Josefsson  <jas@extundo.com>
76375
76376         * lib/md4.h: Shrink buffer size, now that we changed the type.
76377
76378 2005-10-23  Simon Josefsson  <jas@extundo.com>
76379
76380         * gnulib-tool (func_import): Fix --tests-base.
76381
76382 2005-10-22  Simon Josefsson  <jas@extundo.com>
76383
76384         * modules/arcfour (Depends-on): Need stdint.
76385
76386 2005-10-22  Simon Josefsson  <jas@extundo.com>
76387
76388         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76389         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76390
76391 2005-10-22  Simon Josefsson  <jas@extundo.com>
76392
76393         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76394         suggested by Bruno Haible <bruno@clisp.org>.
76395
76396 2005-10-22  Simon Josefsson  <jas@extundo.com>
76397
76398         * lib/crc.h: Include stddef.h, for size_t.
76399
76400 2005-10-22  Simon Josefsson  <jas@extundo.com>
76401
76402         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76403         arcfour_context struct (simplify test vector testing in GNU
76404         Shishi).
76405
76406 2005-10-21  Simon Josefsson  <jas@extundo.com>
76407
76408         * modules/des, modules/des-tests: New files.
76409
76410         * modules/gc-des, modules/gc-des-tests: New files.
76411
76412         * tests/test-des.c, tests/test-gc-des.c: New file.
76413
76414 2005-10-21  Simon Josefsson  <jas@extundo.com>
76415
76416         * modules/arctwo, modules/arctwo-tests: New files.
76417
76418         * tests/test-arctwo.c: New file.
76419
76420         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
76421
76422         * tests/test-gc-arctwo.c: New file.
76423
76424 2005-10-21  Simon Josefsson  <jas@extundo.com>
76425
76426         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
76427         Bruno Haible <bruno@clisp.org>.
76428
76429         * m4/gc-des.m4: New file.
76430
76431 2005-10-21  Simon Josefsson  <jas@extundo.com>
76432
76433         * m4/arctwo.m4: New file.
76434
76435         * m4/gc-arctwo.m4: New file.
76436
76437 2005-10-21  Simon Josefsson  <jas@extundo.com>
76438
76439         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
76440         block.
76441
76442 2005-10-21  Simon Josefsson  <jas@extundo.com>
76443
76444         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
76445         <bruno@clisp.org>.
76446
76447         * lib/hmac-sha1.c (hmac_sha1): Likewise.
76448
76449         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
76450         Bruno Haible <bruno@clisp.org>.
76451
76452         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
76453         <bruno@clisp.org>.
76454
76455 2005-10-21  Simon Josefsson  <jas@extundo.com>
76456
76457         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
76458
76459 2005-10-21  Simon Josefsson  <jas@extundo.com>
76460
76461         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
76462
76463 2005-10-21  Simon Josefsson  <jas@extundo.com>
76464
76465         * lib/des.h, lib/des.c: New files.
76466
76467         * lib/gc-gnulib.c: Support DES.c
76468
76469 2005-10-21  Simon Josefsson  <jas@extundo.com>
76470
76471         * lib/arctwo.h, lib/arctwo.c: New files.
76472
76473         * lib/gc-gnulib.c: Support ARCTWO.
76474
76475 2005-10-21  Simon Josefsson  <jas@extundo.com>
76476
76477         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
76478         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76479
76480 2005-10-21  Simon Josefsson  <jas@extundo.com>
76481
76482         * gnulib-tool (func_import, func_create_testdir): Define automake
76483         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76484         Makefile.am snippet),
76485         suggested by Bruno Haible <bruno@clisp.org>.
76486
76487         * modules/gc (Makefile.am): Use it.
76488
76489 2005-10-21  Bruno Haible  <bruno@clisp.org>
76490
76491         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76492         patch.
76493
76494 2005-10-19  Simon Josefsson  <jas@extundo.com>
76495
76496         * tests/test-gc-rijndael.c: New file.
76497
76498         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76499
76500 2005-10-19  Simon Josefsson  <jas@extundo.com>
76501
76502         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76503         interface too.
76504
76505 2005-10-19  Simon Josefsson  <jas@extundo.com>
76506
76507         * tests/test-gc-arcfour.c: New file.
76508
76509         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76510
76511 2005-10-19  Simon Josefsson  <jas@extundo.com>
76512
76513         * modules/gc-md4, modules/gc-md4-tests: New file.
76514
76515         * tests/test-gc-md4.c: New file.
76516
76517 2005-10-19  Simon Josefsson  <jas@extundo.com>
76518
76519         * m4/gc-md4.m4: New file.
76520
76521 2005-10-19  Simon Josefsson  <jas@extundo.com>
76522
76523         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76524         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76525         <kasal@ucw.cz>.
76526
76527 2005-10-19  Simon Josefsson  <jas@extundo.com>
76528
76529         * m4/gc-arcfour.m4: New file.
76530
76531         * m4/gc-rijndael.m4: New file.
76532
76533 2005-10-19  Simon Josefsson  <jas@extundo.com>
76534
76535         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76536
76537 2005-10-19  Simon Josefsson  <jas@extundo.com>
76538
76539         * lib/gc-gnulib.c: Support ARCFOUR.
76540
76541 2005-10-19  Simon Josefsson  <jas@extundo.com>
76542
76543         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76544         support.
76545
76546         * lib/gc.h: Add ECB enum type.
76547
76548         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76549
76550 2005-10-18  Simon Josefsson  <jas@extundo.com>
76551
76552         * tests/test-md5.c: New file.
76553
76554         * modules/md5-tests: New file.
76555
76556 2005-10-18  Simon Josefsson  <jas@extundo.com>
76557
76558         * tests/test-md4.c: New file.
76559
76560         * modules/md4, modules/md4-tests: New files.
76561
76562 2005-10-18  Simon Josefsson  <jas@extundo.com>
76563
76564         * m4/md4.m4: New file.
76565
76566 2005-10-18  Simon Josefsson  <jas@extundo.com>
76567
76568         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76569
76570 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76571
76572         * gnulib-tool (func_create_testdir): Omit the second check whether
76573         BUILT_SOURCES in nonempty.
76574
76575 2005-10-17  Simon Josefsson  <jas@extundo.com>
76576
76577         * tests/test-rijndael.c: New file.
76578
76579 2005-10-17  Simon Josefsson  <jas@extundo.com>
76580
76581         * modules/sha1: Depend on stdint instead of md5.
76582
76583         * modules/md5: Depend on stdint, remove uint32_t.
76584
76585 2005-10-17  Simon Josefsson  <jas@extundo.com>
76586
76587         * modules/gc-sha1-tests: New file.
76588
76589         * tests/test-gc-sha1.c: New file.
76590
76591 2005-10-17  Simon Josefsson  <jas@extundo.com>
76592
76593         * m4/md5.m4: Remove call to uint32_t.m4.
76594
76595 2005-10-17  Simon Josefsson  <jas@extundo.com>
76596
76597         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76598
76599         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76600         md5.h.
76601
76602         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76603
76604         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76605
76606 2005-10-17  Simon Josefsson  <jas@extundo.com>
76607
76608         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76609
76610 2005-10-17  Simon Josefsson  <jas@extundo.com>
76611
76612         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76613
76614 2005-10-17  Simon Josefsson  <jas@extundo.com>
76615
76616         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76617
76618         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76619
76620 2005-10-17  Bruno Haible  <bruno@clisp.org>
76621
76622         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76623         that it can also be used in a test.
76624
76625 2005-10-16  Bruno Haible  <bruno@clisp.org>
76626
76627         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76628         TESTS_ENVIRONMENT, so that individual tests can augment it.
76629
76630         * gnulib-tool (func_create_testdir): Use an intermediate target for
76631         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76632         macros, like $(ALLOCA_H), which cannot be passed through the command
76633         line.
76634
76635 2005-10-15  Simon Josefsson  <jas@extundo.com>
76636
76637         * modules/rijndael-tests: New file.
76638
76639         * modules/rijndael: New file.
76640
76641 2005-10-15  Simon Josefsson  <jas@extundo.com>
76642
76643         * m4/rijndael.m4: New file.
76644
76645 2005-10-15  Simon Josefsson  <jas@extundo.com>
76646
76647         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76648
76649         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76650
76651 2005-10-14  Simon Josefsson  <jas@extundo.com>
76652
76653         * tests/test-arcfour.c: New file.
76654
76655         * modules/arcfour, modules/arcfour-tests: New files.
76656
76657 2005-10-14  Simon Josefsson  <jas@extundo.com>
76658
76659         * m4/arcfour.m4: New file.
76660
76661 2005-10-14  Simon Josefsson  <jas@extundo.com>
76662
76663         * lib/arcfour.h, lib/arcfour.c: New files.
76664
76665 2005-10-14  Roland McGrath  <roland@redhat.com>
76666
76667         Import from libc.  [BZ #1331]
76668         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76669         macro argument.
76670         Reported by Matej Vela <vela@debian.org>.
76671
76672 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76673
76674         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76675         include <wchar.h>; no longer needed.
76676
76677 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76678
76679         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76680
76681 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76682         and  Ulrich Drepper  <drepper@redhat.com>
76683
76684         Import from libc.
76685         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76686         instead of inline stream orientation test and two separate
76687         function calls.  Pay no attention to USE_IN_LIBIO.
76688
76689 2005-10-13  Simon Josefsson  <jas@extundo.com>
76690
76691         * modules/gc-hmac-md5-tests: New file.
76692
76693         * tests/test-gc-hmac-sha1.c: New file.
76694
76695         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76696
76697         * modules/gc-hmac-md5-tests: New file.
76698
76699         * tests/test-gc-md5.c: New file.
76700
76701         * modules/gc-md5-tests: New file.
76702
76703 2005-10-13  Simon Josefsson  <jas@extundo.com>
76704
76705         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76706         Move memory allocation outside of loop.
76707
76708 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76709
76710         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76711         intermediate directory is in a read-only file system.  Problem
76712         reported by Eric Blake.
76713
76714 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76715
76716         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76717
76718 2005-10-12  Simon Josefsson  <jas@extundo.com>
76719
76720         * tests/test-hmac-sha1.c: New file.
76721
76722         * modules/hmac-sha1-tests: New file.
76723
76724         * modules/hmac-sha1: New file.
76725
76726 2005-10-12  Simon Josefsson  <jas@extundo.com>
76727
76728         * modules/gc-sha1: New file.
76729
76730 2005-10-12  Simon Josefsson  <jas@extundo.com>
76731
76732         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76733
76734         * tests/test-gc-pbkdf2-sha1.c: New file.
76735
76736 2005-10-12  Simon Josefsson  <jas@extundo.com>
76737
76738         * modules/gc-md5, modules/gc-hmac-md5: New files.
76739
76740         * modules/gc (Files): Remove md5, memxor and hmac files.
76741
76742 2005-10-12  Simon Josefsson  <jas@extundo.com>
76743
76744         * m4/gc-pbkdf2-sha1.m4: New file.
76745
76746         * m4/gc-hmac-sha1.m4: New file.
76747
76748         * m4/gc-sha1: New file.
76749
76750         * m4/hmac-sha1.m4: New file.
76751
76752 2005-10-12  Simon Josefsson  <jas@extundo.com>
76753
76754         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76755
76756         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76757
76758 2005-10-12  Simon Josefsson  <jas@extundo.com>
76759
76760         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76761         suggested by Bruno Haible <bruno@clisp.org>.
76762
76763 2005-10-12  Simon Josefsson  <jas@extundo.com>
76764
76765         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76766
76767 2005-10-12  Simon Josefsson  <jas@extundo.com>
76768
76769         * lib/gc-pbkdf2-sha1.c: New file.
76770
76771         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76772
76773 2005-10-12  Simon Josefsson  <jas@extundo.com>
76774
76775         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76776
76777         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76778
76779 2005-10-12  Simon Josefsson  <jas@extundo.com>
76780
76781         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76782         GC_USE_HMAC_MD5, respectively.
76783
76784         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76785         (gc_md5): Fix typo.
76786
76787         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76788
76789         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76790
76791         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76792
76793 2005-10-12  Bruno Haible  <bruno@clisp.org>
76794
76795         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76796         Reported by Stepan Kasal <kasal@ucw.cz>.
76797
76798 2005-10-11  Simon Josefsson  <jas@extundo.com>
76799
76800         * tests/test-crc.c: New file.
76801
76802         * modules/crc, modules/crc-tests: New files.
76803
76804 2005-10-11  Simon Josefsson  <jas@extundo.com>
76805
76806         * m4/crc.m4: New file.
76807
76808 2005-10-11  Simon Josefsson  <jas@extundo.com>
76809
76810         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76811
76812         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76813
76814         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76815
76816 2005-10-11  Simon Josefsson  <jas@extundo.com>
76817
76818         * lib/crc.h, lib/crc.c: New files.
76819
76820         * lib/gc.h (gc_hash_buffer): Add doc.
76821
76822 2005-10-11  Bruno Haible  <bruno@clisp.org>
76823
76824         * modules/c-strcasestr: New file.
76825         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76826
76827 2005-10-11  Bruno Haible  <bruno@clisp.org>
76828
76829         * modules/c-strcase: New file.
76830         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76831
76832 2005-10-11  Bruno Haible  <bruno@clisp.org>
76833
76834         * lib/strcasecmp.c: Include limits.h.
76835         (strcasecmp): Avoid integer overflow on exotic platforms.
76836         * lib/strncasecmp.c: Include limits.h.
76837         (strncasecmp): Avoid integer overflow on exotic platforms.
76838         Reported by Paul Eggert.
76839
76840 2005-10-11  Bruno Haible  <bruno@clisp.org>
76841
76842         * lib/c-strcasestr.h: New file, from GNU gettext.
76843         * lib/c-strcasestr.c: New file, from GNU gettext.
76844
76845 2005-10-11  Bruno Haible  <bruno@clisp.org>
76846
76847         * lib/c-strcase.h: New file, from GNU gettext.
76848         * lib/c-strcasecmp.c: New file, from GNU gettext.
76849         * lib/c-strncasecmp.c: New file, from GNU gettext.
76850
76851 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76852
76853         * modules/mempcpy (License): GPL -> LGPL.
76854         * modules/strchrnul (License): Likewise.
76855         * modules/sysexits (License): Likewise.
76856
76857 2005-10-08  Simon Josefsson  <jas@extundo.com>
76858
76859         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76860
76861 2005-10-07  Simon Josefsson  <jas@extundo.com>
76862
76863         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76864
76865 2005-10-06  Simon Josefsson  <jas@extundo.com>
76866
76867         * tests/test-hmac-md5.c: New file.
76868
76869         * modules/hmac-md5-tests: New file.
76870
76871         * modules/hmac-md5: New file.
76872
76873 2005-10-06  Simon Josefsson  <jas@extundo.com>
76874
76875         * m4/hmac-md5.m4: New file.
76876
76877         * m4/memxor.m4: Require gl_C_RESTRICT.
76878
76879 2005-10-06  Simon Josefsson  <jas@extundo.com>
76880
76881         * lib/memxor.c (memxor): Avoid casts and warnings.
76882
76883 2005-10-06  Simon Josefsson  <jas@extundo.com>
76884
76885         * lib/hmac-md5.c: New file.
76886
76887         * lib/hmac.h: New file.
76888
76889 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76890
76891         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76892         promotes to int, not unsigned int, to catch the AIX 5.3
76893         compiler bug.
76894
76895 2005-10-05  Simon Josefsson  <jas@extundo.com>
76896
76897         * modules/memxor: New file.
76898
76899         * modules/iconv (Files): Move config.rpath to havelib, it is used
76900         there.
76901
76902         * modules/havelib (Files): Add config.rpath.
76903
76904 2005-10-05  Simon Josefsson  <jas@extundo.com>
76905
76906         * m4/memxor.m4: New file.
76907
76908 2005-10-05  Simon Josefsson  <jas@extundo.com>
76909
76910         * lib/memxor.c (memxor): Fix compiler error.
76911
76912         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76913         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76914
76915         * lib/memxor.h, lib/memxor.c: New files.
76916
76917         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76918         we assume all systems have it, suggested by Jim Meyering
76919         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76920         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76921         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76922         same reasons.
76923
76924 2005-10-05  Simon Josefsson  <jas@extundo.com>
76925
76926         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76927
76928 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76929
76930         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76931         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76932         needed, since the source code now assumes these .h files.
76933
76934 2005-10-05  Derek Price  <derek@ximbiot.com>
76935
76936         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76937
76938 2005-10-05  Bruno Haible  <bruno@clisp.org>
76939
76940         * modules/stdint (License): Change to LGPL.
76941
76942 2005-10-04  Simon Josefsson  <jas@extundo.com>
76943
76944         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76945         D. Baushke" <mdb@gnu.org>.
76946
76947 2005-10-04  Bruno Haible  <bruno@clisp.org>
76948
76949         * lib/verify.h (verify_true): Provide alternative definition for C++.
76950
76951 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76952
76953         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76954         (SSIZE_MAX): New macro, if not already defined.
76955         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76956         than 2 GiB.
76957
76958 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76959
76960         Sync from coreutils.
76961         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76962         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76963         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76964         ULLONG_MAX doesn't work with 2.7.2.1.
76965
76966 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76967
76968         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76969         From Ben Pfaff.
76970
76971         * modules/exclude (Depends-on): Depend on verify.
76972         * modules/strtoimax (Depends-on): Likewise.
76973         * modules/utimecmp (Depends-on): Likewise.
76974
76975 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76976
76977         * lib/exclude.c: Include verify.h.
76978         (verify): Remove.  All callers changed to use verify.h's version.
76979         * lib/strtoimax.c: Likewise.
76980         * lib/utimecmp.c: Likewis.e
76981
76982         Sync from coreutils.
76983         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76984         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76985         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76986         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76987         bother returning ENOSYS if settimeofday or stime fails; just let
76988         them return whatever errno they want to return.
76989         * lib/utimens.c: Include unistd.h, for dup2.
76990         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76991         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76992
76993 2005-10-02  Jim Meyering  <jim@meyering.net>
76994
76995         Sync from coreutils.
76996         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76997         from glibc-2.2.5 that fails for read-only files.
76998
76999 2005-10-02  Jim Meyering  <jim@meyering.net>
77000
77001         Sync from coreutils.
77002         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77003         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77004         `#if HAVE_CONFIG_H'.
77005         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77006         Remove AT_FDCWD test.
77007         Do not consume the fd unless successful.
77008         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77009         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77010         block, so that we don't even try to compile it if settimeofday is
77011         available.  This works around a compilation failure on OSF1 V5.1,
77012         due to stime requiring a `long int*' while tv_sec is `int'.
77013
77014 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77015
77016         Sync from coreutils.
77017         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77018         against `yes', rather than just testing for nonempty.
77019
77020 2005-10-01  Simon Josefsson  <jas@extundo.com>
77021
77022         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77023         and Darwin.
77024
77025         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77026         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77027         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77028         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77029         Check if struct addrinfo is declared.
77030
77031 2005-10-01  Simon Josefsson  <jas@extundo.com>
77032
77033         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77034         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77035         AI_* and EAI_* definitions.  Protect function declarations.
77036
77037 2005-10-01  Jim Meyering  <jim@meyering.net>
77038
77039         Sync from coreutils.
77040
77041         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77042         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77043         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77044         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77045         in the inet and nsl libraries.  Required on Solaris 5.7.
77046
77047 2005-10-01  Jim Meyering  <jim@meyering.net>
77048
77049         Sync from coreutils.
77050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77051         in the inet and nsl libraries.  Required on Solaris 5.7.
77052
77053 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77054
77055         * lib/getdelim.c (getdelim): Remove unused variables.
77056
77057 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77058
77059         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77060         so that the code works even with ancient cpp.  Portability problem
77061         with GCC 2.7.2.1 reported by Thomas M.Ott.
77062
77063 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77064
77065         * modules/regex (Depends-on): Add strcase.
77066
77067         * modules/gethostname (Licence): Change from GPL to LGPL, since
77068         gethostname.c is a trivial implementation of a standard library
77069         function.
77070         * modules/poll (License): Change from GPL to LGPL, since it's
77071         derived from LGPL code.
77072
77073 2005-09-27  Jim Meyering  <jim@meyering.net>
77074
77075         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77076         HAVE_CONFIG_H.
77077
77078         * lib/intprops.h (signed_type_or_expr__): Define.
77079         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77080         for unsigned types.
77081
77082 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77083
77084         * lib/verify.h (verify_expr): Remove, replacing with:
77085         (verify_true): New macro that returns true instead of void.
77086         (verify_type__): Remove.
77087         (verify): Use verify_true rather than verify_type__.
77088
77089 2005-09-26  Bruno Haible  <bruno@clisp.org>
77090
77091         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77092         is necessary.
77093         (lib_SOURCES): Remove mbchar.c.
77094         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77095         (Files): Add m4/mbrtowc.m4.
77096         * modules/mbiter: Likewise.
77097         * modules/mbuiter: Likewise.
77098
77099 2005-09-26  Bruno Haible  <bruno@clisp.org>
77100
77101         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77102         compile mbchar.c if they are not both present.
77103         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77104         * m4/mbiter.m4 (gl_MBITER): Likewise.
77105         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77106         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77107         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77108
77109 2005-09-25  Jim Meyering  <jim@meyering.net>
77110
77111         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77112         also uses socklen_t.
77113
77114 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77115
77116         * lib/utimens.c (ENOSYS): Define if not already defined.
77117         (futimens): Support having a null PATH if the file descriptor
77118         is nonnegative.
77119
77120         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77121         Remove.
77122         (__attribute): Define to empty unless GCC 3.1 or later.
77123         This works around a core dump on OpenBSD 3.4, which has GCC
77124         2.95.3, which dumps core when given __attribute__(()).  It also
77125         simplifies other tests, since we really don't want to bother with
77126         worrying about which ancient version of GCC supported what.
77127         Original problem reported by Yoann Vandoorselaere, with part of
77128         the fix suggested by Derek Price.
77129
77130 2005-09-24  Jim Meyering  <jim@meyering.net>
77131
77132         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77133         so we can once again use a positive bitfield width of 1 -- now we
77134         don't have to explain why we were using a bitfield width of 2.
77135
77136 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77137
77138         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77139         and similarly for the other external symbols.  Problem reported
77140         by James Gallager.
77141
77142         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77143         bug reported by Jim Meyering.
77144
77145         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77146         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77147         not needed, since socklen is a prerequisite module.
77148
77149 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77150
77151         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77152         Problem reported by Eric Blake.
77153         (getaddrinfo): Initialize se so that it's not garbage.
77154         Redo internal storage allocation so that it doesn't make unportable
77155         assumptions about alignment.
77156         Fix a memory leak.
77157
77158         * lib/utimens.c (futimens): Use futimesat if available.
77159         Prefer it to futimes since it doesn't have the futimes bug.
77160
77161         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77162         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77163         Instead, declare a function that returns a pointer to an array,
77164         and use verify_type__ to declare the size of the array.
77165         Problem and germ of a solution reported by Bruno Haible.
77166         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77167         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77168
77169 2005-09-23  Jim Meyering  <jim@meyering.net>
77170
77171         Sync from coreutils.
77172         Correct build failure (socklen_t not defined) on at least
77173         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77174         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77175
77176 2005-09-23  Jim Meyering  <jim@meyering.net>
77177
77178         * modules/getaddrinfo (Depends-on): Add socklen.
77179
77180 2005-09-23  Bruno Haible  <bruno@clisp.org>
77181
77182         * tests/test-verify.c: New file.
77183
77184 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77185
77186         Sync from coreutils.
77187
77188         * modules/argmatch (Depends-on): Add verify.
77189         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
77190         unistd-safer.
77191         * modules/save-cwd (Depends-on): Likewise.
77192
77193         * modules/openat (Files): Add lib/openat-die.c.
77194         (Depends-on): Remove error, exitfail.
77195         Add dirname.
77196
77197         * modules/verify: New file.
77198         * MODULES.html.sh (Diagnostics <assert.h>): New section,
77199         with "verify" module.
77200
77201 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77202
77203         Sync from coreutils.
77204
77205         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
77206         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
77207         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
77208         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
77209         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
77210         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
77211         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
77212         Don't bother checking for string.h, stdlib.h, unistd.h.
77213         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
77214         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
77215         module's job.
77216         * m4/jm-macros.m4 (gl_MACROS): Likewise.
77217         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
77218
77219         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
77220         (gl_GETDATE): Use it.
77221
77222         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
77223
77224 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77225
77226         Sync from coreutils.
77227
77228         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
77229         stat-time.h.
77230         * lib/argmatch.h: Include verify.h
77231         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
77232         (ARGMATCH_ASSERT): Remove; unused.
77233         * lib/canonicalize.c: Assume STDC_HEADERS.
77234         * lib/exclude.c: Include "strcase.h".
77235         * lib/regex_internal.h [!defined _LIBC]: Likewise.
77236         * lib/getusershell.c: Include stdio--.h rather than stdio.h
77237         and stdio-safer.h.
77238         (getusershell): Call fopen, not fopen_safer.
77239         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
77240         Do not include unistd-safer.h.
77241         (save_cwd): Don't call fd_safer; no longer needed
77242         now that we include fcntl--.h.
77243
77244         * lib/getdate.y (relative_time): New type.
77245         (RELATIVE_TIME_0): New constant.
77246         (parser_control): Use relative_time instead of doing it ourselves.
77247         (%union): Add new relative_time rel member.
77248         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
77249         Now typeless.
77250         (relunit, relunit_snumber): Now of type rel.
77251         (zone, rel, relunit, get_date): Adjust to above changes.
77252
77253         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
77254         Do not include unistd-safer.h.
77255         (getloadavg): Don't call fd_safer; no longer needed
77256         now that we include fcntl--.h.
77257
77258         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
77259         (make_dir_parents): Treat ENOSYS like EEXIST.
77260
77261         Improve quality of diagnostics on restore_cwd failure.
77262         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
77263         (make_dir_parents): Last arg is now int * (for errno), not bool *.
77264         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
77265         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
77266         each time through the loop.  Do not diagnose restore_cwd failure;
77267         that is the caller's job (and perhaps the caller does not care).
77268
77269         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
77270         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
77271         If the file already exists but is not a directory, don't bother
77272         to try to make its parents.
77273         Close potential file descriptor leak if we can't chdir("/") (!).
77274         Don't always return true if chdir($PWD) fails; return true only
77275         if the requested action was done successfully (except for the
77276         chdir($PWD)).
77277         Don't log final directory unless we actually made it.
77278         Refactor to avoid duplicate code to fix up permissions.
77279         Don't attempt to fix up parent permissions if chdir($PWD) fails.
77280
77281         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
77282         to make it a bit faster and (I hope) clearer.
77283         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
77284         Fix bug in formats like %2N.
77285
77286         * lib/verify.h: New file.
77287
77288 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77289
77290         Sync from coreutils.
77291         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
77292
77293 2005-09-22  Jim Meyering  <jim@meyering.net>
77294
77295         Sync from coreutils.
77296
77297         * m4/lstat.m4 (gl_FUNC_LSTAT):
77298         Use AC_LIBSOURCES to require lstat.c and lstat.h.
77299         Remove obsolete comment.
77300         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
77301         * m4/xstrtod.m4: Likewise.
77302
77303         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
77304
77305 2005-09-22  Jim Meyering  <jim@meyering.net>
77306
77307         Sync from coreutils.
77308
77309         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77310
77311         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77312         the .tm_year member, since otherwise gcc-4.0 would now warn about
77313         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77314
77315         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77316         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77317
77318         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77319         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77320         when run in a time zone for which daylight savings time is in effect
77321         for the starting date.
77322
77323         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77324         stop us from restricting permissions of just-created absolute-named
77325         directories.
77326         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77327         to restore initial working directory.
77328         * lib/mkdir-p.c (make_dir_parents): New parameter:
77329         different_working_dir, to tell caller if/when we change the working
77330         directory and are unable to return to the initial one.
77331         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77332         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77333         `return false'.  This fixes a bug introduced on 2004-07-30.
77334
77335         * lib/openat.c (fdopendir): Be sure to close the supplied
77336         file descriptor before returning.  This makes our replacement
77337         implementation a little closer to Solaris's, where fdopendir
77338         ties the file descriptor to the returned DIR* pointer.
77339         * lib/openat.c (unlinkat): New function.
77340         * lib/openat.h (unlinkat): Add prototype.
77341         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77342         (openat_restore_fail): Rename from openat_restore_die.
77343         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77344
77345         Provide an alternative to exiting immediately upon save_cwd or
77346         restore_cwd failure.  Now, an application can arrange e.g.,
77347         to perform a longjump in that case.
77348         * lib/openat.c: Include dirname.h.
77349         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77350         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77351         and openat_restore_die rather than calling error directly.
77352         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77353
77354         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77355         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77356         define.
77357
77358         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
77359         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
77360                             int utc, int nanoseconds);
77361         Background:
77362         date should not have to allocate a megabyte of virtual memory to
77363         handle a format argument like +%1048575T.  When implemented with
77364         strftime, it must allocate such a buffer, use strftime to fill it
77365         in, print it, then free it.
77366         With fprintftime, it simply prints everything and exits.
77367         With no need for memory allocation, that's one fewer way to fail.
77368         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
77369         optional field width, not before, so we accept %9:z, not %:9z.
77370         (my_strftime): Be sure to use L_('x') for literals.
77371
77372         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
77373         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
77374         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
77375         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
77376         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
77377         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77378         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77379         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77380         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77381         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77382         * lib/xgethostname.c, lib/xreadlink.c:
77383         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77384
77385         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77386         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77387         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77388         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77389         and don't include <sys/file.h>).
77390
77391 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77392
77393         Sync from coreutils.
77394
77395         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77396         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77397         [!LDAV_DONE]: Avoid unused variable warning.
77398
77399 2005-09-21  Bruno Haible  <bruno@clisp.org>
77400
77401         * lib/unicodeio.h (unicode_to_mb): New declaration.
77402
77403 2005-09-20  Derek Price  <derek@ximbiot.com>
77404
77405         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77406         getaddrinfo.h.
77407
77408 2005-09-20  Bruno Haible  <bruno@clisp.org>
77409
77410         * gnulib-tool: Remove trailing slashes from the values specified for
77411         --source-base, --m4-base, --tests-base, --aux-dir.
77412         Suggested by Simon Josefsson <jas@extundo.com>.
77413
77414 2005-09-20  Bruno Haible  <bruno@clisp.org>
77415
77416         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
77417         func_modules_to_filelist, func_import, func_create_testdir): Make all
77418         sorting results locale-independent, so that gnulib-cache.m4 doesn't
77419         change when gnulib-tool is invoked in a different locale.
77420
77421 2005-09-19  Simon Josefsson  <jas@extundo.com>
77422
77423         * m4/socklen.m4: Fix typo.
77424
77425 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77426
77427         Use a consistent style for including <config.h>.
77428         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
77429         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
77430         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
77431         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
77432         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
77433         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
77434         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
77435         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
77436         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
77437         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
77438         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
77439         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
77440         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
77441         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
77442         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
77443         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
77444         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
77445         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
77446         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
77447         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
77448         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
77449         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
77450         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
77451         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
77452         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
77453         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
77454         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
77455         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
77456         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
77457         lib/xstrtoumax.c, lib/yesno.c:
77458         Standardize inclusion of config.h.
77459         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
77460         lib/inttostr.h:  Removed inclusion of config.h from header files.
77461         * lib/inttostr.c:  Adjusted in-tree users.
77462         * lib/timespec.h: Remove superfluous warning to include config.h.
77463         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
77464         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
77465         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
77466         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
77467         config.h with HAVE_CONFIG_H.
77468
77469 2005-09-19  Jim Meyering  <jim@meyering.net>
77470
77471         * modules/pathmax (License): Change to LGPL.
77472
77473 2005-09-19  Derek Price  <derek@ximbiot.com>
77474
77475         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
77476
77477 2005-09-19  Bruno Haible  <bruno@clisp.org>
77478
77479         * gnulib-tool (import): Provide default for --tests-base.
77480
77481 2005-09-19  Bruno Haible  <bruno@clisp.org>
77482
77483         * doc/quote.texi: New file, extracted from gnulib.texi.
77484         * doc/ctime.texi: New file, extracted from gnulib.texi.
77485         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77486         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77487         * doc/gnulib.texi: Include them.
77488
77489 2005-09-18  Bruno Haible  <bruno@clisp.org>
77490
77491         Portability fix.
77492         * gnulib-tool (func_readlink): New function.
77493         (func_ln_if_changed): Use it.
77494
77495 2005-09-18  Bruno Haible  <bruno@clisp.org>
77496
77497         * gnulib-tool: Support --with-tests also with --import.
77498         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77499         (func_import): Use variables $testsbase and $inctests. Emit a
77500         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77501         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77502         SUBDIRS += $testsdir.
77503         (func_create_testdir): Update.
77504
77505 2005-09-18  Bruno Haible  <bruno@clisp.org>
77506
77507         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77508         instead of $dry_run.
77509         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77510         (func_ln_if_changed): Don't handle dry-run here.
77511         (func_import): In dry-run mode, detect more precisely which actions
77512         would be performed, and don't use "...ing" verbs.
77513
77514 2005-09-18  Bruno Haible  <bruno@clisp.org>
77515
77516         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77517         (func_import): Use join on two temporary files instead of three nested
77518         loops, in order to determine which files are new or old.
77519
77520 2005-09-18  Bruno Haible  <bruno@clisp.org>
77521
77522         * gnulib-tool (func_import): Comment out code that spits out the
77523         new files with --dry-run.
77524
77525 2005-09-18  Bruno Haible  <bruno@clisp.org>
77526
77527         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77528
77529 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77530
77531         * lib/stat-time.h: New file.
77532         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77533         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77534         in a different way.
77535         (timespec_cmp): New function.
77536         * lib/utimecmp.c: Include stat-time.h.
77537         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77538         members exist, not on the obsolescent ST_MTIM_NSEC.
77539         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77540
77541 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77542
77543         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77544
77545 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         * MODULES.html.sh (File system functions): Add stat-time.
77548         * modules/stat-time: New file.
77549         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77550         is now done in a different way, by the stat-time module.
77551         * modules/utimecmp (Depends-on): Add stat-time.
77552
77553 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77554
77555         * m4/st_mtim.m4: Remove.  Superseded by...
77556         * m4/stat-time.m4: New file.
77557         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77558         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77559
77560 2005-09-15  Derek Price  <derek@ximbiot.com>
77561
77562         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77563
77564 2005-09-15  Derek Price  <derek@ximbiot.com>
77565
77566         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77567         * lib/regex_internal.c: Ditto, using this...
77568         (__GNUC_PREREQ): ...new macro.
77569         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77570         using...
77571         (__GNUC_PREREQ): ...this new macro.
77572
77573         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77574
77575 2005-09-15  Derek Price  <derek@ximbiot.com>
77576             Paul Eggert  <eggert@cs.ucla.edu>
77577
77578         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77579         changes, consolidating in...
77580         * lib/regex_internal.h: ...this file.
77581
77582 2005-09-13  Jim Meyering  <jim@meyering.net>
77583
77584         * lib/canon-host.c: Filter through gnu indent and reword comments
77585         slightly.
77586         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77587
77588 2005-09-13  Derek Price  <derek@ximbiot.com>
77589
77590         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77591         failure.
77592         Reported by Jim Meyering  <jim@meyering.net>.
77593
77594 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77595
77596         * lib/base64.c: Typo.
77597         (base64_encode): Put b64str in initialized data section.
77598
77599 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77600
77601         Merge glibc and coreutils changes into gnulib, plus a few
77602         extra fixes.
77603         * lib/md5.c: Use #error rather than a string.
77604         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77605         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77606         (__attribute__): Define to empty for non recent-GCC.
77607         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77608         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77609         Renamed from their non-__ counterparts, with new macros replacing
77610         them if not _LIBC.  Add __THROW attribute.
77611         (rol): Remove.
77612         (struct md5_ctx): Align buffer if using GCC.
77613         * lib/sha1.h (struct sha1_ctx): Likewise.
77614         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77615         The old name was backwards.
77616         (NOTSWAP): Remove; not used.
77617         (rol): New macro, moved here from md5.h.
77618         (sha1_process_block): Remove a FIXME that doesn't make sense.
77619
77620 2005-09-12  Derek Price  <derek@ximbiot.com>
77621
77622         Return usable errors from canon-host.
77623         * lib/canon-host.h: New file.
77624         * lib/canon-host.c (canon_host): Wrap...
77625         (canon_host_r): ...this new function, which now relies exclusively on
77626         getaddrinfo.
77627         (ch_strerror): New function.
77628         (last_cherror): New global.
77629         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77630         interface.
77631         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77632         void *.
77633         (freeaddrinfo): Free ai->ai_canonname when set.
77634
77635 2005-09-12  Derek Price  <derek@ximbiot.com>
77636
77637         Make canon-host require getaddrinfo.
77638         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77639         AC_LIBSOURCE canon-host.h.  Call...
77640         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77641         gl_GETADDRINFO.
77642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77643
77644 2005-09-12  Derek Price  <derek@ximbiot.com>
77645
77646         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77647         LGPL.
77648         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77649
77650 2005-09-12  Derek Price  <derek@ximbiot.com>
77651
77652         * lib/gai_strerror.c: Include config.h when available.  Include
77653         getaddrinfo.h before other headers to test interface.
77654         Reported by Larry Jones <lawrence.jones@ugs.com>.
77655
77656 2005-09-12  Derek Price  <derek@ximbiot.com>
77657             Paul Eggert  <eggert@cs.ucla.edu>
77658
77659         * modules/glob (Files): Add glob-libc.h.
77660
77661 2005-09-12  Derek Price  <derek@ximbiot.com>
77662             Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77665         glob_.h, glob-libc.h.
77666         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77667
77668 2005-09-12  Derek Price  <derek@ximbiot.com>
77669             Paul Eggert  <eggert@cs.ucla.edu>
77670
77671         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77672         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77673         protecting things that should be done only in gnulib contexts.
77674         * lib/glob_.h: New file, containing only the glob things needed for
77675         gnulib.
77676         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77677         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77678         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77679         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77680         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77681         and to respect the namespace rules better.
77682
77683 2005-09-08  Simon Josefsson  <jas@extundo.com>
77684
77685         * modules/socklen: New file.
77686
77687 2005-09-08  Simon Josefsson  <jas@extundo.com>
77688
77689         * m4/socklen.m4: New file.
77690
77691 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77692
77693         * modules/utimens (Files): Add m4/utimbuf.m4, since
77694         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77695         Reported by Sergey Poznyakoff.
77696
77697 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77700         definitions, since that's the preferred style in glibc.
77701         Fix a minor spacing issue, and update copyright notice to match
77702         glibc's.
77703
77704 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77705
77706         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77707
77708 2005-09-06  Simon Josefsson  <jas@extundo.com>
77709
77710         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77711         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77712
77713 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77714
77715         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77716         warning.
77717
77718 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * config/srclist.txt: Add glibc bug 1302.
77721
77722 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77723
77724         Change bitset word type from unsigned int to unsigned long int,
77725         as this has better performance on typical 64-bit hosts.
77726         Port bitset code to hosts with unusual word sizes.
77727         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77728         (build_collating_symbol):
77729         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77730         argument is a bitset.  This is merely a style issue, but it makes
77731         it clearer that an entire array is expected.
77732         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77733         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77734         Port to the case where bitset_word is not the same as unsigned int.
77735         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77736         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77737         Likewise.
77738         * lib/regexec.c (check_dst_limits_calc_pos_1,
77739         check_subexp_matching_top):
77740         (build_trtable, group_nodes_into_DFAstates):
77741         Likewise.
77742         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77743         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77744         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77745         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77746         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77747         * lib/regcomp.c (optimize_subexps, lower_subexp):
77748         Work even if bitset_word has holes in its bitwise representation.
77749         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77750         * lib/regexec.c (check_dst_limits_calc_pos_1,
77751         check_subexp_matching_top):
77752         Likewise.
77753         * lib/regex_internal.c (re_string_reconstruct):
77754         Don't assume UCHAR_MAX == 255.
77755         * lib/regex_internal.h (bitset_set_all): Likewise.
77756         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77757         All uses changed.
77758         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77759         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77760         All uses changed.
77761         (BITSET_WORD_MAX): New macro.
77762         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77763         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77764         (bitset_empty, bitset_copy):
77765         Prefer sizeof (bitset) to multiplying it out ourselves.
77766         (bitset_not_merge): Remove; unused.
77767         (bitset_contain): Return bool, not unsigned int with one bit on.
77768         All callers changed.
77769         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77770         alignment than re_node_set; do this by defining a new internal
77771         type struct dests_alloc and using it to allocate memory.
77772
77773 2005-09-05  Bruno Haible  <bruno@clisp.org>
77774
77775         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77776         links.
77777
77778 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77779
77780         * modules/size_max (Makefile.am): Add size_max.h
77781
77782 2005-09-04  Derek Price  <derek@ximbiot.com>
77783
77784         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77785
77786 2005-09-03  Simon Josefsson  <jas@extundo.com>
77787
77788         * gnulib-tool: Fix typo.
77789
77790 2005-09-03  Simon Josefsson  <jas@extundo.com>
77791
77792         * config/srclist.txt: Add glibc bug 1293.
77793
77794 2005-09-03  Derek Price  <derek@ximbiot.com>
77795
77796         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77797         From Larry Jones <lawrence.jones@ugs.com>.
77798
77799 2005-09-02  Simon Josefsson  <jas@extundo.com>
77800
77801         * modules/socklen: New file.
77802
77803 2005-09-02  Simon Josefsson  <jas@extundo.com>
77804
77805         * modules/havelib: New module.
77806
77807         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77808         Use havelib.
77809
77810 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77811
77812         Check for arithmetic overflow when calculating sizes, to prevent
77813         some buffer-overflow issues.  These patches are conservative, in the
77814         sense that when I couldn't determine whether an overflow was possible,
77815         I inserted a run-time check.
77816         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77817         macros.
77818         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77819         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77820         (re_xnrealloc, re_x2nrealloc): New inline functions.
77821         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77822         parse_bracket_exp):
77823         (build_equiv_class, build_charclass): Check for arithmetic overflow
77824         in size expression calculations.
77825         * lib/regex_internal.c (re_string_realloc_buffers):
77826         (build_wcs_upper_buffer, re_node_set_add_intersect):
77827         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77828         (re_dfa_add_node, register_state): Likewise.
77829         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77830         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77831         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77832         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77833
77834 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77835
77836         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77837         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77838
77839 2005-09-02  Bruno Haible  <bruno@clisp.org>
77840
77841         Support for lib vs. lib64 distinction on biarch platforms.
77842         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77843         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77845
77846 2005-09-02  Bruno Haible  <bruno@clisp.org>
77847
77848         * gnulib-tool (import): In the other first-use case, provide defaults
77849         as well.
77850
77851 2005-09-02  Bruno Haible  <bruno@clisp.org>
77852
77853         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77854         patches not yet found in the latest gettext release.
77855
77856 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77857
77858         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77859         to avoid a collision with bits/local_lim.h in glibc.
77860         All uses changed.  Problem reported by Dmitry V. Levin in
77861         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77862
77863         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77864         bugs in int versus size_t comparisons.
77865         (re_string_context_at): Fix bug where the code assumed that
77866         Idx is signed.
77867
77868         Use bool where appropriate.
77869         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77870         All callers changed.
77871         (calc_eclosure_iter): Likewise, for ROOT arg.
77872         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77873         (build_charclass_op): Likewise, for NON_MATCH arg.
77874         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77875         (re_string_construct_common): Likewise, for ICASE arg.
77876         * lib/regexec.c (re_search_2_stub, re_search_stub):
77877         Likewise, for RET_LEN arg.
77878         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77879         (set_regs): Likewise, for FL_BACKTRACK arg.
77880         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77881         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77882         (calc_eclosure_iter, parse_bracket_exp):
77883         Use bool for internal variables that are booleans.
77884         * lib/regexec.c (re_search_internal, check_matching,
77885         proceed_next_node):
77886         (set_regs, build_sifted_states, sift_states_bkref):
77887         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77888         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77889         (find_collation_sequence_value):
77890         Likewise.
77891         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77892         (re_node_set_compare):
77893         Return bool, not int. All callers changed.
77894         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77895         (build_trtable, check_node_accept): Likewise.
77896         * lib/regex_internal.h: Include stdbool.h.
77897
77898         Fix bugs uncovered when converting to bool.
77899         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77900         failure instead of charging ahead blindly.
77901         * lib/regex_internal.c (register_state): Likewise.
77902         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77903         for freeing internal storage.
77904         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77905         bitset pieces used as boolean, to avoid undefined behavior
77906         on hosts that do int overflow checking.
77907
77908 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77909
77910         * config/srclist.txt: Add glibc bugs 1285-1287.
77911
77912 2005-09-01  Jim Meyering  <jim@meyering.net>
77913
77914         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77915         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77916         Require gl_STAT_MACROS, too.
77917
77918 2005-09-01  Bruno Haible  <bruno@clisp.org>
77919
77920         * gnulib-tool (import): In the first-use case, provide defaults.
77921
77922 2005-09-01  Bruno Haible  <bruno@clisp.org>
77923
77924         * gnulib-tool (func_import): Remove the .tmp files.
77925
77926 2005-09-01  Bruno Haible  <bruno@clisp.org>
77927
77928         * gnulib-tool (func_import): Fix handling of symbolic links.
77929
77930 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77931
77932         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77933         old glibc regex code mishandles strings longer than 2**31 bytes.
77934         This patch fixes this when the regex code is used in gnulib
77935         (i.e., outside glibc).
77936
77937         This patch should not affect the use of the regex code inside
77938         glibc.  No doubt this problem also needs to be handled for glibc
77939         as well, but the result will be an incompatible change to the
77940         glibc ABI, and the old ABI will have to be supported too.  That
77941         can be the the subject for another patch.
77942
77943         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77944         governing whether the rest of this patch is active.  By default,
77945         the macro is disabled and the patch has no effect.
77946         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77947         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77948         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77949         (re_match_2, re_set_registers): Use the new types.
77950         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77951         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77952         New macros.
77953         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77954         (re_string_context_at, bin_tree_t, re_dfastate_t):
77955         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77956         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77957         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77958         (re_string_char_size_at, re_string_wchar_at):
77959         (re_string_elem_size_at):
77960         Use the new types and macros to port to 64-bit hosts.
77961         Use unsigned types for internal values, so that the code
77962         mostly works even for arrays larger than SSIZE_MAX.
77963         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77964         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77965         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77966         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77967         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77968         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77969         (calc_inveclosure, parse_dup_op, build_range_exp):
77970         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77971         (fetch_number, create_token_tree, mark_opt_subexp):
77972         Likewise.
77973         * lib/regex_internal.c (re_string_construct_common,
77974         create_ci_newstate):
77975         (create_cd_newstate, re_string_allocate, re_string_construct):
77976         (re_string_realloc_buffers, build_wcs_upper_buffer):
77977         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77978         (re_string_reconstruct, re_string_peek_byte_case):
77979         (re_string_fetch_byte_case, re_string_context_at):
77980         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77981         (re_node_set_init_copy, re_node_set_add_intersect):
77982         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77983         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77984         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77985         (re_acquire_state, re_acquire_state_context, register_state):
77986         Likewise.
77987         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77988         search_cur_bkref_entry):
77989         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77990         (re_search_internal, re_search_2_stub, re_search_stub)
77991         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77992         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77993         (update_cur_sifted_state, check_dst_limits):
77994         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77995         (check_subexp_limits, sift_states_bkref, merge_state_array):
77996         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77997         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77998         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77999         (expand_bkref_cache, check_node_accept_bytes):
78000         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78001         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78002         (acquire_init_state_context, check_halt_node_context):
78003         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78004         (sift_states_backward, clean_state_log_if_needed):
78005         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78006         (find_recover_state, transit_state_sb, transit_state_mb):
78007         (transit_state_bkref, build_trtable, match_ctx_clean):
78008         Likewise.
78009         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78010         to work around an assumption that REG_MISSING is negative.
78011
78012         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78013         (seek_collating_symbol_entry) [defined _LIBC]:
78014         (lookup_collation_sequence_value) [defined _LIBC]:
78015         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78016         Use prototypes rather than old-style function definitions.
78017         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78018         (transit_state_sb) [0]:
78019         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78020
78021         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78022         rm_eo.
78023
78024         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78025         (optimize_subexps, lower_subexp):
78026         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78027         since the signed shift might overflow.  Use 1u<<31 instead.
78028         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78029         Likewise.
78030         * lib/regexec.c (check_dst_limits_calc_pos_1,
78031         check_subexp_matching_top): Likewise.
78032
78033         * lib/regcomp.c (optimize_subexps, lower_subexp):
78034         Use CHAR_BIT rather than 8, for clarity.
78035         * lib/regexec.c (check_dst_limits_calc_pos_1):
78036         (check_subexp_matching_top): Likewise.
78037         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78038         have to worry about portability issues when shifting it left.
78039         Remove no-longer-needed test for table_size > 0.
78040         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78041         in a word, as the resulting behavior is undefined.
78042         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78043         in one case, a <= should have been an <, and in another case the
78044         whole test was missing.
78045         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78046         the standard name CHAR_BIT.
78047         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78048         this is not true on one's complement and signed-magnitude hosts.
78049
78050         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78051         next_last_offset.
78052         (struct re_dfa_t): Remove unused member states_alloc.
78053         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78054
78055 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78056
78057         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78058         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78059         and large-file glibc and in 32-bit large-file Solaris.
78060
78061 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78062
78063         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78064         lengths fit in regoff_t; this isn't true if regoff_t is the same
78065         width as size_t.
78066         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78067         (= START + RANGE) instead of RANGE.  This avoids overflow
78068         problems when regoff_t is the same width as size_t.
78069         All callers changed.
78070         (re_search_2_stub): Check for overflow when adding the
78071         sizes of the two strings.
78072         (re_search_stub): Check for overflow when adding START
78073         to RANGE; if it occurs, substitute the extreme value.
78074
78075 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78076
78077         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78078
78079 2005-08-31  Jim Meyering  <jim@meyering.net>
78080
78081         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78082         a pointer-to-const.
78083         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78084         (register_state): Likewise.
78085         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78086         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78087         (group_nodes_into_DFAstates): Likewise.
78088
78089 2005-08-31  Jim Meyering  <jim@meyering.net>
78090
78091         * check-module: Add a FIXME comment.
78092
78093 2005-08-31  Eric Blake  <ebb9@byu.net>
78094
78095         * modules/unistd-safer (Files): Add unistd--.h.
78096         * modules/stdio-safer (Files): Add stdio--.h.
78097
78098 2005-08-31  Derek Price  <derek@ximbiot.com>
78099
78100         * lib/getdelim.c (getdelim): Return EOF on EOF.
78101         Reported by Larry Jones <lawrence.jones@ugs.com>.
78102
78103 2005-08-31  Bruno Haible  <bruno@clisp.org>
78104
78105         Avoid unnecessary diffs in the generated lib/Makefile.am.
78106         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78107         the generated files.
78108         (func_import): Don't set cmd.
78109
78110 2005-08-31  Bruno Haible  <bruno@clisp.org>
78111
78112         * lib/strstr.c: Include <stddef.h>, for NULL.
78113         * lib/strcasestr.c: Likewise.
78114         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78115
78116 2005-08-31  Bruno Haible  <bruno@clisp.org>
78117
78118         * gnulib-tool: New option --macro-prefix.
78119         (func_import): Use macro_prefix.
78120         (import): Handle option --macro-prefix.
78121
78122 2005-08-31  Bruno Haible  <bruno@clisp.org>
78123
78124         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78125         Also use new variables cached_lgpl, cached_libtool.
78126
78127 2005-08-31  Bruno Haible  <bruno@clisp.org>
78128
78129         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78130         always instantiating them.
78131
78132 2005-08-31  Bruno Haible  <bruno@clisp.org>
78133
78134         * gnulib-tool (func_import): Read the previous cached settings
78135         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78136         earlier added by gnulib but are now dropped. Warn when a gnulib file
78137         overwrites a non-gnulib file.
78138
78139 2005-08-31  Bruno Haible  <bruno@clisp.org>
78140
78141         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78142         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78143         projects that don't keep autogenerated files in CVS. Put into
78144         actioncmd only the specified modules, not the transitive closure.
78145
78146 2005-08-31  Bruno Haible  <bruno@clisp.org>
78147
78148         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78149         Create directories that shall be filled.
78150         (import): Don't look for gl_* macros in configure.ac. Recurse across
78151         all directories containing a gnulib-cache.m4 files, if meaningful.
78152
78153 2005-08-31  Bruno Haible  <bruno@clisp.org>
78154
78155         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78156         (import): Set seen_libtool when we see gl_LIBTOOL.
78157
78158 2005-08-31  Bruno Haible  <bruno@clisp.org>
78159
78160         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78161         declaration macro definitions from generated gnulib.m4.
78162
78163 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78164
78165         * lib/iconvme.h: Add prototype for iconv_alloc.
78166
78167 2005-08-29  Simon Josefsson  <jas@extundo.com>
78168
78169         * lib/iconvme.c: Fix errno.
78170
78171 2005-08-29  Bruno Haible  <bruno@clisp.org>
78172
78173         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78174         that it works when the directory contains spaces.
78175
78176 2005-08-29  Bruno Haible  <bruno@clisp.org>
78177
78178         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78179
78180 2005-08-29  Bruno Haible  <bruno@clisp.org>
78181
78182         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78183         Emit more advice.
78184
78185 2005-08-29  Bruno Haible  <bruno@clisp.org>
78186         and Stepan Kasal  <kasal@ucw.cz>
78187
78188         * check-module: If more parameters are given, check each of them
78189         separately; add more exceptions, as noted by Jim Meyering.
78190         (check_module): New procedure.
78191         (%exempt_header): Now contains all exceptions.
78192
78193 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
78194
78195         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
78196
78197 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78198
78199         * lib/iconvme.c: Split iconv_string into iconv_alloc.
78200
78201 2005-08-28  Bruno Haible  <bruno@clisp.org>
78202
78203         * m4/gnulib-tool.m4: New file.
78204
78205 2005-08-27  Jim Meyering  <jim@meyering.net>
78206
78207         * modules/unistd-safer (Files): Add pipe-safer.c.
78208         * modules/fcntl-safer (Files): Add creat-safer.c.
78209
78210 2005-08-27  Jim Meyering  <jim@meyering.net>
78211
78212         * m4/stdlib-safer.m4: New file.  From coreutils.
78213         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
78214         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
78215         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
78216         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
78217         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
78218
78219 2005-08-27  Jim Meyering  <jim@meyering.net>
78220
78221         * lib/fopen-safer.c: Merge minor changes from coreutils.
78222         * lib/dup-safer.c: Likewise.
78223         * lib/fd-safer.c: Likewise.
78224
78225         Merge from coreutils.
78226         * lib/stdio--.h: New file.
78227         * lib/stdlib--.h: New file.
78228         * lib/mkstemp-safer.c: New file.
78229
78230         GNU tar needs these.
78231         * lib/pipe-safer.c: New file.
78232         * lib/creat-safer.c: New file.
78233         * lib/fcntl--.h (creat): Define to creat_safer.
78234         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
78235         * lib/unistd--.h (pipe): Define to pipe_safer.
78236         * lib/unistd-safer.h: Declare pipe_safer.
78237
78238 2005-08-26  Simon Josefsson  <jas@extundo.com>
78239
78240         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
78241         Haible <bruno@clisp.org>.
78242
78243 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * lib/regex_internal.h: Remove all references to
78246         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
78247         or better.
78248         (bitset_not, bitset_merge, bitset_not_merge):
78249         (bitset_mask, re_string_allocate, re_string_construct):
78250         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
78251         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
78252         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
78253         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
78254         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78255         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78256         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
78257         (re_acquire_state_context):
78258         Remove unnecessary forward decls.
78259         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
78260         Put __attribute at function definition,
78261         now that the function decl has been removed.
78262         * lib/regex_internal.c (re_string_peek_byte_case):
78263         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
78264         Likewise.
78265
78266 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
78267
78268         * m4/regex.m4: Add AC_PREREQ(2.50).
78269         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
78270
78271 2005-08-25  Simon Josefsson  <jas@extundo.com>
78272
78273         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
78274         __fsetlocking.
78275
78276 2005-08-25  Simon Josefsson  <jas@extundo.com>
78277
78278         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
78279         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
78280         GLIBC specific code.
78281
78282 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78283
78284         Make regex safe for g++.  This fixes one real bug (an "err"
78285         that should have been "*err").  g++ problem reported by
78286         Sam Steingold.
78287         * lib/regex_internal.h (re_calloc): New macro, consistent with
78288         re_malloc etc.  All callers of calloc changed to use re_calloc.
78289         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
78290         not int.  All callers changed.
78291         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
78292         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
78293         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
78294         (find_recover_state): Change "err" to "*err"; this fixes what
78295         appears to be a real bug.
78296         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
78297         versus int.
78298
78299 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         * modules/regex (Depends-on): Add malloc, since the code
78302         assumes that !malloc(0) means failure.
78303
78304 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78305
78306         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
78307
78308         alloca modernization/simplification for regex.
78309         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78310         needs to be at the start of the file, and can be moved into
78311         regex_internal.h and simplified.
78312         * lib/regex_internal.h: Include <alloca.h>.
78313         (__libc_use_alloca) [!defined _LIBC]: New macro.
78314         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78315         now works outside glibc.
78316
78317 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78318
78319         * config/srclist.txt: Add glibc bugs 1241, 1245.
78320
78321 2005-08-25  Jim Meyering  <jim@meyering.net>
78322
78323         * lib/open-safer.c: Include <config.h>.
78324         Otherwise, we'd lose LARGEFILE support in any file using
78325         e.g. "fcntl--.h"
78326
78327 2005-08-25  Bruno Haible  <bruno@clisp.org>
78328
78329         * m4/minmax.m4: Require autoconf 2.52.
78330         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78331         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78332         alternatives of translit over the alphabet.
78333         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78334
78335 2005-08-24  Simon Josefsson  <jas@extundo.com>
78336
78337         * tests/test-getpass.c: New file.
78338
78339 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78342         for GNU regex features.
78343
78344 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78345
78346         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78347         * lib/regex.h (regerror): Likewise.
78348
78349         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78350         requires this.  (The code never needed it.)
78351
78352         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78353         All uses of recently-renamed identifiers changed to use the new,
78354         POSIX-compliant names.  The code will build and run just fine
78355         without these changes, but it's better to eat our own dog food
78356         and use the standard-conforming names.
78357
78358         * lib/regex.h: Fix a multitude of POSIX name space violations.
78359         These changes have an effect only for programs that define
78360         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
78361         do not change anything for programs compiled in the normal way.
78362         Also, there is no effect on the ABI.
78363
78364         (_REGEX_SOURCE): New macro.
78365         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
78366         defined and _GNU_SOURCE is not; this fixes a name space violation.
78367
78368         Rename the following macros to obey POSIX requirements.
78369         The old names are still visible as macros if _REGEX_SOURCE is defined.
78370         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
78371         RE_BACKSLASH_ESCAPE_IN_LISTS.
78372         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
78373         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
78374         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
78375         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
78376         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
78377         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78378         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78379         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78380         (REG_INTERVALS): renamed from RE_INTERVALS.
78381         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78382         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78383         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78384         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78385         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78386         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78387         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78388         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78389         RE_UNMATCHED_RIGHT_PAREN_ORD.
78390         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78391         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78392         (REG_DEBUG): renamed from RE_DEBUG.
78393         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78394         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78395         unusual, since we can't clash with the POSIX REG_ICASE.
78396         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78397         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78398         (REG_NO_SUB): renamed from RE_NO_SUB.
78399         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78400         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78401         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78402         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78403         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78404         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78405         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78406         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78407         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78408         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78409         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78410         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78411         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78412         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
78413         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
78414         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
78415         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
78416         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
78417         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
78418         (REG_FIXED): Renamed from REGS_FIXED.
78419         (REG_NREGS): Renamed from RE_NREGS.
78420
78421         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
78422         of other REG_* macros, since POSIX says the user is allowed to
78423         #undef these macros selectively.
78424
78425         (reg_errcode_t): Update comment stating what other tables need
78426         to be consistent.
78427
78428         Rename the following enum values to obey POSIX requirements.
78429         The old names are still visible as macros.
78430         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
78431         is not defined, since GNU is supposed to be a superset of POSIX as
78432         much as possible, and since we want reg_errcode_t to be a signed
78433         type for implementation consistency.
78434         (_REG_NOERROR): Renamed from REG_NOERROR.
78435         (_REG_NOMATCH): Renamed from REG_NOMATCH.
78436         (_REG_BADPAT): Renamed from REG_BADPAT.
78437         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
78438         (_REG_ECTYPE): Renamed from REG_ECTYPE.
78439         (_REG_EESCAPE): Renamed from REG_EESCAPE.
78440         (_REG_ESUBREG): Renamed from REG_ESUBREG.
78441         (_REG_EBRACK): Renamed from REG_EBRACK.
78442         (_REG_EPAREN): Renamed from REG_EPAREN.
78443         (_REG_EBRACE): Renamed from REG_EBRACE.
78444         (_REG_BADBR): Renamed from REG_BADBR.
78445         (_REG_ERANGE): Renamed from REG_ERANGE.
78446         (_REG_ESPACE): Renamed from REG_ESPACE.
78447         (_REG_BADRPT): Renamed from REG_BADRPT.
78448         (_REG_EEND): Renamed from REG_EEND.
78449         (_REG_ESIZE): Renamed from REG_ESIZE.
78450         (_REG_ERPAREN): Renamed from REG_ERPAREN.
78451         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
78452         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
78453         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
78454         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
78455
78456         (_REG_RE_NAME, _REG_RM_NAME): New macros.
78457         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
78458         changed.  But support the old name if the new one is not defined
78459         and if _REGEX_SOURCE.
78460
78461         Change the following member names in struct re_pattern_buffer.
78462         The old names are still supported if !_REGEX_SOURCE.
78463         The new names are always supported, regardless of _REGEX_SOURCE.
78464         (re_buffer): Renamed from buffer.
78465         (re_allocated): Renamed from allocated.
78466         (re_used): Renamed from used.
78467         (re_syntax): Renamed from syntax.
78468         (re_fastmap): Renamed from fastmap.
78469         (re_translate): Renamed from translate.
78470         (re_can_be_null): Renamed from can_be_null.
78471         (re_regs_allocated): Renamed from regs_allocated.
78472         (re_fastmap_accurate): Renamed from fastmap_accurate.
78473         (re_no_sub): Renamed from no_sub.
78474         (re_not_bol): Renamed from not_bol.
78475         (re_not_eol): Renamed from not_eol.
78476         (re_newline_anchor): Renamed from newline_anchor.
78477
78478         Change the following member names in struct re_registers.
78479         The old names are still supported if !_REGEX_SOURCE.
78480         The new names are always supported, regardless of _REGEX_SOURCE.
78481         (rm_num_regs): Renamed from num_regs.
78482         (rm_start): Renamed from start.
78483         (rm_end): Renamed from end.
78484
78485         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78486         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78487         Prepend __ to parameter names.
78488
78489         Undo yesterday's changes.
78490
78491 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78492
78493         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78494         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78495         lib/regex.c.
78496
78497 2005-08-24  Jim Meyering  <jim@meyering.net>
78498
78499         Sync from coreutils.
78500         * m4/fcntl-safer.m4: New file.
78501
78502         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78503         and object files for this module.
78504
78505 2005-08-24  Jim Meyering  <jim@meyering.net>
78506
78507         Sync from coreutils.
78508         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78509
78510 2005-08-24  Jim Meyering  <jim@meyering.net>
78511
78512         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78513         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78514
78515 2005-08-24  Jim Meyering  <jim@meyering.net>
78516
78517         * modules/fcntl-safer: New module.
78518         * modules/fts (Depends-on): Add fcntl-safer.
78519         * MODULES.html.sh (File descriptor based Input/Output):
78520         Add fcntl-safer.
78521
78522 2005-08-24  Bruno Haible  <bruno@clisp.org>
78523
78524         Support for unit test modules.
78525         * modules/README: Mention tests modules.
78526         * modules/TEMPLATE-TESTS: New file.
78527         * gnulib-tool: New options --extract-tests-module, --with-tests and
78528         --tests-base (unused for the moment).
78529         (testsbase, inctests): New variables.
78530         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78531         (func_verify_module): Exclude TEMPLATE-TESTS.
78532         (func_verify_nontests_module, func_verify_tests_module): New functions.
78533         (func_get_dependencies): Add implicit dependency for tests modules.
78534         (func_get_tests_module): New function.
78535         (func_modules_transitive_closure): When --with-tests was specified,
78536         include the unit tests as well, unless explicitly avoided.
78537         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78538         (func_emit_tests_Makefile_am): New function.
78539         (func_create_testdir): When --with-tests was specified, emit a
78540         tests/ directory.
78541         * MODULES.html.sh (Future developments): Update.
78542
78543 2005-08-24  Bruno Haible  <bruno@clisp.org>
78544
78545         * modules/tls-tests: New file.
78546         * tests/test-tls.c: New file, from GNU gettext.
78547
78548 2005-08-24  Bruno Haible  <bruno@clisp.org>
78549
78550         * modules/lock-tests: New file.
78551         * tests/test-lock.c: New file, from GNU gettext.
78552
78553 2005-08-24  Bruno Haible  <bruno@clisp.org>
78554
78555         * lib/lock.h: Add multiple inclusion guard.
78556         * lib/tls.h: Add multiple inclusion guard.
78557
78558 2005-08-24  Bruno Haible  <bruno@clisp.org>
78559
78560         * gnulib-tool: Add support for the --aux-dir option to
78561         --create-testdir, --create-megatestdir, --test, --megatest.
78562         (func_create_testdir, func_create_megatestdir): Optionally emit a
78563         AC_CONFIG_AUX_DIR directive.
78564         (create-testdir, create-megatestdir, test, megatest): Provide a
78565         default value for $auxdir.
78566
78567 2005-08-24  Bruno Haible  <bruno@clisp.org>
78568
78569         * gnulib-tool (import): Use compound statement instead of subshell
78570         where possible.
78571
78572 2005-08-24  Bruno Haible  <bruno@clisp.org>
78573
78574         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78575
78576 2005-08-24  Bruno Haible  <bruno@clisp.org>
78577
78578         * gnulib-tool (func_version): Update.
78579
78580 2005-08-24  Bruno Haible  <bruno@clisp.org>
78581
78582         * gnulib-tool (func_import, func_create_testdir,
78583         func_create_megatestdir): Quote all autoconf macro arguments.
78584
78585 2005-08-24  Bruno Haible  <bruno@clisp.org>
78586
78587         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78588         option --force, because --force causes the aclocal.m4 of each
78589         subdirectory to be newer than the corresponding config.h.in.
78590
78591 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78592
78593         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78594         All contents moved to gl_REGEX.
78595         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78596         assume that it does.
78597
78598 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78599
78600         * lib/regex.h (REG_NOSYS)
78601         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78602         Define, since POSIX requires it as of 2001.
78603         (_REG_ENOSYS)
78604         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78605         New private symbol, used to keep the enum signed in all cases.
78606         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78607         Youngman in
78608         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78609
78610         * lib/regex_internal.c (re_string_skip_chars, register_state):
78611         (calc_state_hash):
78612         Remove forward decls; no longer needed now that we use prototypes.
78613         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78614         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78615         (clean_state_log_if_needed): Likewise.
78616
78617 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78618
78619         * config/srclist.txt: Add glibc bugs 1231-1233.
78620
78621 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         Fix problems reported by Sam Steingold in
78624         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78625         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78626         assumed that reg_errcode_t is a signed type, which is not
78627         necessarily true if _XOPEN_SOURCE is not defined.
78628         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78629         since some compilers warn about it otherwise.
78630
78631 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78632
78633         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78634         (init_word_char, create_initial_state, duplicate_node_closure):
78635         (fetch_token, peek_token_bracket, build_range_exp):
78636         (build_collating_symbol): Remove forward decls; no longer needed
78637         now that we use prototypes.
78638
78639         * lib/regcomp.c:
78640         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78641         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78642         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78643         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78644         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78645         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78646         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78647         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78648         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78649         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78650         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78651         (build_charclass, build_charclass_op, fetch_number, create_tree):
78652         (create_token_tree, mark_opt_subexp, duplicate_tree):
78653         Use prototypes rather than old-style definitions.
78654
78655         * lib/regex_internal.c:
78656         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78657         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78658         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78659         (re_string_reconstruct, re_string_peek_byte_case):
78660         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78661         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78662         (re_node_set_init_copy, re_node_set_add_intersect):
78663         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78664         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78665         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78666         (re_acquire_state, re_acquire_state_context, register_state):
78667         (create_ci_newstate, create_cd_newstate, free_state):
78668         Likewise.
78669         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78670         re_search_2):
78671         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78672         (re_search_internal, prune_impossible_nodes):
78673         (acquire_init_state_context, check_matching, static):
78674         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78675         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78676         (update_regs, sift_states_backward, build_sifted_states):
78677         (clean_state_log_if_needed, merge_state_array):
78678         (update_cur_sifted_state, add_epsilon_src_nodes):
78679         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78680         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78681         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78682         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78683         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78684         (check_arrival, check_arrival_add_next_nodes):
78685         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78686         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78687         (check_node_accept_bytes, check_node_accept, extend_buffers):
78688         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78689         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78690         (sift_ctx_init):
78691         Likewise.
78692
78693         * lib/regex_internal.h:
78694         (re_string_allocate, re_string_construct, re_string_reconstruct):
78695         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78696         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78697         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78698         (re_string_context_at, re_string_peek_byte_case):
78699         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78700         is defined, since we now use prototypes always.
78701
78702         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78703         C89 or better.  All uses removed.
78704
78705 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78706
78707         * config/srclist.txt: Add glibc bugs 1220-1227.
78708
78709 2005-08-20  Jim Meyering  <jim@meyering.net>
78710
78711         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78712         of unused local, dfa.
78713
78714 2005-08-20  Bruno Haible  <bruno@clisp.org>
78715
78716         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78717
78718 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78719
78720         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78721         (re_node_set_insert_last, re_dfa_add_node):
78722         Rename local variables to avoid GCC shadowing warnings.
78723
78724 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78725
78726         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78727         [defined lint]: Suppress bogus uninitialized-variable warnings.
78728
78729         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78730         and let the caller return REG_ESPACE if out of space.  This
78731         removes an uninitialied-variable warning with GCC 4.0.1, and also
78732         avoids taking the address of a local variable.  All callers
78733         changed.
78734
78735 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78736
78737         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78738         $LIBCSRC/posix/regexec.c.
78739         Add glibc bug 1217 for regcomp.c.
78740
78741 2005-08-19  Jim Meyering  <jim@meyering.net>
78742
78743         * lib/regexec.c (proceed_next_node): Redo local variables to
78744         avoid GCC shadowing warnings.
78745
78746 2005-08-18  Bruno Haible  <bruno@clisp.org>
78747
78748         * lib/strstr.c (strstr): Fix return value in multibyte case.
78749         * lib/strcasestr.c (strcasestr): Likewise.
78750
78751 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78752
78753         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78754
78755 2005-08-17  Jim Meyering  <jim@meyering.net>
78756
78757         Make the %s format (seconds since the epoch) work for a negative
78758         number and when used with a zero-padded field width, e.g. %015s.
78759
78760         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78761         label so that it precedes the code to set `digits'.  Otherwise,
78762         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78763         print `00-22'.  Now, it prints `-0022', as it should.
78764
78765 2005-08-17  Bruno Haible  <bruno@clisp.org>
78766
78767         * modules/strstr (Files): Add m4/mbrtowc.m4.
78768         (Depends-on): Add mbuiter.
78769
78770 2005-08-17  Bruno Haible  <bruno@clisp.org>
78771
78772         * modules/strcasestr: New file.
78773         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78774         strcasestr.
78775
78776 2005-08-17  Bruno Haible  <bruno@clisp.org>
78777
78778         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78779
78780 2005-08-17  Bruno Haible  <bruno@clisp.org>
78781
78782         * modules/mbuiter: New file.
78783         * MODULES.html.sh (Extended multibyte and wide character utilities):
78784         Add mbuiter.
78785
78786 2005-08-17  Bruno Haible  <bruno@clisp.org>
78787
78788         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78789         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78790
78791 2005-08-17  Bruno Haible  <bruno@clisp.org>
78792
78793         * m4/strcasestr.m4: New file.
78794
78795 2005-08-17  Bruno Haible  <bruno@clisp.org>
78796
78797         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78798         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78799
78800 2005-08-17  Bruno Haible  <bruno@clisp.org>
78801
78802         * lib/strcasestr.h: New file.
78803         * lib/strcasestr.c: New file.
78804
78805 2005-08-17  Bruno Haible  <bruno@clisp.org>
78806
78807         * lib/strcasecmp.c: Use mbuiter.h.
78808
78809 2005-08-17  Bruno Haible  <bruno@clisp.org>
78810
78811         * lib/mbuiter.h: New file.
78812
78813 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78814
78815         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78816         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78817         and gl_GETOPT are both invoked via different paths (as happens
78818         with GNU tar CVS because it uses both argp and getopt), the former
78819         wins.
78820
78821 2005-08-16  Bruno Haible  <bruno@clisp.org>
78822
78823         * modules/tls: New file.
78824         * MODULES.html.sh (Multithreading): Add tls.
78825
78826 2005-08-16  Bruno Haible  <bruno@clisp.org>
78827
78828         * modules/strnlen1: New file.
78829         * MODULES.html.sh (String handling): Add strnlen1.
78830
78831 2005-08-16  Bruno Haible  <bruno@clisp.org>
78832
78833         * modules/strcase (Files): Add m4/mbrtowc.m4.
78834         (Depends-on): Add strnlen1, mbchar.
78835
78836 2005-08-16  Bruno Haible  <bruno@clisp.org>
78837
78838         * modules/mbiter: New file.
78839         * MODULES.html.sh (Extended multibyte and wide character utilities):
78840         Add mbiter.
78841
78842 2005-08-16  Bruno Haible  <bruno@clisp.org>
78843
78844         * modules/mbfile: New file.
78845         * MODULES.html.sh (Extended multibyte and wide character utilities):
78846         Add mbfile.
78847
78848 2005-08-16  Bruno Haible  <bruno@clisp.org>
78849
78850         * modules/mbchar: New file.
78851         * MODULES.html.sh (Extended multibyte and wide character utilities):
78852         New section.
78853
78854 2005-08-16  Bruno Haible  <bruno@clisp.org>
78855
78856         * m4/tls.m4: New file, from GNU gettext.
78857
78858 2005-08-16  Bruno Haible  <bruno@clisp.org>
78859
78860         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78861         always.
78862         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78863
78864 2005-08-16  Bruno Haible  <bruno@clisp.org>
78865
78866         * m4/mbiter.m4: New file.
78867
78868 2005-08-16  Bruno Haible  <bruno@clisp.org>
78869
78870         * m4/mbfile.m4: New file.
78871
78872 2005-08-16  Bruno Haible  <bruno@clisp.org>
78873
78874         * m4/mbchar.m4: New file.
78875
78876 2005-08-16  Bruno Haible  <bruno@clisp.org>
78877
78878         * lib/tls.h: New file, from GNU gettext.
78879         * lib/tls.c: New file, from GNU gettext.
78880
78881 2005-08-16  Bruno Haible  <bruno@clisp.org>
78882
78883         * lib/strnlen1.h: New file.
78884         * lib/strnlen1.c: New file.
78885
78886 2005-08-16  Bruno Haible  <bruno@clisp.org>
78887
78888         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78889         (mbi_init): Update.
78890         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78891         NUL byte, not after it.
78892
78893 2005-08-16  Bruno Haible  <bruno@clisp.org>
78894
78895         * lib/strcase.h (strcasecmp): Add note in comments.
78896         * lib/strncasecmp.c: Use code from strcasecmp.c.
78897         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78898         (strcasecmp): Work correctly in multibyte locales.
78899
78900 2005-08-16  Bruno Haible  <bruno@clisp.org>
78901
78902         * lib/mbiter.h: New file.
78903
78904 2005-08-16  Bruno Haible  <bruno@clisp.org>
78905
78906         * lib/mbfile.h: New file.
78907
78908 2005-08-16  Bruno Haible  <bruno@clisp.org>
78909
78910         * lib/mbchar.h: New file.
78911         * lib/mbchar.c: New file.
78912
78913 2005-08-16  Bruno Haible  <bruno@clisp.org>
78914
78915         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78916         the valid ones. Makes the comparison operations transitive:
78917         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78918         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78919
78920 2005-08-15  Simon Josefsson  <jas@extundo.com>
78921
78922         * modules/ssize_t (License): Change to 'unlimited'.
78923
78924         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78925
78926 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78929         Add comments for each pending glibc patch.
78930
78931 2005-08-15  Bruno Haible  <bruno@clisp.org>
78932
78933         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78934         __cplusplus is defined.
78935
78936 2005-08-14  Jim Meyering  <jim@meyering.net>
78937
78938         Sync from coreutils.
78939
78940         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78941         Use the hash-table-based cycle-detection code not just when
78942         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78943         Reported by James Youngman in
78944         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78945         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78946         FTS_TIGHT_CYCLE_CHECK.
78947         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78948         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78949         once again.
78950         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78951         * lib/fts.c (fd_safer): Remove decl.
78952         Include fcntl--.h rather than unistd-safer.h
78953         (fts_safe_changedir): Don't call fd_safer; no longer needed
78954         now that we include fcntl--.h.
78955
78956 2005-08-12  Simon Josefsson  <jas@extundo.com>
78957
78958         * modules/getndelim2: Use ssize_t module.
78959         * modules/getnline: Likewise.
78960         * modules/safe-read: Likewise.
78961         * modules/xreadlink: Likewise.
78962
78963         * modules/ssize_t: New file.
78964
78965 2005-08-12  Simon Josefsson  <jas@extundo.com>
78966
78967         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78968
78969 2005-08-12  Simon Josefsson  <jas@extundo.com>
78970
78971         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78972         ssize_t.
78973
78974 2005-08-12  Simon Josefsson  <jas@extundo.com>
78975
78976         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78977         readline, getdelim and check_version.
78978         (Support for systems lacking ISO C 99: Sizes of integer types):
78979         Add size_max.
78980
78981 2005-08-12  Bruno Haible  <bruno@clisp.org>
78982
78983         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78984
78985 2005-08-11  Simon Josefsson  <jas@extundo.com>
78986
78987         * modules/readline: New file.
78988
78989         * modules/strnlen (Files): Add strnlen.h.
78990
78991 2005-08-11  Simon Josefsson  <jas@extundo.com>
78992
78993         * m4/readline.m4: New file.
78994
78995 2005-08-11  Simon Josefsson  <jas@extundo.com>
78996
78997         * lib/readline.h, readline.c: New file.
78998
78999 2005-08-11  Simon Josefsson  <jas@extundo.com>
79000
79001         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79002         gl_AVOID.
79003
79004 2005-08-11  Bruno Haible  <bruno@clisp.org>
79005
79006         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79007
79008 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79009
79010         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79011
79012 2005-08-10  Simon Josefsson  <jas@extundo.com>
79013
79014         * tests/test-iconvme.c: New file.
79015
79016 2005-08-10  Simon Josefsson  <jas@extundo.com>
79017
79018         * m4/strnlen.m4: New file.
79019
79020         * m4/strndup.m4: Don't check for strnlen declaration, done in
79021         strnlen.m4.
79022
79023 2005-08-10  Simon Josefsson  <jas@extundo.com>
79024
79025         * lib/strndup.c: Use strnlen.h.
79026
79027         * lib/strnlen.h: New file.
79028
79029 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79030
79031         * README: Typos.
79032
79033 2005-08-02  Simon Josefsson  <jas@extundo.com>
79034
79035         * modules/readline: New file.
79036
79037 2005-08-02  Simon Josefsson  <jas@extundo.com>
79038
79039         * modules/getdelim: New file.
79040
79041         * modules/getline: Rewrite, don't use getndelim2.
79042
79043 2005-08-02  Simon Josefsson  <jas@extundo.com>
79044
79045         * m4/getline.m4: Separate out getdelim stuff into separate module.
79046
79047         * m4/getdelim.m4: New file.
79048
79049 2005-08-02  Simon Josefsson  <jas@extundo.com>
79050
79051         * lib/getline.h, getline.c: Rewrite.
79052
79053         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79054
79055 2005-07-31  Bruno Haible  <bruno@clisp.org>
79056
79057         * lib/lock.h (gl_lock_initializer): New macro.
79058         (gl_lock_define_initialized): Use it.
79059         (gl_rwlock_initializer): New macro.
79060         (gl_rwlock_define_initialized): Use it.
79061         (gl_recursive_lock_initializer): New macro.
79062         (gl_recursive_lock_define_initialized): Use it.
79063
79064 2005-07-30  Karl Berry  <karl@gnu.org>
79065
79066         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79067         Report from Ben Pfaff, regarding getopt.
79068
79069 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79070
79071         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79072         normal way.
79073         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79074         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79075         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79076         (gl_GETOPT): Use the new macros.  Most of the implementation
79077         is moved to the new macros.  This is for programs like Emacs
79078         that don't want all the functionality of gl_GETOPT.
79079
79080 2005-07-26  Bruno Haible  <bruno@clisp.org>
79081
79082         * m4/lock.m4: Update from GNU gettext.
79083
79084 2005-07-26  Bruno Haible  <bruno@clisp.org>
79085
79086         * lib/lock.h: Update from GNU gettext.
79087         * lib/lock.c: Update from GNU gettext.
79088
79089 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79090
79091         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79092         obsolescent AC_TRY_RUN.  Include the default includes files, for
79093         'exit'.
79094
79095 2005-07-24  Bruno Haible  <bruno@clisp.org>
79096
79097         * modules/visibility: New file.
79098         * MODULES.html.sh (Misc): Add visibility.
79099
79100 2005-07-24  Bruno Haible  <bruno@clisp.org>
79101
79102         * m4/visibility.m4: New file.
79103
79104 2005-07-24  Bruno Haible  <bruno@clisp.org>
79105
79106         * doc/visibility.texi: New file.
79107
79108 2005-07-22  Bruno Haible  <bruno@clisp.org>
79109
79110         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79111         $(ALLOCA_H), redundant through BUILT_SOURCES.
79112         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79113         redundant through BUILT_SOURCES.
79114         * modules/byteswap (Makefile.am): Remove explicit dependency on
79115         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79116         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79117         $(FNMATCH_H), redundant through BUILT_SOURCES.
79118         * modules/getopt (Makefile.am): Remove explicit dependency on
79119         $(GETOPT_H), redundant through BUILT_SOURCES.
79120         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79121         redundant through BUILT_SOURCES.
79122         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79123         redundant through BUILT_SOURCES.
79124         * modules/stdbool (Makefile.am): Remove explicit dependency on
79125         $(STDBOOL_H), redundant through BUILT_SOURCES.
79126         * modules/stdint (Makefile.am): Remove explicit dependency on
79127         $(STDINT_H), redundant through BUILT_SOURCES.
79128         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79129         Remove explicit dependency on $(SYSEXITS_H).
79130         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79131
79132 2005-07-18  Simon Josefsson  <jas@extundo.com>
79133
79134         * lib/check-version.c (check_version): Accept identical versions too.
79135
79136 2005-07-18  Bruno Haible  <bruno@clisp.org>
79137
79138         * modules/lock: New file.
79139         * MODULES.html.sh (Multithreading): New section.
79140
79141 2005-07-18  Bruno Haible  <bruno@clisp.org>
79142
79143         * m4/lock.m4: New file, from GNU gettext.
79144
79145 2005-07-18  Bruno Haible  <bruno@clisp.org>
79146
79147         * lib/lock.h: New file, from GNU gettext.
79148         * lib/lock.c: New file, from GNU gettext.
79149
79150 2005-07-18  Bruno Haible  <bruno@clisp.org>
79151
79152         * lib/lock.h (gl_once_t): New type.
79153         (gl_once_define, gl_once): New macros.
79154         * lib/lock.c (fresh_once): New variable.
79155         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79156         functions.
79157
79158 2005-07-16  Simon Josefsson  <jas@extundo.com>
79159
79160         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79161         workaround, suggested by Bruno.
79162
79163 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         * modules/xalloc (Depends-on): Add xalloc-die.
79166         * modules/xvasprintf (Depends-on): Add xalloc-die.
79167
79168 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79169
79170         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79171         with a minor change.
79172
79173 2005-07-15  Bruno Haible  <bruno@clisp.org>
79174
79175         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79176         When using lib/poll.c, define poll as rpl_poll.
79177
79178 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79179
79180         * modules/argp (Depends-on): Remove unlocked-io.
79181
79182 2005-07-14  Derek Price  <derek@ximbiot.com>
79183
79184         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79185         for glob symlink bug.
79186
79187 2005-07-14  Bruno Haible  <bruno@clisp.org>
79188
79189         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
79190         Instead, test for *_unlocked function declarations directly.
79191
79192 2005-07-11  Simon Josefsson  <jas@extundo.com>
79193
79194         * modules/size_max: New file.
79195
79196         * modules/xsize: Depend on size_max module for size_max.m4.
79197
79198 2005-07-11  Simon Josefsson  <jas@extundo.com>
79199
79200         * lib/size_max.h: New file.
79201
79202 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
79203
79204         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
79205         copyright symbol and the year.
79206         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
79207         (version_etc_va): Use parameterized copyright notice.
79208         Reword to conform to the current GNU coding standards.
79209
79210 2005-07-11  Karl Berry  <karl@gnu.org>
79211
79212         * doc/gnulib.texi (Quoting): new node.
79213         (Initial import): more info, from Patrice.
79214
79215 2005-07-11  Bruno Haible  <bruno@clisp.org>
79216
79217         * gnulib-tool (func_usage): Document option --avoid.
79218         (Command line options): Handle --avoid.
79219         (func_acceptable): New function.
79220         (func_modules_transitive_closure): Use it.
79221
79222 2005-07-11  Bruno Haible  <bruno@clisp.org>
79223
79224         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
79225         Reported by Jim Meyering.
79226
79227 2005-07-10  Bruno Haible  <bruno@clisp.org>
79228
79229         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
79230         Needed when size_t is smaller than 'unsigned int'.
79231         Reported by Paul Eggert.
79232
79233 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79234
79235         * modules/argp (Depends-on): Add unlocked-io
79236
79237 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79238
79239         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
79240         block of defines.
79241
79242 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79243
79244         * config/srclist.txt: Comment out regcomp.c, since we have a porting
79245         fix now.
79246
79247 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
79248         and Paul Eggert  <eggert@cs.ucla.edu>
79249
79250         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
79251         in wint_t, not wchar_t.  Remove now-unnecessary cast.
79252
79253 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79254
79255         * modules/regex (Files): Add lib/regex_internal.c,
79256         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
79257         (Depends-on): Add extensions.
79258         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
79259
79260 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79261
79262         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
79263         pathconf.
79264         * m4/same.m4 (gl_SAME): Likewise.
79265         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
79266
79267         * m4/regex.m4: Adjust to new libc regex implementation.
79268         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
79269         all the .c and .h parts of (the new) regex.
79270         Quote the m4 stuff better.
79271         Check for RE_ICASE bug of old gnulib.
79272         Check for REG_STARTEND of recent libc.
79273         Rename local variables from jm_* to gl_*.
79274         Quote operand of "test -f".
79275         Say "recent enough" version of libc, not "version 2".
79276         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
79277         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
79278         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
79279         Remove check for btowc, isascii.
79280         Require AM_LANGINFO_CODESET.
79281
79282 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79283
79284         * lib/regex.c, regex.h: Sync from libc.
79285         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
79286         * lib/regexec.c:
79287         New files, synced from libc, except that regex_internal.h
79288         currently has a small porting fix.
79289
79290 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79291
79292         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
79293         regex_internal.c, regexec.c.
79294         Add regex_internal.h too, but as a comment, since the libc version
79295         is currently broken in gnulib mode.
79296
79297 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79298
79299         Support programs like Emacs that use gnulib but not gettext.
79300         * MODULES.html.sh (Internationalization functions): Add gettext-h.
79301         * modules/gettext-h: New file.
79302         * modules/gettext (Files): Remove lib/gettext.h.
79303         (Depends-on): Add gettext-h.
79304         (Makefile.am): Remove lib_SOURCES.
79305         * modules/argmatch, modules/c-stack, modules/closeout:
79306         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
79307         * modules/execute, modules/file-type, modules/getaddrinfo:
79308         * modules/getopt, modules/human, modules/javacomp:
79309         * modules/javaexec, modules/mkdir-p, modules/obstack:
79310         * modules/openat, modules/pagealign_alloc, modules/pipe:
79311         * modules/quotearg, modules/regex, modules/rpmatch:
79312         * modules/unicodeio, modules/userspec, modules/version-etc:
79313         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79314         * modules/xsetenv:
79315         Depend on gettext-h, not gettext.
79316
79317 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79318
79319         * gnulib-tool (func_import): Add support for 'public domain' license.
79320         * modules/alloca, modules/atexit, modules/memmove:
79321         Now public domain, not GPL.
79322         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79323         * modules/realloc, modules/strerror, modules/strtod:
79324         Now LGPL, not GPL.
79325
79326 2005-07-05  Bruno Haible  <bruno@clisp.org>
79327
79328         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79329         autoconf CVS. Needed for mingw.
79330
79331 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79332
79333         Remove the dependency of the strftime module on the tzset module.
79334         * modules/strftime (Depends-on): Remove dependency on tzset.
79335
79336 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         Remove the dependency of the strftime module on the tzset module.
79339         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79340         gl_FUNC_TZSET_CLOBBER.
79341
79342 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79343
79344         Remove the dependency of the strftime module on the tzset module.
79345         * lib/strftime.c (my_strftime)
79346         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79347         Copy the input structure, to work around some of the bug with
79348         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79349         Solaris releases, you should also use the tzset module, but we won't
79350         require it as a dependency any more since we don't want LGPLed code
79351         to depend on GPLed code.
79352
79353 2005-07-02  Jim Meyering  <jim@meyering.net>
79354
79355         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79356         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79357         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
79358         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
79359
79360 2005-07-02  Jim Meyering  <jim@meyering.net>
79361
79362         * lib/backupfile.c (backup_args): Change a `0' to NULL.
79363
79364 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79365
79366         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
79367         declares only 'struct timespec;' (!).
79368
79369 2005-07-01  Jim Meyering  <jim@meyering.net>
79370
79371         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
79372         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
79373         * lib/save-cwd.c, tempname.c:
79374         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79375         and don't include <sys/file.h>).
79376
79377 2005-06-29  Jim Meyering  <jim@meyering.net>
79378
79379         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79380         type name.  Use the variable name instead.
79381         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79382         Likewise.
79383
79384 2005-06-28  Simon Josefsson  <jas@extundo.com>
79385
79386         * modules/check-version (Files): Add check-version.m4.
79387
79388 2005-06-28  Simon Josefsson  <jas@extundo.com>
79389
79390         * m4/check-version.m4: New file, suggested by Jim Meyering
79391         <jim@meyering.net>.
79392
79393 2005-06-28  Simon Josefsson  <jas@extundo.com>
79394
79395         * lib/check-version.h, lib/check-version.c: New files.
79396
79397 2005-06-28  Simon Josefsson  <jas@extundo.com>
79398
79399         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79400         collision with global variable.  Better indentation.  Don't
79401         increment buffer pointer beyond buffer end.  Based on comments
79402         from Paul Eggert <eggert@cs.ucla.edu>.
79403
79404         * lib/base64.h: Indent.
79405
79406 2005-06-28  Simon Josefsson  <jas@extundo.com>
79407
79408         * doc/gnulib.texi (Library version handling): New section.
79409
79410 2005-06-28  Jim Meyering  <jim@meyering.net>
79411
79412         * check-module (find_included_lib_files): Hard-code another
79413         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
79414         but modules/fts-lgpl (correctly) does not list those files.
79415
79416         * modules/canonicalize (Files): Add lib/pathmax.h.
79417
79418 2005-06-25  Simon Josefsson  <jas@extundo.com>
79419
79420         * modules/check-version: New file.
79421
79422 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
79423
79424         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
79425         initializer of struct addrinfo, as an indication that we don't
79426         care how many members the structure has.
79427
79428 2005-06-24  Derek Price  <derek@ximbiot.com>
79429         and Bruno Haible  <bruno@clisp.org>
79430
79431         Remove stat module & update lstat.
79432         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
79433         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79434         * m4/stat.m4: Remove this file.
79435
79436 2005-06-24  Derek Price  <derek@ximbiot.com>
79437         and Bruno Haible  <bruno@clisp.org>
79438
79439         Remove stat module & update lstat.
79440         * lib/stat.c: Remove this file...
79441         (slash_aware_lstat): ...moving this content and its support...
79442         * lib/lstat.c (rpl_lstat): ...into here.
79443         * lib/lstat.h: New file.
79444
79445 2005-06-24  Derek Price  <derek@ximbiot.com>
79446         and Bruno Haible  <bruno@clisp.org>
79447
79448         Remove stat module & update lstat.
79449         * config/srclist.txt (libc sources): Remove stat.
79450
79451 2005-06-24  Derek Price  <derek@ximbiot.com>
79452         and Bruno Haible  <bruno@clisp.org>
79453
79454         Remove stat module & update lstat.
79455         * MODULES.html.sh (stat): Remove.
79456         * MODULES.html: Regenerated.
79457         * modules/lstat (Description): Correct function name.
79458         (Files): Add "lstat.h".
79459         (Depends-on): Remove stat, add xalloc, stat-macros.
79460         * modules/stat: Remove this file.
79461         (Include): Add "lstat.h", remove <sys/stat.h>.
79462
79463 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
79466         (ranged_convert): Don't save conversion in a temporary struct.
79467         This causes a warning with GCC 4.0.0, and anyway in the typical
79468         case it's not worth the extra 100 bytes or so of code.
79469         (ranged_convert, __mktime_internal): When calling a function via a
79470         pointer P, use P () rather than (*P) (), as we now assume C89 or
79471         better.
79472
79473 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79474
79475         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
79476         "who -r" failed to give output.  Problem reported by Tim Waugh.
79477
79478         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
79479         (xcalloc): Use it to avoid needless tests.
79480         Problem reported by Jim Meyering.
79481
79482 2005-06-20  Derek Price  <derek@ximbiot.com>
79483
79484         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79485         unnecessary for Autoconfs > 2.59c.
79486
79487 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79488
79489         * lib/argp.h (__option_is_short): Check upper limit of
79490         __key. Isprint() requires its argument to have the value
79491         of an unsigned char or EOF.
79492
79493 2005-06-16  Jim Meyering  <jim@meyering.net>
79494
79495         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79496         when either N or S is zero.
79497
79498 2005-06-16  Derek Price  <derek@ximbiot.com>
79499
79500         * m4/bison.m4: Declare YACC & YFLAGS precious.
79501
79502 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79503
79504         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79505         multibyte string or pattern, fall back on unibyte matching.
79506         Problem reported by James Youngman.
79507
79508 2005-06-08  Bruno Haible  <bruno@clisp.org>
79509
79510         * modules/csharpcomp: New file.
79511         * MODULES.html.sh (C#): Add csharpcomp.
79512
79513 2005-06-08  Bruno Haible  <bruno@clisp.org>
79514
79515         * m4/csharpcomp.m4: New file, from GNU gettext.
79516
79517 2005-06-08  Bruno Haible  <bruno@clisp.org>
79518
79519         * lib/csharpcomp.h: New file, from GNU gettext.
79520         * lib/csharpcomp.c: New file, from GNU gettext.
79521         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79522
79523 2005-06-08  Bruno Haible  <bruno@clisp.org>
79524
79525         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79526         warning on mingw.
79527
79528 2005-06-07  Derek Price  <derek@ximbiot.com>
79529
79530         Sync from CVS.
79531         * lib/glob_.h: Indent nested #ifdef.
79532
79533 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79534
79535         Sync from coreutils.
79536         Use "file name" when talking about file names, instead of "filename"
79537         or "path", as per the GNU coding standards.
79538         * lib/mkdir-p.c: Renamed from makepath.c.
79539         (make_dir_parents): Renamed from make_path.  All callers changed.
79540         * lib/mkdir-p.h: Likewise.  All includers changed.
79541         * lib/filenamecat.c: Renamed from path-concat.c.
79542         (file_name_concat): Renamed from path_concat.  All callers changed.
79543         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79544         * lib/filenamecat.h: Likewise.  All includers changed.
79545         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79546         in comments or local variable names.
79547         * lib/basename.c: Likewise.
79548         * lib/canonicalize.c, canonicalize.h: Likewise.
79549         * lib/dirname.c, dirname.h: Likewise.
79550         * lib/euidaccess.c: Likewise.
79551         * lib/exclude.c: Likewise
79552         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79553         * lib/fsusage.c, fsuage.h: Likewise.
79554         * lib/fts.c, fts_.h: Likewise.
79555         * lib/getcwd.c: Likewise.
79556         * lib/getloadavg.c: Likewise.
79557         * lib/mkstemp.c: Likewise.
79558         * lib/mountlist.c, mountlist.h: Likewise.
79559         * lib/openat.c, openat.h: Likewise.
79560         * lib/readlink-stub.c: Likewise.
79561         * lib/readutmp.c, readutmp.h: Likewise.
79562         * lib/rename.c: Likewise.
79563         * lib/rmdir.c: Likewise.
79564         * lib/same.c: Likewise.
79565         * lib/savedir.c: Likewise.
79566         * lib/stripslash.c: Likewise.
79567         * lib/tempname.c: Likewise.
79568         * lib/xreadlink.c: Likewise.
79569         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79570         All uses changed.
79571         * lib/exclude.h: Likewise.
79572
79573         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79574         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79575         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79576         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79577         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79578         files have been getting away with it for years (MORE/BSD 4.3
79579         is extinct now).
79580         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79581         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79582
79583         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79584         Define to 256, not 255, as per modern POSIX.
79585
79586 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         Sync from coreutils.
79589         Use "file name" when talking about file names, instead of "filename"
79590         or "path", as per the GNU coding standards.
79591         * MODULES.html.sh: mkdir-p renamed from makepath.
79592         filenamecat renamed from path-concat.
79593         * modules/filenamecat: Renamed from modules/path-concat.
79594         (Files): filenamecat.h and filenamecat.c renamed from
79595         path-concat.h and path-concat.c.
79596         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79597         (Include): filenamecat.h, not path-concat.h.
79598         * modules/mkdir-p: Renamed from modules/makepath.
79599         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79600         makepath.c.
79601         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79602         (Include): mkdir-p.h, not makepath.h.
79603
79604 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79605
79606         Sync from coreutils.
79607         * m4/mkdir-p.m4: Renamed from makepath.m4.
79608         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79609         Rename files from makepath.c to mkdir-p.c, and from
79610         makepath.h to mkdir-p.h.
79611         * m4/filenamecat.m4: Renamed from path-concat.m4.
79612         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79613         Rename files from path-concat.c to filenamecat.c,
79614         and from path-concat.h to filenamecat.h.
79615         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79616         "file name" in local variables or comments.
79617         * m4/rename.m4: Likewise.
79618
79619 2005-06-01  Bruno Haible  <bruno@clisp.org>
79620
79621         * modules/csharpexec: New file.
79622         * MODULES.html.sh (C#): New section.
79623
79624 2005-06-01  Bruno Haible  <bruno@clisp.org>
79625
79626         * m4/csharp.m4: New file, from GNU gettext.
79627         * m4/csharpexec.m4: New file, from GNU gettext.
79628
79629 2005-06-01  Bruno Haible  <bruno@clisp.org>
79630
79631         * lib/csharpexec.h: New file, from GNU gettext.
79632         * lib/csharpexec.c: New file, from GNU gettext.
79633         * lib/csharpexec.sh.in: New file, from GNU gettext.
79634
79635 2005-05-31  Derek Price  <derek@ximbiot.com>
79636             Paul Eggert  <eggert@cs.ucla.edu>
79637
79638         Sync from cvs.
79639         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79640
79641 2005-05-31  Derek Price  <derek@ximbiot.com>
79642             Paul Eggert  <eggert@cs.ucla.edu>
79643
79644         Sync from cvs.
79645         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79646
79647 2005-05-29  Derek Price  <derek@ximbiot.com>
79648
79649         * config/srclist.txt (glob_.h, glob.c): Add these files.
79650
79651 2005-05-29  Derek Price  <derek@ximbiot.com>
79652
79653         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79654         * modules/glob: New file.
79655         * modules/getlogin_r: Add link to POSIX spec in description.
79656
79657 2005-05-29  Derek Price  <derek@ximbiot.com>
79658             Paul Eggert  <eggert@cs.ucla.edu>
79659
79660         * m4/glob.m4: New file.
79661
79662 2005-05-29  Derek Price  <derek@ximbiot.com>
79663             Paul Eggert  <eggert@cs.ucla.edu>
79664
79665         * lib/glob_.h, lib/glob.c: New files.
79666
79667 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79668
79669         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79670         * modules/fts-lgpl (Depends-on): Remove gettext.
79671
79672 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79673
79674         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79675         and don't require gt_INTTYPES_PRI.
79676
79677 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79678
79679         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79680
79681         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79682         the configuration hassle isn't worth it.
79683         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79684         (LONGEST_MODIFIER, PRIuMAX): Remove.
79685
79686 2005-05-27  Bruno Haible  <bruno@clisp.org>
79687
79688         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79689
79690 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79691
79692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79693         _POSIX_PTHREAD_SEMANTICS for Solaris.
79694
79695 2005-05-25  Derek Price  <derek@ximbiot.com>
79696
79697         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79698
79699 2005-05-25  Derek Price  <derek@ximbiot.com>
79700             Paul Eggert  <eggert@cs.ucla.edu>
79701
79702         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79703         * lib/getlogin_r.c, getlogin_r.h: New files.
79704
79705 2005-05-25  Bruno Haible  <bruno@clisp.org>
79706             Derek Price  <derek@ximbiot.com>
79707
79708         * lib/getlogin_r.h: Simplify API documentation.
79709
79710 2005-05-23  Derek Price  <derek@ximbiot.com>
79711
79712         * modules/minmax (Files): Add m4/minmax.m4.
79713         (configure.ac): Add gl_MINMAX.
79714
79715 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79716
79717         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79718         so that unistd-safer.h (GPL'ed code) need not be included.
79719
79720 2005-05-22  Bruno Haible  <bruno@clisp.org>
79721
79722         * m4/minmax.m4: New file.
79723         Based on a patch by Derek Price <derek@ximbiot.com>.
79724
79725 2005-05-22  Bruno Haible  <bruno@clisp.org>
79726
79727         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79728         (INT64_MIN): Fix definition.
79729         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79730
79731         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79732         NEED_SIGNED_INT_TYPES.
79733
79734         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79735         HAVE_SYSTEM_INTTYPES.
79736
79737 2005-05-22  Bruno Haible  <bruno@clisp.org>
79738
79739         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79740         Also include <sys/param.h> if it defines MIN, MAX.
79741         Based on a patch by Derek Price <derek@ximbiot.com>.
79742
79743 2005-05-21  Jim Meyering  <jim@meyering.net>
79744
79745         * modules/fts (Files): Add m4/inttypes-pri.m4.
79746         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79747
79748 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79749
79750         New fts module.
79751         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79752         (setup_dir, free_dir): New functions.
79753         (enter_dir, leave_dir): Define trivial
79754         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79755         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79756         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79757         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79758         Move to fts-cycle.c.
79759         (fts_open): Use setup_dir.
79760         (fts_close): Use free_dir.
79761         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79762         This adds a label and some gotos, but the alternatives were messier.
79763         Check for memory allocation failure when entering a dir.
79764         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79765         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79766         (FTS): New member fts_cycle, that is a union that contains the
79767         old active_dir_ht and cycle_state.  All uses changed to mention
79768         fts_cycle.ht and fts_cycle.state.
79769         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79770         fts.c, with the following changes:
79771         (setup_dir, free_dir): New functions.
79772         (enter_dir): Now returns bool.  Return true if successful, false
79773         if memory exhausted.  All callers changed.
79774         Do not bother partly cleaning up on
79775         memory allocation failure; that is free_dir's job.
79776         However, free ad if hash_insert fails, to avoid memory leak.
79777         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79778         fts->fts_options to see which union member to use.
79779
79780 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79781
79782         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79783         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79784
79785 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79786
79787         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79788
79789 2005-05-20  Jim Meyering  <jim@meyering.net>
79790
79791         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79792         Now a macro, to pacify GCC.
79793
79794 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79795
79796         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79797         of -1.
79798
79799 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79800
79801         * lib/chown.c (rpl_chown): Return -1 on failure.
79802
79803 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79804
79805         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79806         Don't check for stddef.h.
79807         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79808         don't use its results.
79809         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79810         since we include them unconditionally.  Don't require
79811         AM_STDBOOL_H, since stdbool is a prerequisite.
79812         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79813         since we assume C89 or better.
79814         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79815         as we don't use their results.
79816         Don't check for fchdir, memmove, memset, strrchr, as we use
79817         them unconditionally.
79818         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79819         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79820
79821 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79822
79823         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79824         Include <stddef.h> unconditionally, since we assume C89 now.
79825         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79826         * lib/fts.c: Include fts_.h first, to check interface.
79827         Do not include intprops.h; no longer needed.
79828         Include cycle-check.h and hash.h, since fts_.h no longer does.
79829         Remove unnecessary casts of closedir to void.
79830         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79831         decide whether to decrement nlinks.
79832         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79833         (FTS): Use struct hash_table * instead of Hash_table, so that
79834         we no longer need to include hash.h here.
79835
79836 2005-05-18  Jim Meyering  <jim@meyering.net>
79837
79838         * modules/dirfd (License): Change to LGPL.  Most of the code
79839         is already in the public domain.
79840
79841 2005-05-18  Jim Meyering  <jim@meyering.net>
79842
79843         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79844         Reported by Yoann Vandoorselaere.
79845
79846 2005-05-17  Jim Meyering  <jim@meyering.net>
79847
79848         * m4/fts.m4: New file, from coreutils.
79849
79850 2005-05-17  Jim Meyering  <jim@meyering.net>
79851
79852         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79853
79854 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79855
79856         Sync from coreutils.
79857         * m4/unlinkdir.m4: New file.
79858
79859 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79860
79861         Sync from coreutils.
79862         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79863         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79864         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79865         White space changes only.
79866         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79867         special.
79868         * lib/yesno.c: Include getline.h, not ctype.h.
79869         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79870         Use getline to remove arbitrary restriction on response length.
79871
79872 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79873
79874         * config/srclist-update: Spell out "Street" in FSF postal
79875         mail address; this is the style the FSF seems to prefer.
79876
79877         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79878         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79879         this updates FSF postal mail address.
79880
79881         Sync from coreutils.
79882         * modules/unlinkdir: New file.
79883         * modules/yesno (Depends-on): Add getline.
79884         * MODULES.html.sh (File system functions): Add unlinkdir.
79885
79886 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79887
79888         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79889         lib/strsep.h:
79890         Change the initial comment to refer to GPL, not LGPL.
79891         gnulib-tool will change it to LGPL as needed.
79892
79893         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79894         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79895         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79896         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79897         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79898         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79899         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79900         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79901         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79902         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79903         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79904         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79905         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79906         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79907         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79908         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79909         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79910         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79911         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79912         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79913         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79914         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79915         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79916         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79917         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79918         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79919         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79920         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79921         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79922         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79923         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79924         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79925         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79926         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79927         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79928         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79929         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79930         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79931         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79932         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79933         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79934         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79935         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79936         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79937         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79938         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79939         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79940         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79941         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79942         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79943         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79944         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79945         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79946         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79947         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79948         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79949         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79950         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79951         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79952         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79953         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79954         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79955         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79956         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79957         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79958         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79959         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79960         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79961         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79962         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79963         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79964         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79965         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79966         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79967         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79968         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79969         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79970         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79971         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79972         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79973         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79974         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79975         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79976         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79977         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79978         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79979         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79980         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79981         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79982         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79983         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79984         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79985         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79986         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79987         lib/yesno.c, lib/yesno.h:
79988         Update FSF postal mail address.
79989
79990 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79991
79992         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79993         tests/test-memmem.c, tests/test-stpncpy.c:
79994         Update FSF postal mail address.
79995
79996 2005-05-13  Bruno Haible  <bruno@clisp.org>
79997
79998         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79999         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80000         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80001         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80002         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80003         Add support for 64-bit integers in the MSVC compiler.
80004
80005 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80006
80007         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80008
80009 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80010
80011         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80012
80013 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80014
80015         * doc/getdate.texi (General date syntax): Don't say that date
80016         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80017         Problem reported by Nic Ferrier.
80018
80019 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80020
80021         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80022         specified in ai_socktype. Fix invalid ai_protocol
80023         check. ai_protocol is usually set to 0 or depending on
80024         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80025         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80026         ai_socktype / ai_protocol in the returned addrinfo structure.
80027
80028 2005-05-10  Simon Josefsson  <jas@extundo.com>
80029
80030         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80031         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80032
80033 2005-05-10  Karl Berry  <karl@gnu.org>
80034
80035         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80036         (from http://www.gnu.org/licenses).
80037         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80038         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80039         fdl.texi suffices.
80040
80041 2005-05-10  Karl Berry  <karl@gnu.org>
80042
80043         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80044         (COPYING.DOC): remove.
80045
80046         * config/srclist-update: new FSF address.
80047
80048 2005-05-10  Derek Price  <derek@ximbiot.com>
80049
80050         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80051         possible.
80052
80053 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80054             Bruno Haible  <bruno@clisp.org>
80055
80056         * modules/inet_ntop: New file.
80057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80058         inet_ntop.
80059
80060 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80061             Bruno Haible  <bruno@clisp.org>
80062
80063         * m4/inet_ntop.m4: New file.
80064
80065 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80066             Bruno Haible  <bruno@clisp.org>
80067
80068         * lib/inet_ntop.h: New file.
80069         * lib/inet_ntop.c: New file, from glibc with modifications.
80070
80071 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80072
80073         * modules/time_r (License): Change to LGPL.
80074         * modules/extensions (License): Change to LGPL.  Actually,
80075         the license is more permissive than that, but currently gnulib-tool
80076         doesn't know how to handle more-permissive licenses.
80077
80078         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80079         Problem reported by Dave Love.
80080
80081 2005-05-08  Jim Meyering  <jim@meyering.net>
80082
80083         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80084         blank.
80085
80086 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80087
80088         * modules/argmatch (Depends-on): Add stdbool.
80089         * modules/backupfile (Depends-on): Likewise.
80090         * modules/chdir-long (Depends-on): Likewise.
80091         * modules/closeout (Depends-on): Likewise.
80092         * modules/cycle-check (Depends-on): Likewise.
80093         * modules/dirname (Depends-on): Likewise.
80094         * modules/fnmatch (Depends-on): Likewise.
80095         * modules/fsusage (Depends-on): Likewise.
80096         * modules/fwriteerror (Depends-on): Likewise.
80097         * modules/getcwd (Depends-on): Likewise.
80098         * modules/getloadavg (Depends-on): Likewise.
80099         * modules/hard-locale (Depends-on): Likewise.
80100         * modules/makepath (Depends-on): Likewise.
80101         * modules/mountlist (Depends-on): Likewise.
80102         * modules/nanosleep (Depends-on): Likewise.
80103         * modules/posixtm (Depends-on): Likewise.
80104         * modules/quotearg (Depends-on): Likewise.
80105         * modules/readtokens (Depends-on): Likewise.
80106         * modules/readtokens0 (Depends-on): Likewise.
80107         * modules/readutmp (Depends-on): Likewise.
80108         * modules/save-cwd (Depends-on): Likewise.
80109         * modules/strftime (Depends-on): Likewise.
80110         * modules/userspec (Depends-on): Likewise.
80111         * modules/utimecmp (Depends-on): Likewise.
80112         * modules/xgetcwd (Depends-on): Likewise.
80113         * modules/xnanosleep (Depends-on): Likewise.
80114         * modules/xstrtod (Depends-on): Likewise.
80115         * modules/yesno (Depends-on): Likewise.
80116
80117 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80118
80119         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80120         needless checks.
80121
80122 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80123
80124         Merge from coreutils.  Among other things,
80125         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80126         * lib/fd-safer.c: New file.
80127         * lib/fcntl-safer.h, open-safer.c: Remove.
80128         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80129         * lib/dup-safer.c: Include unistd-safer.h first.
80130         Don't include errno.h.
80131         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80132         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80133         * lib/file-type.c: Rely on file-type.h change.
80134         * lib/getloadavg.c: Include unistd-safer.h.
80135         (getloadavg): Use safer open.
80136         * lib/getusershell.c: Include "stdio-safer.h".
80137         (getusershell): Use safer fopen.
80138         * lib/long-options.c (long_options): Use NULL rather than 0.
80139         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80140         'free'.
80141         * lib/modechange.c: Likewise.
80142         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80143         (MODE_DONE): New constant.
80144         (struct mode_change): Remove 'next' member.
80145         (make_node_op_equals): New function; like the old one of the
80146         same name, except it allocates an array.
80147         (mode_compile, mode_create_from_ref): Use it.
80148         (mode_compile): Allocate result as an array, not a linked list.
80149         Parse octal string ourself, so that we catch mistakes like "+0".
80150         (mode_adjust): Arg is an array, not a linked list.
80151         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80152         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80153         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80154         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80155         Remove.  This is now stat-macros.h's job.
80156         (talloc): Remove.  All callers replaced by xalloc, so that
80157         our invokers don't have to worry about reporting memory failures.
80158         (make_node_op_equals): Remove.
80159         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80160         New constants.
80161         (struct mode_change): Moved here from modechange.h.
80162         (mode_append_entry): Remove.
80163         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80164         apps to have incorrect behavior.  Use simpler algorithm for head
80165         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80166         Detect more invalid usages rather than having somewhat-random behavior.
80167         Don't insert an "a=" action, as that leads to incorrect behavior.
80168         (mode_compile, mode_create_from_ref): Return NULL on error instead
80169         of an enum, since now there's only one way to have an error.  All
80170         callers changed.
80171         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80172         at the correct time.  Simplify calculation of "+u" and its ilk.
80173         Don't mishandle "+X".
80174         (mode_free): Remove "register" and localize decls.
80175         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80176         (struct mode_change): Move to modechange.c; callers don't
80177         need to see this stuff.
80178         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80179         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80180         (mode_change, mode_adjust): Reflect the new signatures noted above.
80181         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80182         that might redefine system include files.
80183         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80184         (my_usleep): Use NULL rather than (void *) 0.
80185         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80186         Use siginterrupt to specify that system calls should be interrupted.
80187         (rpl_nanosleep): Move initialization of suspended closer to call of
80188         my_usleep.
80189         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
80190         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
80191         (desirable_utmp_entry): New function.
80192         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
80193         using x2nrealloc, to simplify logic.
80194         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
80195         size calculation.  Do not assume utmp file is a regular file.
80196         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
80197         (READ_UTMP_CHECK_PIDS): New constant.
80198         * lib/save-cwd.c: Include unistd-safer.h.
80199         (save_cwd): Use fd_safer.
80200         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
80201         [!_LIBC] Include "stat-macros.h" instead.
80202         * lib/unistd-safer.h (fd_safer): New decl.
80203
80204 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80205
80206         * modules/getloadavg (Depends-on): Add unistd-safer.
80207         * modules/getusershell (Depends-on): Add stdio-safer.
80208         * modules/lstat (Depends-on): Remove xalloc.
80209         * modules/mkstemp (Depends-on): Add stat-macros.
80210         * modules/modechange (Depends-on): Remove xstrtol.
80211         Add stat-macros, xalloc.
80212         * modules/save-cwd (Depends-on): Add unistd-safer.
80213         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
80214         * modules/unistd-safer (Files): Add lib/fd-safer.c
80215         (Makefile.am): Remove lib_SOURCES.
80216
80217         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
80218         Remove fcntl-safer; unistd-safer supersedes it.
80219
80220 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80221
80222         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
80223         AC_HEADER_STAT.
80224         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
80225         (gl_PREREQ_CHOWN): Remove.
80226         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
80227         it.  Don't require AC_HEADER_STAT.
80228         (gl_PREREQ_LSTAT): Remove.
80229         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
80230         Don't require AC_HEADER_STAT.
80231         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
80232         (gl_PREREQ_RMDIR): Remove.
80233         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
80234         mention stat-macros.h or AC_HEADER_STAT, since we'll make
80235         the stat-macros module a prerequisite.
80236         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
80237         * m4/filemode.m4 (gl_FILEMODE): Likewise.
80238         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
80239         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
80240         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
80241         variable names.
80242         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
80243         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
80244         variable prefixes.
80245         * m4/fcntl-safer.m4: Remove.
80246         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
80247         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
80248         Invoke gl_PREREQ_FD_SAFER.
80249         (gl_PREREQ_FD_SAFER): New macro.
80250         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
80251         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
80252         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
80253         Remove duplicate call to AC_LIBOBJ(readutmp).
80254         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
80255
80256         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
80257         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
80258
80259 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80260
80261         * MODULES.html.sh (Misc): Add byteswap.
80262
80263 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80264
80265         * modules/getcwd (Depends-on): Add extensions.
80266         * modules/openat (Depends-on): Likewise.
80267
80268 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80269
80270         * modules/byteswap: New file.
80271
80272 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80273
80274         * m4/byteswap.m4: New file.
80275
80276 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80277
80278         * lib/byteswap_.h: New file.
80279
80280 2005-04-25  Karl Berry  <karl@gnu.org>
80281
80282         * m4/gettext.m4: Update from GNU gettext 0.14.4.
80283
80284 2005-04-25  Albert Chin  <china@thewrittenword.com>
80285
80286         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
80287         Toolkit C bug.
80288
80289 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
80290
80291         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
80292         (func_ln_if_changed): Remove forcibly for no error message
80293         in case file does not exist.
80294
80295 2005-04-19  Simon Josefsson  <jas@extundo.com>
80296
80297         * gnulib-tool (Options): Make --symlink mean --symbolic.
80298
80299 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
80300
80301         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
80302
80303 2005-04-16  Simon Josefsson  <jas@extundo.com>
80304
80305         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
80306
80307 2005-04-15  Simon Josefsson  <jas@extundo.com>
80308
80309         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80310
80311 2005-04-15  Simon Josefsson  <jas@extundo.com>
80312
80313         * gnulib-tool: Rename --symlink to --symbolic.
80314
80315 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80316
80317         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80318         symbolic links to files instead of copying/moving.  Add --aux-dir,
80319         specifying directory relative --dir where auxiliary build tools
80320         are placed.
80321
80322 2005-04-14  Bruno Haible  <bruno@clisp.org>
80323
80324         * modules/allocsa (License): Change to LGPL.
80325         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80326
80327 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80328
80329         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80330         that "UTC +1 second" continues to work.  Problem reported
80331         by Dmitry V. Levin.
80332         (relunit_snumber): New rule.
80333         (relunit): Use it.
80334
80335 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80336
80337         * lib/getdate.y (universal_time_zone_table): New constant.
80338         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80339         universal_time_zone_table.
80340         (lookup_zone): Prefer universal_time_zone_table to
80341         local_time_zone_table, so that "GMT" time stamps are allowed in
80342         London during the summer.  Problem reported by Ian Abbott.
80343
80344 2005-04-12  Jim Meyering  <jim@meyering.net>
80345
80346         * lib/human.c (humblock): Set *options even when returning due to
80347         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80348         warning from gcc-4.
80349
80350 2005-04-09  Jim Meyering  <jim@meyering.net>
80351
80352         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80353         -Wuninitialized: initialize tm0.tm_year.
80354
80355 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80356
80357         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
80358         count, since there's no maximum.  All uses changed.
80359         Add member dsts_seen.
80360         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
80361         not being INT_MAX.
80362         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
80363         Use pc_rels_seen to decide whther a date is absolute.
80364
80365         * lib/getdate.y (number): Don't overwrite year.
80366         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
80367         check.
80368
80369 2005-04-02  Simon Josefsson  <jas@extundo.com>
80370
80371         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
80372         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
80373
80374 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
80375
80376         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
80377         where no absolute path name can be longer than PATH_MAX.
80378
80379 2005-03-27  Jim Meyering  <jim@meyering.net>
80380
80381         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80382
80383 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80384
80385         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80386         "one's complement" -> "ones' complement" in comment, as per Knuth.
80387         "value of type" -> "type or expression" in comment.
80388         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80389
80390 2005-03-26  Jim Meyering  <jim@meyering.net>
80391
80392         Comment nits.
80393         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80394         Correct typos: s/or/of/.
80395
80396 2005-03-26  Jim Meyering  <jim@meyering.net>
80397
80398         * modules/check-include-files: Move to ../ and rename to...
80399         * check-module: ...this.
80400
80401 2005-03-25  Jim Meyering  <jim@meyering.net>
80402
80403         * modules/xvasprintf (Files): Add xalloc.h.
80404
80405 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80406
80407         * modules/gettext (Files): config/config.rpath ->
80408         build-aux/config.rpath
80409         * modules/iconv (Files): Likewise.
80410         Problem reported by Oskar Liljeblad.
80411
80412 2005-03-23  Jim Meyering  <jim@meyering.net>
80413
80414         * modules/check-include-files: New script to check for
80415         missing dependencies, multiple includes, etc.
80416
80417         * modules/c-strtold (Depends-on): Add xalloc.
80418         * modules/c-strtod (Depends-on): Add xalloc.
80419         * modules/hash (Depends-on): Add xalloc.
80420         (Files): Remove lib/xalloc.h.
80421
80422         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
80423         * modules/userspec (Files): Add lib/inttostr.h.
80424
80425 2005-03-23  Jim Meyering  <jim@meyering.net>
80426
80427         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
80428
80429 2005-03-22  Jim Meyering  <jim@meyering.net>
80430
80431         * modules/stat-macros: New module.
80432         * modules/canonicalize, modules/euidaccess, modules/file-type,
80433         * modules/filemode, modules/lchown, modules/makepath,
80434         * modules/rmdir, modules/stat: Depend on new stat-macros module
80435         rather than listing lib/stat-macros.h manually.
80436         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
80437
80438 2005-03-22  Jim Meyering  <jim@meyering.net>
80439
80440         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
80441
80442 2005-03-22  Bruno Haible  <bruno@clisp.org>
80443
80444         * config/srclist.txt: Replace target directory 'config' with
80445         'build-aux'.
80446         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
80447         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
80448         ../build-aux/.
80449
80450 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
80451
80452         * modules/chdir-long (Depends-on): Add mempcpy.
80453
80454         * modules/acl, modules/backupfile, modules/c-strtod,
80455         modules/c-strtold, modules/canon-host, modules/canonicalize,
80456         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
80457         modules/exclude, modules/exitfail, modules/file-type,
80458         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
80459         modules/getdate, modules/getline, modules/getpagesize,
80460         modules/getpass, modules/getugroups, modules/group-member,
80461         modules/hard-locale, modules/hash, modules/human, modules/idcache,
80462         modules/inttostr, modules/long-options, modules/makepath,
80463         modules/md5, modules/memcasecmp, modules/memcoll,
80464         modules/modechange, modules/mountlist, modules/path-concat,
80465         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
80466         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
80467         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
80468         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
80469         modules/strftime, modules/strndup, modules/strverscmp,
80470         modules/timespec, modules/unlocked-io, modules/userspec,
80471         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
80472         modules/yesno:
80473         Remove lib_SOURCES line from Makefile.am section, as this is now
80474         done automatically by the corresponding Autoconf macro.
80475
80476 2005-03-21  Jim Meyering  <jim@meyering.net>
80477
80478         Changes imported from coreutils.
80479
80480         * lib/cycle-check.c: Don't include xalloc.h.
80481
80482         * lib/path-concat.c: Don't include assert.h.
80483         (path_concat): Remove assertion that would have triggered
80484         for ABASE starting with more than one slash.
80485         Reported by Andreas Schwab.
80486
80487         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80488         properly when ABASE is an absolute file name.
80489         Correct the description of this function.
80490         Include <assert.h>.
80491         Add an assertion and a test driver.
80492         This fixes a bug introduced on 2004-07-02.
80493         Andreas Schwab reported the resulting failure of cp --parents:
80494         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80495
80496 2005-03-21  Jim Meyering  <jim@meyering.net>
80497
80498         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80499         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80500
80501 2005-03-21  Jim Meyering  <jim@meyering.net>
80502         and  Paul Eggert  <eggert@cs.ucla.edu>
80503
80504         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80505         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80506         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80507         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80508         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80509         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80510         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80511         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80512         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80513         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80514         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80515         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80516         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80517         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80518         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80519         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80520         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80521         for these modules.
80522
80523 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80524
80525         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80526         (which shouldn't happen), generate nothing instead of returning 0
80527         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80528
80529 2005-03-16  Bruno Haible  <bruno@clisp.org>
80530
80531         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80532         HAVE_LONGLONG_64BIT.
80533
80534 2005-03-16  Bruno Haible  <bruno@clisp.org>
80535
80536         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80537         HAVE_LONGLONG_64BIT.
80538
80539 2005-03-16  Bruno Haible  <bruno@clisp.org>
80540
80541         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80542         HAVE_LONGLONG_64BIT.
80543
80544 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80545
80546         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80547         reliably distinguish strftime failure from empty output on POSIX
80548         hosts.
80549
80550 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80551
80552         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80553         (iconv_string): Don't guess a size-zero buffer, as that might cause
80554         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80555         result would be 'too large', where 'too large' is (heuristically)
80556         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80557         overflow concerns.  This will prevent some unwanted malloc failures
80558         when the inputs are very large.
80559
80560 2005-03-15  Karl Berry  <karl@gnu.org>
80561
80562         * config/srclist.txt (config.rpath): from gettext.
80563         * config/config.rpath: update.
80564
80565 2005-03-15  Bruno Haible  <bruno@clisp.org>
80566
80567         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80568         to 'negate'.
80569
80570         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80571         variable.
80572
80573         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80574         results.
80575
80576 2005-03-14  Simon Josefsson  <jas@extundo.com>
80577
80578         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80579         <fx@gnu.org>.
80580
80581 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80582
80583         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80584         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80585         intprops.h.
80586         * lib/strtol.c: Likewise.
80587
80588 2005-03-14  Jim Meyering  <jim@meyering.net>
80589
80590         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80591         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80592         to be nonzero so that we (and caller) can detect the difference
80593         between a valid zero-length expansion and an error return, even
80594         when the underlying strftime fails before writing anything into
80595         that location.
80596
80597 2005-03-14  Bruno Haible  <bruno@clisp.org>
80598
80599         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80600         Update from GNU gettext 0.14.3.
80601
80602 2005-03-10  Jim Meyering  <jim@meyering.net>
80603
80604         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80605
80606 2005-03-10  Jim Meyering  <jim@meyering.net>
80607
80608         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80609         so that this module works on systems without fchdir.
80610
80611 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80612
80613         Factor int-properties macros into a single file, except for
80614         glibc-related files.
80615         * lib/intprops.h: New file.
80616         * lib/getloadavg.c: Include it instead of limits.h.
80617         (INT_STRLEN_BOUND): Remove.
80618         * lib/human.c: Include intprops.h.
80619         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80620         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80621         302/1000.
80622         * lib/inttostr.h: Include intprops.h instead of limits.h.
80623         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80624         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80625         for consistency with intprops.h.
80626         (time_t_is_integer, twos_complement_arithmetic): Use them.
80627         * lib/sig2str.h: Include <signal.h>, intprops.h.
80628         (INT_STRLEN_BOUND): Remove.
80629         * lib/strftime.c (TYPE_SIGNED): Remove.
80630         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80631         * lib/strtol.c: Adjust comments to match intprops.h.
80632         * lib/userspec.c: Include intprops.h.
80633         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80634         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80635         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80636         instead of rolling our own expressions.
80637         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80638
80639         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80640         instead of int.
80641         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80642         the right thing even if adding 1900 would overflow.  Similarly
80643         for tm_mon + 1 and tm_yday + 1.
80644         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80645         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80646         (DO_SIGNED_NUMBER): New macro.
80647         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80648
80649 2005-03-07  Bruno Haible  <bruno@clisp.org>
80650
80651         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80652
80653 2005-03-07  Bruno Haible  <bruno@clisp.org>
80654
80655         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80656
80657 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80658
80659         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80660         (func_import): Only replace files via --import when they have actually
80661         changed.
80662
80663 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80664
80665         * m4/mmap-anon.m4: New file.
80666         * m4/pagealign_alloc.m4: New file.
80667
80668 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80669             Bruno Haible  <bruno@clisp.org>
80670
80671         * modules/pagealign_alloc: New file.
80672         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80673
80674 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80675             Bruno Haible  <bruno@clisp.org>
80676
80677         * lib/pagealign_alloc.h: New file.
80678         * lib/pagealign_alloc.c: New file.
80679
80680 2005-03-03  Bruno Haible  <bruno@clisp.org>
80681
80682         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80683         Use an all-permissive copyright notice, recommended by RMS.
80684
80685 2005-03-02  Bruno Haible  <bruno@clisp.org>
80686
80687         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80688         of AIX, the replacement has to be done only after <string.h> is
80689         included, therefore not in config.h. stpncpy.h does the replacement,
80690         and stpncpy.c uses it.
80691
80692 2005-03-02  Bruno Haible  <bruno@clisp.org>
80693
80694         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80695         stpncpy.c uses it.
80696
80697 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80700         The workaround isn't strictly needed for POSIX conformance, and
80701         it's too much of a pain to configure and maintain.  We'll ask
80702         people to fix their kernels instead.
80703         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80704         (NANOSLEEP_BUG_WORKAROUND): Remove.
80705         (xnanosleep): Remove the workaround.
80706
80707 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80708
80709         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80710         Reported by Derek Price.
80711         (Include): Add "timespec.h".
80712
80713         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80714
80715 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80716
80717         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80718         to detect nanosleep bug.
80719
80720 2005-03-01  Bruno Haible  <bruno@clisp.org>
80721
80722         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80723
80724 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80725
80726         * modules/gethrxtime: New file.
80727         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80728         (Depends-on): Add gethrxtime.
80729         (configure.ac): Add gl_XNANOSLEEP.
80730         (Makefile.am): Remove lib_SOURCES line.
80731
80732 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80733
80734         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80735         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80736
80737 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80738
80739         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80740         * lib/timespec.h (gettime): Return void, since it always
80741         succeeds now.  All uses changed.
80742         * lib/gettime.c (gettime): Likewise.
80743         [HAVE_NANOTIME]: Prefer nanotime.
80744         Assume gettimeofday succeeds, as POSIX requires.
80745         Assime time () succeeds, since other code already does.
80746         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80747         (timespec_subtract): Remove.
80748         (NANOSLEEP_BUG_WORKAROUND): New constant.
80749         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80750         things considerably.  Use it only on GNU/Linux hosts, since the
80751         workaround shouldn't be needed elsewhere.
80752
80753 2005-02-24  Bruno Haible  <bruno@clisp.org>
80754
80755         * modules/gettext (Files): Add m4/glibc2.m4.
80756
80757 2005-02-24  Bruno Haible  <bruno@clisp.org>
80758
80759         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80760         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80761         * m4/progtest.m4:
80762         Update from GNU gettext 0.14.2.
80763         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80764
80765 2005-02-24  Bruno Haible  <bruno@clisp.org>
80766
80767         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80768         * lib/config.charset: Update from GNU gettext 0.14.2.
80769
80770 2005-02-24  Bruno Haible  <bruno@clisp.org>
80771
80772         * lib/gettext.h: Update from GNU gettext 0.14.2.
80773
80774 2005-02-23  Simon Josefsson  <jas@extundo.com>
80775
80776         * m4/iconvme.m4: New file.
80777
80778 2005-02-23  Jim Meyering  <jim@meyering.net>
80779
80780         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80781         change.
80782         Thanks to Bruno Haible for catching it.
80783
80784 2005-02-22  Simon Josefsson  <jas@extundo.com>
80785
80786         * modules/iconvme: New file.
80787
80788         * MODULES.html.sh: Add iconvme.
80789
80790 2005-02-22  Simon Josefsson  <jas@extundo.com>
80791
80792         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80793
80794 2005-02-22  Simon Josefsson  <jas@extundo.com>
80795
80796         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80797
80798 2005-02-22  Jim Meyering  <jim@meyering.net>
80799
80800         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80801         s/ifndef/ifdef/.
80802
80803 2005-02-20  Neil Conway  <neilc@samurai.com>
80804
80805         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80806         returned by OSX/Darwin if the specified buffer is not large
80807         enough for the hostname.
80808
80809 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80810
80811         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80812         pass it to _help, otherwise the latter coredumps trying to
80813         dereference state.root_argp.
80814
80815 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80816
80817         * modules/chdir-long (Depends-on): Add memrchr.
80818         * modules/memrchr (Files): Add lib/memrchr.h.
80819         (Include): "memrchr.h".
80820
80821 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80822
80823         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80824
80825 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * lib/memrchr.h: New file.
80828         * lib/chdir-long.c: Include it.
80829         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80830         Don't bother including stddef.h.
80831
80832 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80833
80834         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80835         inclusion.
80836         Include <sys/types.h>, for dev_t.
80837         (ME_DUMMY, ME_REMOTE): Move from here....
80838         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80839         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80840         Dmitry V. Levin.
80841         Include mountlist.h first, to test the interface.
80842
80843 2005-01-29  Bruno Haible  <bruno@clisp.org>
80844
80845         * lib/progname.c (program_name): Initialize.
80846         Needed when linking statically on MacOS X.
80847
80848 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80849
80850         Sync from coreutils.
80851         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80852         (Depends-on): Add c-strtod.
80853         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80854
80855 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80856
80857         Sync from coreutils.
80858         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80859
80860         Remove files that are specific to coreutils.
80861         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80862
80863 2005-01-28  Bruno Haible  <bruno@clisp.org>
80864
80865         * modules/javacomp: New file.
80866         * MODULES.html.sh (Java): Add javacomp.
80867
80868 2005-01-28  Bruno Haible  <bruno@clisp.org>
80869
80870         * m4/javacomp.m4: New file, from GNU gettext.
80871
80872 2005-01-28  Bruno Haible  <bruno@clisp.org>
80873
80874         * lib/javacomp.sh.in: New file, from GNU gettext.
80875         * lib/javacomp.h: New file, from GNU gettext.
80876         * lib/javacomp.c: New file, from GNU gettext.
80877
80878 2005-01-26  Simon Josefsson  <jas@extundo.com>
80879
80880         * lib/gai_strerror.c: Use GPL in header.
80881
80882 2005-01-26  Bruno Haible  <bruno@clisp.org>
80883
80884         * modules/javaexec: New file.
80885         * MODULES.html.sh (Java): Add javaexec.
80886
80887 2005-01-26  Bruno Haible  <bruno@clisp.org>
80888
80889         * m4/javaexec.m4: New file, from GNU gettext.
80890
80891 2005-01-26  Bruno Haible  <bruno@clisp.org>
80892
80893         * lib/javaexec.sh.in: New file, from GNU gettext.
80894         * lib/javaexec.h: New file, from GNU gettext.
80895         * lib/javaexec.c: New file, from GNU gettext.
80896
80897 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80898
80899         * modules/lchown (Depends-on): Remove lchown.h
80900
80901 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80902
80903         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80904         must be defined if the header file was not found, in order
80905         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80906
80907 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80908
80909         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80910         initializers for struct pentry_state.
80911         (__argp_error): Check return value of __asprintf
80912         (__argp_failure): Translate error message
80913
80914         * lib/argp-parse.c: Removed braces around the expansion of N_()
80915
80916 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80917
80918         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80919         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80920         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80921         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80922         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80923         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80924         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80925         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80926         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80927         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80928         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80929         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80930         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80931         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80932         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80933         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80934         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80935         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80936         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80937         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80938         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80939         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80940         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80941         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80942         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80943         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80944         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80945         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80946         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80947         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80948         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80949         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80950         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80951         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80952         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80953         Use an all-permissive copyright notice, recommended by RMS.
80954
80955 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80956
80957         * modules/chdir-long (Depends-on): Remove mempcpy.
80958
80959 2005-01-21  Jim Meyering  <jim@meyering.net>
80960
80961         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80962         same value as for Solaris 9.
80963
80964         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80965         component length.  This included changing the parameter to be
80966         of type `char *' rather than `char const *'.
80967         * lib/chdir-long.h (chdir_long): Update prototype.
80968
80969         * lib/openat.c (fdopendir, fstatat): New functions.
80970         * lib/openat.h: Include headers required for use of DIR and struct
80971         stat.
80972         [AT_SYMLINK_NOFOLLOW]: Define.
80973         (fdopendir, fstatat): Add prototypes.
80974
80975 2005-01-21  Bruno Haible  <bruno@clisp.org>
80976
80977         * modules/classpath: New file.
80978         * MODULES.html.sh (Java): Add classpath.
80979
80980 2005-01-21  Bruno Haible  <bruno@clisp.org>
80981
80982         * lib/classpath.h: New file, from GNU gettext.
80983         * lib/classpath.c: New file, from GNU gettext.
80984
80985 2005-01-20  Simon Josefsson  <jas@extundo.com>
80986
80987         * modules/version-etc-fsf: New file.
80988
80989 2005-01-20  Simon Josefsson  <jas@extundo.com>
80990
80991         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80992         * lib/version-etc.c: Remove version_etc_copyright.
80993         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80994         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80995
80996 2005-01-20  Simon Josefsson  <jas@extundo.com>
80997
80998         * lib/base64.h (isbase64): Add.
80999
81000         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81001         using a unsigned prototype, don't inline.
81002         (base64_decode): Use it.
81003
81004 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81005
81006         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81007         it.
81008
81009 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81010
81011         * lib/save-cwd.c (save_cwd): Remove code to support the case
81012         where fchdir is missing or flaky.
81013
81014 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81015
81016         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81017
81018 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81019
81020         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81021         AC_LIBSOURCES now does this.
81022         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81023         with new ullong_max module.
81024
81025 2005-01-19  Bruno Haible  <bruno@clisp.org>
81026
81027         * modules/sh-quote: New file.
81028         * MODULES.html.sh (Executing programs): Add sh-quote.
81029
81030 2005-01-19  Bruno Haible  <bruno@clisp.org>
81031
81032         * lib/sh-quote.h: New file, from GNU gettext.
81033         * lib/sh-quote.c: New file, from GNU gettext.
81034
81035 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81036
81037         Merge from coreutils.
81038         * m4/ullong_max.m4: New file.
81039         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81040         (gl_MACROS): Assume localeconv exists.
81041
81042 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81043
81044         Merge changes from coreutils, as described below in several
81045         changelogs dated today.
81046
81047         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81048         (O_DIRECTORY): Remove; not needed here, since "." must be
81049         a directory.  All uses removed.
81050         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81051         universal on Suns, and we also need to test for IRIX.
81052         Revamp code to use 'if' rather than '#if'.
81053         Avoid unnecessary comparison of cwd->desc to 0.
81054
81055         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81056         for known valid error numbers rather than observed invalid ones.
81057
81058 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81059
81060         * modules/ullong_max: New file.
81061
81062         * modules/chdir-long, modules/openat: New files.
81063         * modules/save-cwd (Depends-on): Depend on chdir-long.
81064         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81065
81066 2005-01-18  Jim Meyering  <jim@meyering.net>
81067
81068         Merge from coreutils.
81069         * m4/chdir-long.m4, m4/openat.m4: New files.
81070         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81071         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81072         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81073         is sane and DOES follow symlinks.  Besides, testing 20 different
81074         systems found no broken chown implementations.
81075         Prompted by a change in rsync's copy of this macro.
81076         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81077
81078         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81079
81080         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81081         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81082         NULL-means-set-to-current-time semantics.
81083         Remove temporary file immediately, rather than waiting
81084         for configure's at-exit trap code to do it.
81085
81086 2005-01-18  Jim Meyering  <jim@meyering.net>
81087
81088         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81089
81090         * lib/utimens.c (futimens): Account for the fact that futimes
81091         can also fail with errno == ENOSYS or errno == ENOENT.
81092         Patch from Dmitry V. Levin.
81093
81094         Change the name of the robust chdir function from chdir to chdir_long.
81095         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81096         (restore_cwd): Use chdir_long, not chdir.
81097         * lib/chdir-long.c: Renamed from chdir.c.
81098         * lib/chdir-long.h: Renamed from chdir.h.
81099         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81100         Hurd.
81101
81102 2005-01-18  Bruno Haible  <bruno@clisp.org>
81103
81104         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81105         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81106         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81107         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81108         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81109         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81110         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81111         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81112         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81113         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81114         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81115         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81116         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81117         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81118         Use an all-permissive copyright notice, recommended by RMS.
81119
81120 2005-01-18  Bob Proulx  <bob@proulx.com>
81121
81122         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81123         simplify offsetof() macro construct to avoid compile failure with
81124         native HP-UX 11.0 ANSI C compiler.
81125
81126 2005-01-17  Bruno Haible  <bruno@clisp.org>
81127
81128         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81129         redundant because stpncpy.m4 takes care of it.
81130
81131 2005-01-17  Bruno Haible  <bruno@clisp.org>
81132
81133         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81134
81135 2005-01-17  Bruno Haible  <bruno@clisp.org>
81136
81137         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81138         used.
81139
81140 2005-01-17  Bruno Haible  <bruno@clisp.org>
81141
81142         * lib/fwriteerror.h (fwriteerror): Change specification to include
81143         fclose.
81144         * lib/fwriteerror.c: Include <stdbool.h>.
81145         (fwriteerror): At the end, close the file stream. Record whether
81146         stdout was already closed.
81147
81148 2005-01-17  Bruno Haible  <bruno@clisp.org>
81149
81150         * lib/execute.c (environ): Declare if needed.
81151         * lib/pipe.c (environ): Likewise.
81152         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81153
81154 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81155
81156         * modules/argp: Depend on vsnprintf
81157
81158 2005-01-10  Jim Meyering  <jim@meyering.net>
81159
81160         * modules/closeout (Depends-on): Add atexit.
81161
81162 2005-01-06  Bruno Haible  <bruno@clisp.org>
81163
81164         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81165
81166 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81167
81168         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81169         definitions to be after all include files, to avoid collisions.
81170         Problem reported by Bob Proulx.
81171
81172 2005-01-04  Jim Meyering  <jim@meyering.net>
81173
81174         Changes imported from coreutils.
81175         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81176         as the mkstemp template, use a temporary directory and an
81177         8.3-friendly template to avoid trouble on systems like DJGPP.
81178         Reported by Juan M. Guerrero via Stepan Kasal.
81179         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81180         close. Remove the temporary directory right away, rather than waiting
81181         for configure's at-exit trap code to do it.
81182         Suggestion from Stepan Kasal.
81183
81184 2005-01-01  Simon Josefsson  <jas@extundo.com>
81185
81186         * gnulib-tool: Print #include directives when --import'ing.
81187
81188 2004-12-28  Simon Josefsson  <jas@extundo.com>
81189
81190         * tests/test-base64.c: Include required header files.  Remove
81191         unused variables.
81192
81193 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81194
81195         * modules/error (Depends-on): Remove gettext.
81196
81197 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
81200         not needed.  This removes a dependency on the gettext module.
81201         [defined _LIBC]: Do not include <libintl.h>; not needed.
81202
81203 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81204
81205         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
81206         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
81207
81208 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81209
81210         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
81211         HAVE_DECL_STRTOLD.
81212
81213 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81214
81215         * modules/getdate (Depends-on): Remove alloca-opt.
81216
81217 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81218
81219         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
81220
81221 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81222
81223         * lib/argp-parse.c: Include <stddef.h>.
81224         (alignof, alignto): New macros.
81225         (parser_init): Don't assume that void * is aligned sufficiently
81226         for struct option.
81227
81228         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
81229         need to extend the stack.
81230         (YYINITDEPTH): New macro, so that the initial stack isn't overly
81231         large.
81232
81233 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81234
81235         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
81236
81237 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81238
81239         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
81240         (2004-10-24) change.  Apparently this was a false alarm.
81241
81242         * modules/getdate: Depend on alloca-opt, not alloca.
81243
81244 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81245
81246         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
81247         Remove now-obsolete comment about AIX.
81248         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
81249         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
81250         (YYMAXDEPTH): New macro.
81251
81252 2004-12-18  Simon Josefsson  <jas@extundo.com>
81253
81254         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
81255
81256 2004-12-18  Bruno Haible  <bruno@clisp.org>
81257
81258         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
81259
81260 2004-12-18  Bruno Haible  <bruno@clisp.org>
81261
81262         * lib/fatal-signal.c (fatal_signals): Make non-const.
81263         (init_fatal_signals): New function.
81264         (uninstall_handlers, install_handlers): Ignore signals that were set to
81265         SIG_IGN.
81266         (at_fatal_signal): Call init_fatal_signals.
81267         (init_fatal_signal_set): Likewise. Ignore signals that were set to
81268         SIG_IGN.
81269         Reported by Paul Eggert.
81270
81271 2004-12-18  Bruno Haible  <bruno@clisp.org>
81272
81273         * doc/alloca.texi: New file.
81274         * doc/alloca-opt.texi: New file.
81275
81276 2004-12-17  Jim Meyering  <jim@meyering.net>
81277
81278         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
81279         Otherwise, install-sh could exit with improper exit status when
81280         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
81281
81282 2004-12-16  Simon Josefsson  <jas@extundo.com>
81283
81284         * tests/test-base64.c: Add license.
81285
81286 2004-12-15  Stepan Kasal  <address@hidden>
81287
81288         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
81289
81290 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
81291
81292         * modules/getcwd (Files): Add m4/d-ino.m4.
81293         Suggested by Mark D. Baushke.
81294
81295 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81296
81297         * lib/getdate.y (textint): New member "negative".
81298         (time_zone_hhmm): New function.
81299         Expect 14 shift-reduce conflicts, not 13.
81300         (o_colon_minutes): New rule.
81301         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
81302         (yylex): Set the "negative" member of signed numbers.
81303
81304 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81305
81306         * doc/getdate.texi (Time of day items, Time zone items):
81307         Describe new formats +00:00, UTC+00:00.
81308
81309 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81310
81311         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81312         spurious "-l"s.  Problem reported by Stepan Kasal.
81313
81314 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81315
81316         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81317         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81318
81319 2004-12-04  Simon Josefsson  <jas@extundo.com>
81320
81321         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81322         Vandoorselaere <yoann@prelude-ids.org>.
81323
81324 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81325
81326         Changes imported from coreutils.
81327         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81328         exist.
81329         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81330
81331 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81332
81333         Changes imported from coreutils.
81334         * lib/hard-locale.c: Assume <locale.h> exists.
81335         Include "strdup.h".
81336         (GLIBC_VERSION): New macro.
81337         (hard_locale): Assume setlocale exists.
81338         Rewrite to avoid #ifdef.
81339         Use strdup rather than malloc + strcpy.
81340         * lib/human.c: Assume <locale.h> exists.
81341         (human_readable): Assume localeconv exists.
81342
81343 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81344
81345         * modules/hard-locale (Depends-on): Add strdup.
81346
81347 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81348
81349         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81350         convert T2, not T.  (Imported from libc.)
81351
81352 2004-11-30  Simon Josefsson  <jas@extundo.com>
81353
81354         * modules/restrict (License): Change to LGPL.
81355
81356 2004-11-30  Simon Josefsson  <jas@extundo.com>
81357
81358         * m4/restrict.m4: Add copyright and copying conditions.
81359
81360 2004-11-30  Simon Josefsson  <jas@extundo.com>
81361
81362         * m4/base64.m4: New file.
81363
81364 2004-11-30  Simon Josefsson  <jas@extundo.com>
81365
81366         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
81367         base64.
81368
81369         * tests/test-base64.c: New file.
81370
81371         * modules/base64: New file.
81372
81373 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81374
81375         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
81376         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
81377
81378         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81379
81380 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81381
81382         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81383         (__getcwd.c): Don't restore errno; glibc doesn't.
81384         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81385         first, falling back to our code only if its results look suspicious.
81386         Ensure that the resulting buffer is only as large as necessary.
81387
81388         * lib/readutmp.c: Include readutmp.h first.
81389         Include <errno.h>, since readutmp.h no longer does that.
81390         * lib/readutmp.h: Don't include <errno.h>,
81391         <sys/param.h>, <time.h>; not needed to establish interface.
81392         (errno): Remove decl.
81393         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81394         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81395         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81396
81397 2004-11-28  Simon Josefsson  <jas@extundo.com>
81398
81399         * lib/base64.h, base64.c: New file.
81400
81401 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81402
81403         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81404
81405 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81406
81407         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81408         (Depends-on): Remove pathmax, same.  Add mempcpy.
81409         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81410         (Makefile.am): Append getcwd.h to lib_SOURCES.
81411         (Include): Add getcwd.h.
81412         (Maintainer): Change from Jim Meyering to "all, glibc",
81413         since getdate now uses intended-for-glibc code.
81414         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
81415         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
81416
81417 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81418
81419         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
81420         HP's ANSI C compiler.
81421         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
81422         Declaring int functions causes warnings on some modern systems and
81423         shouldn't be needed to compile on ancient ones.
81424         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
81425         defined.
81426
81427         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
81428         with the following changes.
81429         (__set_errno): Parenthesize properly.
81430         Include <stdbool.h>.
81431         (MIN, MAX, MATCHING_INO): New macros.
81432         (__getcwd): Define with prototype, not K&R form.
81433         Use heuristics to allocate default buffer on stack if possible.
81434         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
81435         behavior, and to avoid the PATH_MAX limit when computing
81436         ../../../../...
81437         Use MATCHING_INO to compare inode number to file.
81438         Check for arithmetic overflow in size calculations.
81439         Fix bug in reallocation of dot array that caused getcwd to fail
81440         on directories nested deeper than 75.
81441         Be more careful about saving errno on error.
81442         Do not use realloc; use only free+malloc, as this is a bit
81443         more flexible and avoids a needless copy operation.
81444         Do not inspect st_dev and st_ino for symbolic links; POSIX
81445         doesn't specify the latter.
81446         Check for closedir errors.
81447         Avoid needless casts.
81448         Use "#ifdef weak_alias" around weak_alias, to be like other
81449         glibc code.
81450         The following changes to getcwd.c have effect only when used in
81451         gnulib; they have no effect inside glibc proper.
81452         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
81453         as alloca isn't used.
81454         (alloca, __alloca): Likewise.
81455         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
81456         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81457         unconditionally, as gnulib assumes C89 or better.
81458         Do not include <sys/param.h>.
81459         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
81460         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
81461         better.
81462         (NULL) [!defined NULL]: Remove; we assume C89 or better.
81463         Include <dirent.h> in a way that is compatible with modern Autoconf.
81464         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
81465         New macros, if not already defined.
81466         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
81467         Use "_LIBC", not "defined _LIBC", for consistency.
81468         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
81469         a mempcpy module.
81470         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
81471         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
81472         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
81473         credit only to Jim Meyering and adjust the copyright dates.
81474         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
81475         <stdlib.h>, <unistd.h>, "pathmax.h".
81476         Instead, include "xgetcwd.h" (first) and "getcwd.h".
81477         (INITIAL_BUFFER_SIZE): Remove.
81478         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
81479
81480 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81481
81482         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81483         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81484         Use the _ONCE methods, for efficiency.
81485         Check for fcntl.h.  In test program, include <errno.h>
81486         and <fcntl.h> if available.  Remove old K&R cruft from
81487         test program.  Check for common errors in GNU/Linux,
81488         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81489         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81490         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81491         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81492         name accordingly.
81493         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81494         accommodate new getcwd.c.
81495         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81496         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81497         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81498         that's all we need now.
81499
81500 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81501
81502         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81503         argp-parse.c depends on getopt internals, that means we should
81504         always use our getopt, to be on the safe side.
81505         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81506         order not to spoil the result of an eventual previous invocation
81507         of gl_GETOPT_SUBSTITUTE.
81508
81509 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81510
81511         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81512         redefinition warnings. To avoid them, include the defines
81513         in `#if !defined __need_getopt ... #endif'. The only place
81514         where __getopt_argv_const is used is in definitions
81515         of getopt_long and getopt_long_only below, which are as well
81516         protected by `#ifndef __need_getopt'.
81517         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81518         __need_getopt after including <stdio.h> and <unistd.h> These
81519         headers might have defined it.
81520
81521 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81522
81523         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81524
81525 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81526
81527         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81528         (futimens): New function, which uses futimes if available.
81529         (futimens, utimens): Support timespec==NULL, with same semantics
81530         as utime and utimens.
81531         * lib/utimens.h (futimens): New decl.
81532
81533 2004-11-23  Jim Meyering  <jim@meyering.net>
81534
81535         * lib/getopt_.h: Remove trailing blanks.
81536
81537 2004-11-23  Jim Meyering  <jim@meyering.net>
81538
81539         * lib/__fpending.c: Add comment.
81540
81541 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81542
81543         * modules/canonicalize (Depends-on): Add xreadlink.
81544         Problem reported by James Youngman.
81545
81546 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81547
81548         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81549         New macros.
81550         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81551         optopt): Use them instead of invoking ## directly; otherwise, the
81552         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81553
81554 2004-11-19  Bruno Haible  <bruno@clisp.org>
81555
81556         * lib/strtok_r.c: Move comments from here...
81557         * lib/strtok_r.h: ... to here.
81558
81559 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81560
81561         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81562         implementations that mishandle size_t overflow.
81563
81564 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81565
81566         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81567         might fail.  Problem reported by Yoann Vandoorselaere.
81568         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81569         implementations that mishandle size_t overflow.
81570
81571 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81572
81573         * modules/canon-host (Depends-on): Add strdup.
81574
81575 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81576
81577         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81578
81579 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81580
81581         * lib/canon-host.c: Include "strdup.h".
81582         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81583         Use strdup instead of malloc/strcpy to duplicate strings.
81584
81585         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81586         (human_space_before_unit): New constant.
81587         * lib/human.c (human_readable): Support it.
81588
81589         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81590         (xgetcwd): Set errno correctly when failing.
81591         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81592         the failure is actually due to a PATH_MAX problem.
81593
81594         Further getopt changes to make it more likely that glibc will
81595         buy the changes back.
81596         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81597         (getopt): Use it, so to preserve glibc semantic
81598         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81599         when compiling for libc.
81600         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81601         (getopt_long, getopt_long_only): Use it.
81602
81603         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81604         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81605         (getopt): Argv is now char * const *, as per standard.
81606         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81607         not char *__getopt_argv_const *.
81608         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81609         _getopt_long_only_r): Likewise.
81610         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81611         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81612         _getopt_long_r, _getopt_long_only_r): Likewise.
81613         * lib/getopt_.h (__getopt_argv_const): Remove.
81614         (getopt): Argv is now char * const *, as per standard.
81615
81616         * lib/getdate.y (tORDINAL): New token.
81617         (day, relunit): Allow it for relative times.
81618         (relative_time_table): Use tORDINAL for ordinals.
81619
81620 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81621
81622         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81623         Document that "second" isn't allowed as an ordinal number.
81624
81625 2004-11-16  Jim Meyering  <jim@meyering.net>
81626
81627         * modules/closeout (Depends-on): Add fpending.
81628
81629 2004-11-15  Jim Meyering  <jim@meyering.net>
81630
81631         * lib/closeout.c: Include "__fpending.h" once again.
81632         Include <stdbool.h>.
81633         (close_stdout): Don't fail just because stdout was closed initially,
81634         since some programs don't write to stdout in the normal course of
81635         operation (other than --version and --help), and we don't want this
81636         function to make e.g. `touch file >&-' fail.
81637         But do fail if it was closed and someone has tried to write to it.
81638         E.g., `printf foo >&-' must fail.
81639
81640 2004-11-13  Jim Meyering  <jim@meyering.net>
81641
81642         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81643
81644 2004-11-12  Simon Josefsson  <jas@extundo.com>
81645
81646         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81647         small doc fix is still pending.
81648
81649 2004-11-11  Simon Josefsson  <jas@extundo.com>
81650
81651         * modules/strtok_r: New file.
81652
81653         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81654         strtok_r.
81655
81656 2004-11-11  Simon Josefsson  <jas@extundo.com>
81657
81658         * m4/strtok_r.m4: New file.
81659
81660         * m4/getopt.m4: Replace opterr.
81661
81662 2004-11-11  Simon Josefsson  <jas@extundo.com>
81663
81664         * lib/strtok_r.h, strtok_r.c: New file.
81665
81666 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81667
81668         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81669         of replacing opterr, getopt, etc.  This should handle the
81670         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81671
81672 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81673
81674         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81675         we can stop lying to compilers about the constness of argv when we
81676         are compiled outside glibc.
81677         (getopt, getopt_long, getopt_long_only): Use it.
81678         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81679         _getopt_internal, getopt): Likewise.
81680         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81681         _getopt_long_only_r): Likewise.
81682         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81683         _getopt_long_r, _getopt_long_only_r): Likewise.
81684
81685         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81686         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81687         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81688         the other external symbols.
81689         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81690         declaration, since the above renaming now works around collisions.
81691
81692 2004-11-11  Jim Meyering  <jim@meyering.net>
81693
81694         * lib/linebreak.c: Remove trailing blanks.
81695         * lib/alloca_.h: Likewise.
81696         * lib/acosl.c: Likewise.
81697         * lib/euidaccess.c: Likewise.
81698         * lib/allocsa.h: Likewise.
81699
81700 2004-11-10  Simon Josefsson  <jas@extundo.com>
81701
81702         * m4/getaddrinfo.m4: New file.
81703
81704 2004-11-10  Simon Josefsson  <jas@extundo.com>
81705
81706         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81707
81708 2004-11-10  Simon Josefsson  <jas@extundo.com>
81709
81710         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81711         getaddrinfo.
81712
81713         * modules/getaddrinfo: New file.
81714
81715 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81716
81717         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81718
81719 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         * lib/mktime.c (SHR): New macro, which is a portable
81722         substitute for >> that should work even on Crays.
81723         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81724         Problem reported by Mark D. Baushke in
81725         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81726         * lib/getdate.y (SHR): Likewise.
81727         (tm_diff): Use it.
81728         * lib/strftime.c (SHR): Likewise.
81729         (tm_diff): Use it.
81730         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81731         quote_these_too, so that right shifts are well defined.  All uses
81732         changed.
81733
81734 2004-11-10  Jim Meyering  <jim@meyering.net>
81735
81736         Ensure that no close failure goes unreported.
81737         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81738         return early when it seems there's nothing to flush.
81739         Don't include __fpending.h.
81740
81741 2004-11-10  Jim Meyering  <jim@meyering.net>
81742
81743         * modules/closeout (Depends-on): Remove fpending.
81744
81745 2004-11-10  Jim Meyering  <jim@meyering.net>
81746
81747         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81748
81749 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81750
81751         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81752         gl_FUNC_STRFTIME.
81753         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81754         and AC_REQUIRE when possible, to avoid duplicate checks.
81755         Check for <wchar.h>.
81756
81757 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81758
81759         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81760
81761 2004-11-09  Bruno Haible  <bruno@clisp.org>
81762
81763         * m4/sockpfaf.m4: New file.
81764
81765 2004-11-05  Bruno Haible  <bruno@clisp.org>
81766
81767         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81768         Reported by Mark D. Baushke <mdb@cvshome.org>.
81769
81770 2004-11-04  Bruno Haible  <bruno@clisp.org>
81771
81772         2004-09-11  Bruno Haible  <bruno@clisp.org>
81773                 * allocsa.valgrind: New file.
81774         2004-02-06  Bruno Haible  <bruno@clisp.org>
81775                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81776                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81777                 Reported by Christopher Seip <chris.seip@hp.com>.
81778
81779 2004-11-04  Bruno Haible  <bruno@clisp.org>
81780
81781         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81782         (Makefile.am): Distribute it.
81783
81784 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81785
81786         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81787         with errno == ERANGE if the buffer is too small.
81788         Problem reported by Mark D. Baushke.
81789
81790 2004-11-03  Albert Chin  <china@thewrittenword.com>
81791             Paul Eggert  <eggert@cs.ucla.edu>
81792
81793         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81794         equivalent, substitute $ac_type for equivalent type rather than
81795         blindly using uint32_t *always* which won't work if uint32_t is not
81796         available.  Define _UINT32_T to work around typedef of uint32_t if
81797         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81798         2.5.1.
81799
81800 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81801
81802         * m4/jm-macros.m4: Sync from coreutils.
81803         (gl_MACROS): Check for mbrlen, for pathchk.
81804         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81805
81806 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81807
81808         * lib/xreadlink.c (MAXSIZE): New macro.
81809         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81810         size does not exceed MAXSIZE.  Avoid cast.
81811         As suggested by Mark D. Baushke in
81812         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81813         if readlink fails with buffer size just under MAXSIZE, try again
81814         with MAXSIZE.
81815
81816 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81817
81818         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81819
81820 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81821         and  Paul Eggert  <eggert@cs.ucla.edu>
81822
81823         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81824         (get_date): Overparenthesize to avoid GCC warning.
81825
81826 2004-11-02  Bruno Haible  <bruno@clisp.org>
81827
81828         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81829         returns void.
81830
81831 2004-11-02  Bruno Haible  <bruno@clisp.org>
81832
81833         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81834         function returns void.
81835
81836 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81837
81838         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81839         fflush_unlocked, flockfile, funlockfile, funlockfile,
81840         fputs_unlocked, putc_unlocked.
81841
81842 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81843
81844         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81845         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81846         already declared.
81847
81848 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81849
81850         * modules/getdate (Files): Add doc/getdate.texi.
81851         (Depends-on): Add setenv, xalloc.
81852
81853 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81854
81855         * lib/getdate.y: Add support for TZ="foo" within a date string.
81856         Fix some bugs near time_t boundaries.  Reject dates with
81857         out-of-range components, e.g., "Sept 31".
81858         Include <stdlib.h>, "setenv.h", "xalloc.h".
81859         (ISDIGIT_LOCALE): Remove; unused.
81860         Note that the TZ and time functions used here are not reentrant.
81861         (mktime_ok, get_tz): New functions.
81862         (TZBUFSIZE): New constant.
81863         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81864         This requires that we sometimes generate our own TZ="XXX..." setting.
81865
81866 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81867
81868         * doc/getdate.texi: New file, from coreutils with modifications for
81869         the new TZ parsing.
81870
81871 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81872
81873         * lib/mktime.c (not_equal_tm): Remove redundant check.
81874
81875 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81876
81877         * modules/regex (lib_SOURCES): Add regex.c.
81878         Reported by James Youngman in
81879         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81880
81881 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81882
81883         * lib/getdate.y: Use Bison 1.875 features, and some minor
81884         code cleanups.  This change does not affect semantics.
81885         Don't include <stdlib.h>; no longer needed.
81886         Don't include unlocked-io.h; only the "#if TEST" code uses
81887         stdio, and performance isn't crucial there.
81888         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81889         Bison 1.875 features as described below.
81890         All uses of "PC." replaced by "pc->".
81891         (YYSTYPE): Add a forward declaration.
81892         (yylex, yyerror): Use full prototypes in forward decls.
81893         Use "%pure-parser" rather than obsolescent "%pure_parser".
81894         Use %parse-param and %lex-param instead of obsolescent
81895         YYPARSE_PARAM and YYLEX_PARAM.
81896         (meridian_table, month_and_day_table, time_units_table,
81897         relative_time_table, time_zone_table, military_table,
81898         lookup_zone, lookup_word, get_date):
81899         Use NULL instead of 0 where appropriate.
81900         (to_hour): Avoid abort (), to avoid a dependency on
81901         stdlib.h.
81902         (yyerror, yylex): Now accepts parser_control * arg.
81903         (main) [TEST]: Use '\0' rather than 0 for char.
81904
81905 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81906
81907         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81908
81909 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81910
81911         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81912         It's now the caller's responsibility to handle the case where
81913         !HAVE_GETPAGESIZE && !defined getpagesize.
81914
81915         * lib/mktime.c (leapyear): Arg is long int, not int.
81916
81917 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81918
81919         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81920
81921 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81922
81923         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81924         missing.  Problem reported by James Youngman.
81925
81926 2004-10-16  Simon Josefsson  <jas@extundo.com>
81927
81928         * gnulib-tool: Fix comments.  Fix parse problem.
81929         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81930
81931 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81934         implementation of getopt_long.  Problem reported by Alexander Taler in:
81935         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81936
81937 2004-10-15  Bruno Haible  <bruno@clisp.org>
81938
81939         * gnulib-tool: Untabify. Initialize supplied_libname.
81940         (func_usage): More homogenous output.
81941         (func_modules_transitive_closure, func_modules_to_filelist,
81942         func_emit_lib_Makefile_am): New functions.
81943         (func_import): New function, extracted from big case statement. Use
81944         func_get_license, func_modules_transitive_closure,
81945         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81946         opt_lgpl. Don't use test -a, as it's not portable.
81947         (func_create_testdir): Use func_modules_transitive_closure,
81948         func_modules_to_filelist, func_emit_lib_Makefile_am.
81949
81950 2004-10-15  Bruno Haible  <bruno@clisp.org>
81951
81952         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81953
81954 2004-10-15  Bruno Haible  <bruno@clisp.org>
81955
81956         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81957         the portions belonging to each module.
81958         Suggested by Derek Robert Price <derek@ximbiot.com>.
81959
81960 2004-10-12  Simon Josefsson  <jas@extundo.com>
81961
81962         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81963         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81964         to real functions.
81965
81966 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81967
81968         * modules/vsnprintf: New file.
81969
81970 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81971
81972         * m4/vsnprintf.m4: New file.
81973
81974 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81975
81976         * lib/vsnprintf.h: New file.
81977         * lib/vsnprintf.c: New file.
81978
81979 2004-10-11  Bruno Haible  <bruno@clisp.org>
81980
81981         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81982         vsnprintf.
81983
81984 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81985
81986         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81987
81988 2004-10-07  Bruno Haible  <bruno@clisp.org>
81989
81990         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81991         fits into the provided buffer.
81992
81993 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81994
81995         * lib/diacrit.c, diacrit.h: Add GPL notice.
81996
81997         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81998         notice.
81999         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82000         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82001         This avoids a potential constant-folding bug.
82002
82003 2004-10-05  Bruno Haible  <bruno@clisp.org>
82004
82005         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82006         for the declaration of strsep.
82007
82008 2004-10-05  Bruno Haible  <bruno@clisp.org>
82009
82010         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82011
82012 2004-10-04  Simon Josefsson  <jas@extundo.com>
82013
82014         * modules/memmem: New file.
82015         * tests/test-memmem.c: New file.
82016         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82017
82018 2004-10-04  Simon Josefsson  <jas@extundo.com>
82019
82020         * m4/memmem.m4: New file.
82021
82022 2004-10-04  Simon Josefsson  <jas@extundo.com>
82023
82024         * lib/memmem.h: New file.
82025         * lib/memmem.c: New file, taken from glibc.
82026
82027 2004-10-04  Simon Josefsson  <jas@extundo.com>
82028
82029         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82030         '#ifdef USE_UNLOCKED_IO'.
82031
82032 2004-10-04  Simon Josefsson  <jas@extundo.com>
82033
82034         * config/srclist.txt: Add memmem from glibc.
82035
82036 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82037
82038         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82039
82040         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82041         modules/exclude, modules/getdate, modules/getline,
82042         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82043         modules/getusershell, modules/linebuffer, modules/md5,
82044         modules/mountlist, modules/posixtm, modules/readtokens,
82045         modules/readutmp, modules/regex, modules/sha1,
82046         modules/version-etc, modules/yesno:
82047         Remove dependency on unlocked-io.
82048
82049 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82050
82051         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82052
82053         * m4/unlocked-io.m4: Add copyright notice.
82054         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82055
82056 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82057
82058         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82059         * lib/xmalloc.c (xmemdup): Likewise.
82060         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82061         XFREE): Remove these long-obsolescent macros.
82062         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82063         * lib/xstrdup.c: Remove.
82064
82065         * lib/regex.c (re_comp): Cast gettext return value to char *,
82066         Problem reported by Martin Neitzel via Mark D. Baushke.
82067
82068 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82069
82070         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82071         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82072         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82073         regex.c, sha1.c, version-etc.c, yesno.c:
82074         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82075         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82076         the includer's responsibility.
82077
82078         Sync from coreutils.
82079
82080         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82081         points to the start of a string, as the C Standard says the
82082         resulting behavior is undefined.
82083
82084         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82085         simple -> simple_backups, numbered_existing ->
82086         numbered_existing_backups, numbered -> numbered_backups
82087         to avoid shadowing problems.  All uses changed.
82088         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82089         * lib/backupfile.c (check_extension, numbered_backup):
82090         Rename locals to avoid shadowing 'basename'.
82091         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82092         once.
82093
82094         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82095         * lib/.cvsignore: Add getopt.h.
82096
82097 2004-10-04  Bruno Haible  <bruno@clisp.org>
82098
82099         * modules/README: New file.
82100         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82101         not a module.
82102
82103 2004-10-02  Jim Meyering  <jim@meyering.net>
82104
82105         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82106
82107 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82108
82109         * modules/strsep: New file.
82110
82111 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82112
82113         * m4/strsep.m4: New file.
82114
82115 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82116
82117         * lib/strsep.h: New file.
82118         * lib/strsep.c: New file.
82119
82120 2004-10-01  Simon Josefsson  <jas@extundo.com>
82121
82122         * lib/snprintf.c (snprintf): Handle size==0.
82123
82124 2004-10-01  Simon Josefsson  <jas@extundo.com>
82125             Bruno Haible  <bruno@clisp.org>
82126
82127         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82128         (snprintf): Declare 'args'.
82129
82130 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82131
82132         * lib/snprintf.c: Remove comments as to why each header is needed.
82133
82134 2004-10-01  Bruno Haible  <bruno@clisp.org>
82135
82136         * MODULES.html.sh: Add strsep.
82137
82138 2004-09-30  Simon Josefsson  <jas@extundo.com>
82139
82140         * modules/snprintf: New file.
82141
82142 2004-09-30  Simon Josefsson  <jas@extundo.com>
82143
82144         * m4/snprintf.m4: New file.
82145
82146 2004-09-30  Simon Josefsson  <jas@extundo.com>
82147
82148         * lib/snprintf.h, lib/snprintf.c: New files.
82149
82150 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82151
82152         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82153         (hol_entry_help): Never translate an empty string.
82154         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82155         * lib/argp.h (OPTION_NO_TRANS): New option.
82156
82157 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82158
82159         * modules/argp (Maintainer): Replace Simon Josefsson
82160         by Sergey Poznyakoff.
82161
82162 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82163
82164         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82165         changes merged back into glibc.
82166
82167 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82168
82169         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82170
82171 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82172
82173         * lib/xvasprintf.c: Include xalloc.h.
82174         (xvasprintf): Use xalloc_die, not xmalloc_die.
82175
82176 2004-09-29  Bruno Haible  <bruno@clisp.org>
82177
82178         * modules/alloca-opt: New file, derived from modules/alloca.
82179         * modules/allocsa: Depend on alloca-opt instead of alloca.
82180         * modules/setenv: Likewise.
82181         * modules/vasnprintf: Likewise.
82182         * MODULES.html.sh: Add alloca-opt.
82183
82184 2004-09-28  Simon Josefsson  <jas@extundo.com>
82185
82186         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82187         LGPL, and to replace license template from GPL to LGPL.
82188
82189 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82190
82191         * modules/dummy: Change license to LGPL.
82192
82193 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82194
82195         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
82196
82197 2004-09-24  Simon Josefsson  <jas@extundo.com>
82198
82199         * modules/minmax (License): Change from GPL to LGPL.
82200
82201 2004-09-23  Simon Josefsson  <jas@extundo.com>
82202
82203         * gnulib-tool (--import): Typo.
82204
82205 2004-09-23  Simon Josefsson  <jas@extundo.com>
82206
82207         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
82208
82209 2004-09-22  Bruno Haible  <bruno@clisp.org>
82210
82211         * modules/*: Add 'License' field.
82212         * gnulib-tool: Accept --extract-license option.
82213         (func_get_license): New function.
82214
82215 2004-09-21  Bruno Haible  <bruno@clisp.org>
82216
82217         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
82218         Reported by Simon Josefsson.
82219
82220 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
82223         gl_AC_TYPE_LONG_LONG.
82224
82225 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82226
82227         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
82228
82229 2004-09-18  Simon Josefsson  <jas@extundo.com>
82230         and  Paul Eggert  <eggert@cs.ucla.edu>
82231
82232         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
82233         calls with autoreconf.  Define GL_LIB.
82234
82235 2004-09-14  Karl Berry  <karl@gnu.org>
82236
82237         * config/srclist.txt: unsync setenv.c, sigh.
82238
82239 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82240
82241         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
82242         Problem reported by Bruno Haible in:
82243         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
82244
82245 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82246
82247         * config/srclist.txt: Comment out argp-pvh.c.
82248
82249 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
82250
82251         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
82252         in case some system header has #define'd it.  Problem reported by
82253         Soeren D. Schulze in
82254         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
82255
82256 2004-09-09  Karl Berry  <karl@gnu.org>
82257
82258         * regex.[ch]: delete from the root.  These were supposed to be
82259                 synced with emacs cvs, but this has not happened for about
82260                 a year, and anyway nothing else uses emacs regex.[ch].
82261                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
82262                 lib/regex[.ch] is untouched.
82263
82264 2004-09-09  Bruno Haible  <bruno@clisp.org>
82265
82266         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
82267
82268 2004-09-09  Bruno Haible  <bruno@clisp.org>
82269
82270         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
82271         modifications.
82272         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
82273
82274 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82275
82276         * modules/xvasprintf: New file.
82277         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
82278
82279 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82280
82281         * lib/xvasprintf.h: New file.
82282         * lib/xvasprintf.c: New file.
82283         * lib/xasprintf.c: New file.
82284
82285 2004-09-08  Bruno Haible  <bruno@clisp.org>
82286
82287         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
82288
82289 2004-09-08  Bruno Haible  <bruno@clisp.org>
82290
82291         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
82292         length is > INT_MAX.
82293         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
82294         more.
82295
82296 2004-09-08  Bruno Haible  <bruno@clisp.org>
82297
82298         * lib/stdint_.h: New file, taken from GNU clisp.
82299
82300 2004-09-08  Bruno Haible  <bruno@clisp.org>
82301             Oskar Liljeblad  <oskar@osk.mine.nu>
82302
82303         * modules/stdint: New file.
82304         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
82305
82306 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82307
82308         Import from coreutils.
82309         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82310         strings on unbounded length.  alloca's performance benefits aren't
82311         that important here.
82312         (V_STRDUP): Remove.
82313         (parse_with_separator): New function, with most of the internals
82314         of the old parse_user_spec.  Allow user to omit both user and group,
82315         for compatibility with FreeBSD.
82316         Clone only the user name, not the entire spec.
82317         Do not set *uid, *gid unless entirely successful.
82318         Avoid memory leak in some failing cases.
82319         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82320         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82321         (parse_user_spec): Rewrite to use parse_with_separator.
82322
82323 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82324
82325         * modules/userspec: Don't depend on alloca.
82326
82327 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82328
82329         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82330
82331 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82332
82333         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82334         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82335         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82336
82337 2004-08-16  Simon Josefsson  <jas@extundo.com>
82338
82339         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82340         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82341         Add --dry-run for --import.
82342         Let user provided command line parameters override configure.ac
82343         settings.
82344
82345 2004-08-12  Simon Josefsson  <jas@extundo.com>
82346
82347         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82348         as discussed with Paul Eggert in threads rooted at
82349         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82350         and
82351         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82352         Before, the test was empty, and relied on ELIDE_CODE in source
82353         code.)
82354         (gl_PREREQ_GETOPT): New macro.
82355         (gl_GETOPT): Use them.
82356
82357 2004-08-12  Simon Josefsson  <jas@extundo.com>
82358
82359         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
82360         * lib/getopt_.h: Renamed from getopt.h.
82361
82362 2004-08-12  Simon Josefsson  <jas@extundo.com>
82363
82364         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
82365         Change default library name from libfoo to libgnu.
82366         Now, if you have a configure.ac that says:
82367                 gl_SOURCE_BASE(gl)
82368                 gl_M4_BASE(gl/m4)
82369                 gl_MODULES(error getopt etcetera)
82370                 gl_INIT
82371         you can import all you need by running:
82372                 ../gnulib/gnulib-tool --import
82373
82374         * modules/getopt (Files): Rename getopt.h to getopt_.h.
82375         (Makefile.am): Rewrite, use logic from argz.
82376         (Include): Use <getopt.h> instead of "getopt.h".
82377
82378 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * modules/argp (Files): Add m4/unlocked-io.m4.
82381         (Depends-on): Add extensions.
82382
82383 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82384
82385         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82386         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82387         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82388         Check for program_invocation_name, program_invocation_short_name,
82389         flockfile, funlockfile, features.h, _getopt_long_only_r.
82390
82391 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82394         its complicated substitute.
82395         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82396         and program_invocation_name.
82397         (__argp_basename) [!_LIBC]: Remove; the only use was
82398         replaced by its body.
82399         (__argp_short_program_name): Change condition from
82400         !defined __argp_short_program_name to
82401         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82402         to match argp-namefrob.h.
82403         (__argp_failure): Don't assume strerror_r returns char *.
82404         * lib/argp-parse.c (N_): Define unconditionally.
82405         (argp_default_options): Fill out initializers with 0 to avoid
82406         gcc warnings.
82407
82408 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82411         getopt1.c.
82412
82413 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82414
82415         Merge from coreutils.
82416
82417         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
82418
82419         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
82420         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
82421
82422 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82423
82424         Merge from coreutils.
82425
82426         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
82427         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
82428         for Reliant Unix 5.43.
82429
82430         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
82431         (union fooround): Use uintmax_t, not long int.
82432         The rest is a merge from libc:
82433         [defined _LIBC]: Include <shlib-compat.h>.
82434         (_obstack) [defined _LIBC]: Remove after 2.3.4.
82435
82436         * lib/settime.c (settime): Recode to avoid warning with
82437         Sun Forte C 6U2.
82438
82439         * lib/strverscmp.c: Convert to UTF-8.
82440
82441 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82442
82443         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82444         m4/uintmax_t.m4.
82445
82446 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82447
82448         * modules/xalloc-die: New file.
82449         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
82450
82451         * modules/md5 (Files): Add m4/uint32_t.m4.
82452         * modules/sha1: Renamed from modules/sha.
82453         (Files):
82454         Rename lib/sha.h to lib/sha1.h.
82455         Rename lib/sha.c to lib/sha1.c.
82456         Rename m4/sha.m4 to m4/sha1.m4.
82457         (lib_SOURCES): Likewise.
82458         (configure.ac): Rename gl_SHA to gl_SHA1.
82459         (Include): sha.h -> sha1.h.
82460
82461 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82462
82463         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
82464         * m4/sha1.m4: Renamed from sha.m4.
82465         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
82466
82467 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82468
82469         * lib/obstack.h (obstack_empty_p):
82470         Don't assume that chunk->contents is suitably aligned.
82471         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
82472         Likewise. Problem reported by Benno in
82473         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
82474
82475         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
82476         readable.  This could be improved further but it'd take some work.
82477
82478 2004-08-08  Simon Josefsson  <jas@extundo.com>
82479
82480         * modules/xgethostname (Depends-on): Remove exit and error (not
82481         used).
82482
82483         * modules/getpass-gnu: Add getpass.h.
82484         (Depends-on): Add stdbool.
82485         * modules/getpass: Add getpass.h.
82486
82487 2004-08-08  Simon Josefsson  <jas@extundo.com>
82488
82489         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82490         Check getpass declaration.
82491
82492 2004-08-08  Simon Josefsson  <jas@extundo.com>
82493
82494         * lib/xgethostname.c: Don't include error.h (not used).
82495
82496         * lib/getpass.h: Add.
82497         * lib/getpass.c: Include getpass.h first.
82498
82499 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82500
82501         * lib/xalloc-die.c: New file.
82502         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82503         All uses removed.
82504         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82505         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82506         xalloc-die.c.
82507         (_, N_, xalloc_die): Move to xalloc-die.c.
82508         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82509         so that we needn't mess with xalloc_msg_memory_exhausted.
82510
82511         * lib/sha1.h: Renamed from sha.h.
82512         (SHA1_H): Renamed from _SHA_H.
82513         (sha1_ctx): Renamed from sha_ctx.
82514         (sha1_init_ctx): Renamed from sha_init_ctx.
82515         (sha1_process_block): Renamed from sha_process_block.
82516         (sha1_process_bytes): Renamed from sha_process_bytes.
82517         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82518         (sha1_read_ctx): Renamed from sha_read_ctx.
82519         (sha1_stream): Renamed from sha_stream.
82520         (sha1_buffer): Renamed from sha_buffer.
82521         * lib/sha1.c: Likewise; renamed from sha.c.
82522         Do not include <sys/types.h>.
82523         Include <stddef.h> rather than <stdlib.h>.
82524
82525 2004-08-08  Bruno Haible  <bruno@clisp.org>
82526
82527         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82528         FILESYSTEM_PREFIX_LEN.
82529         * lib/progreloc.c: Likewise.
82530         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82531
82532 2004-08-06  Simon Josefsson  <jas@extundo.com>
82533
82534         * modules/progname (Depends-on): Don't depend on stdbool.
82535
82536 2004-08-06  Simon Josefsson  <jas@extundo.com>
82537
82538         * modules/getsubopt: New file.
82539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82540         getsubopt.
82541
82542 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82543
82544         More merge from coreutils.
82545
82546         * m4/utimens.m4, m4/utimecmp.m4: New files.
82547         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82548         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82549         prereq.m4, sha.m4: Import changes from coreutils.
82550
82551 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82552
82553         More merge from coreutils.
82554         * modules/raise, modules/readtokens0, modules/utimens:
82555         * modules/utimecmp, module/xnanosleep: New files.
82556         * modules/strftime: Add lib/strftime.h.
82557         Change include from <time.h> to "strftime.h".
82558         * modules/yesno: Add lib/yesno.h.
82559         * modules/backupfile: Remove lib/addext.c.
82560         * modules/euidaccess: Add stat-macros.h.
82561         * modules/canonicalize, modules/euidaccess,
82562         modules/filemode, modules/lchown, modules/makepath,
82563         modules/rmdir, modules/stat: Likewise.
82564
82565 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         Merge from tar.
82568         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82569         SIZE_MAX is a valid preprocessor constant.
82570         (__argp_basename): Change from "#ifndef _LIBC"
82571         to "#ifndef __argp_short_program_name", so that
82572         we don't compile these functions for tar.
82573
82574         More merges from coreutils.
82575         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82576         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82577         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82578         * lib/addext.c: Remove; no longer needed.
82579         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82580         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82581         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82582         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82583         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82584         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82585         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82586         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82587         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82588         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82589         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82590         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82591         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82592         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82593         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82594         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82595         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82596         Import changes from coreutils.
82597
82598 2004-08-05  Simon Josefsson  <jas@extundo.com>
82599
82600         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82601
82602 2004-08-05  Simon Josefsson  <jas@extundo.com>
82603
82604         * m4/getsubopt.m4: New file.
82605
82606 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82607
82608         Merge from coreutils.
82609
82610         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82611         * m4/getcwd-path-max.m4: New files.
82612
82613         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82614         FILESYSTEM_PREFIX_LEN ->
82615         FILE_SYSTEM_PREFIX_LEN.
82616         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82617         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82618         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82619         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82620
82621         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82622         prerequisite modules now handle the DOS stuff.
82623         Don't check for unistd.h.
82624
82625 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82626
82627         Merge from coreutils.
82628
82629         * lib/.gdb-history: Remove; this doesn't belong here.
82630
82631         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82632         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82633         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82634         * lib/getcwd.c: New files.
82635
82636         * lib/dirname.h: Include <stdbool.h>.
82637         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82638         for consistency with POSIX terminology.  All uses changed.
82639         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82640         (strip_trailing_slashes): Use bool for booleans.
82641         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82642
82643         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82644         sometimes returns a positive errno value even when it succeeds.
82645         (print_errno_message) [!LIBC]: Fall back on strerror if
82646         __strerror_r fails.
82647
82648         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82649         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82650         (longest_relative_suffix): New function.
82651         (path_concat): Use it.  Assume first argument is not NULL.
82652         Port to DOS.  Omit redundant separators.
82653         Report an error instead of returning NULL.
82654         Use mempcpy instead of memcpy.
82655         (xpath_concat): Remove: not declared or used.
82656
82657         * lib/same.h: Include <stdbool.h>
82658         (same_name): Return bool, not int.
82659         * lib/same.c (same_name): Likewise.
82660         (errno): Don't declare; we assume C89 or better now.
82661
82662         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82663         if not already defined.
82664
82665         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82666         * lib/dup-safer.c (errno): Likewise.
82667
82668 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82669
82670         Merge from coreutils.
82671         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82672         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82673         * modules/path-concat: Don't depend on strdup.
82674
82675 2004-08-03  Simon Josefsson  <jas@extundo.com>
82676
82677         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82678         * lib/progname.h: Don't include stdbool.h.
82679
82680 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82681
82682         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82683         * MODULES.html.sh (func_all_modules): Remove fatal.
82684
82685 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82686
82687         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82688
82689 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82690
82691         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82692         working.
82693
82694 2004-08-02  Simon Josefsson  <jas@extundo.com>
82695
82696         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82697         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82698         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82699
82700 2004-08-01  Simon Josefsson  <jas@extundo.com>
82701
82702         * lib/xgetdomainname.c: Include stdlib.h, for free().
82703
82704 2004-07-19  Bruno Haible  <bruno@clisp.org>
82705
82706         * MODULES.html.sh (func_all_modules): Add dummy.
82707
82708 2004-07-16  Simon Josefsson  <jas@extundo.com>
82709
82710         * modules/dummy: New file.
82711
82712 2004-07-16  Simon Josefsson  <jas@extundo.com>
82713
82714         * lib/dummy.c: New file.
82715
82716 2004-07-16  Bruno Haible  <bruno@clisp.org>
82717
82718         * lib/backupfile.h: Add extern "C" for C++.
82719         * lib/closeout.h: Likewise.
82720         * lib/copy-file.h: Likewise.
82721         * lib/findprog.h: Likewise.
82722         * lib/full-write.h: Likewise.
82723         * lib/pathname.h: Likewise.
82724         * lib/progname.h: Likewise.
82725         * lib/stpcpy.h: Likewise.
82726         * lib/stpncpy.h: Likewise.
82727         * lib/strcase.h: Likewise.
82728         * lib/strstr.h: Likewise.
82729         * lib/xalloc.h: Likewise.
82730
82731         * lib/mbswidth.h: Add extern "C" for C++.
82732         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82733
82734 2004-07-13  Robert Millan  <robertmh@gnu.org>
82735
82736         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82737
82738 2004-07-09  Simon Josefsson  <jas@extundo.com>
82739
82740         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82741         failed without this.)
82742
82743 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82744
82745         * modules/chown (Files): Add lib/fchown-stub.c, since
82746         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82747
82748 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82749
82750         * lib/fchown-stub.c: New file.
82751
82752 2004-06-24  Jim Meyering  <jim@meyering.net>
82753
82754         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82755
82756 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82757
82758         * modules/argz: Omit "#include".
82759
82760         * MODULES.html.sh (func_all_modules): Add calloc, to match
82761         2004-06-01 addition of calloc module.
82762
82763 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82764
82765         * m4/argz.m4: New file, which is autoupdated from libtool.
82766
82767 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82768
82769         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82770         libtool.
82771
82772 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82773
82774         * config/srclist-update: Don't insist on "USA." before the
82775         close-comment, as libtool omits the period and puts the */ on a
82776         separate line.
82777         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82778         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82779
82780 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82781
82782         * modules/argz: New file.
82783         * MODULES.html.sh (func_all_modules): Add argz.
82784
82785 2004-06-12  Jim Meyering  <jim@meyering.net>
82786         and  Paul Eggert  <eggert@cs.ucla.edu>
82787
82788         * modules/hash (Files): Add lib/xalloc.h.
82789         * modules/pipe (Depends-on): Add wait-process.
82790         * modules/stat (Depends-on): Add xalloc.
82791         * modules/userspec (Files): Add lib/userspec.h.
82792         * modules/xstrto
82793
82794         Upgrade from gettext-0.13.
82795         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82796         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82797         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82798
82799 2004-06-10  Jim Meyering  <jim@meyering.net>
82800
82801         * lib/calloc.c: New file.
82802
82803 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82804
82805         * lib/getdate.y (yylex): Allow space between sign and number.
82806         Problem reported by Dan Jacobson.
82807
82808 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82809
82810         Merge from coreutils CVS.
82811
82812         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82813         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82814         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82815         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82816         xstrtol.m4: Fix copyright date and/or serial number.
82817
82818         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82819         See if we need an fchown replacement.
82820         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82821         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82822         and use the replacement function if we detect either defect.
82823
82824         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82825         gl_UTIMECMP.
82826
82827 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82828         and  Jim Meyering  <jim@meyering.net>
82829
82830         Merge from coreutils CVS.
82831
82832         * lib/stat-macros.h: New file, with contents from file-type.h
82833         and coreutils' system.h.
82834         * lib/file-type.c: Include "stat-macros.h".
82835         * lib/file-type.h (file_type): Move all macro definitions to new file,
82836         stat-macros.h.
82837
82838         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82839         Wrap old code with this conditional.
82840         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82841         function that does not dereference symlinks.
82842         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82843
82844         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82845         dependency problems.
82846         (xreadlink): Accept new arg SIZE, for efficiency.
82847         All decls and uses changed.
82848         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82849
82850         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82851         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82852
82853         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82854         sysexits.h.
82855
82856 2004-06-01  Jim Meyering  <jim@meyering.net>
82857
82858         * m4/calloc.m4: New file.
82859
82860 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82861
82862         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82863         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82864         Also, fix a typo in a diagnostic.
82865
82866 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82867
82868         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82869         or AC_FUNC_REALLOC.
82870
82871 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82872
82873         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82874         macros to be defined.
82875         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82876         the allocator returns NULL because the requested size is zero.
82877
82878 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82879
82880         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82881         var.  Add comment explaining why libc still defines it.  This
82882         merges the following patch from glibc:
82883         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82884
82885 2004-05-20  Andreas Schwab  <schwab@suse.de>
82886
82887         * m4/free.m4: Replace free if it not known to work, not the other
82888         way round.
82889
82890 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82891
82892         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82893         present in glibc since revision 1.1 of this file.
82894         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82895         obstack_alignment_mask, obstack_alloc, obstack_base,
82896         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82897         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82898         obstack_grow0, obstack_init, obstack_int_grow,
82899         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82900         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82901         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82902         nonexistent functions.
82903
82904 2004-05-18  Karl Berry  <karl@gnu.org>
82905
82906         * config/srclist.txt: break link for vasnprintf.c.
82907
82908 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82909
82910         Port obstack to the AS/400, where pointers are 16 bytes wide and
82911         you cannot cast an integer to a valid pointer.  This patch is
82912         currently waiting to be integrated into glibc; see
82913         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82914
82915         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82916         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82917         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82918         (struct obstack): temp member is now a union of a pointer and
82919         an integer, instead of an integer.  All integer uses changed.
82920         This does not affect the physical layout of struct obstack,
82921         except on hosts (like the AS/400) where the size or alignment of
82922         void * is greater than that of ptrdiff_t.
82923         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82924         __STDC__)]: Store temporary in pointer member of union, not
82925         integer member.
82926         * lib/obstack.c: Include <stddef.h>, for offsetof.
82927         (struct fooalign): Remove; it doesn't need a name.
82928         (union fooround): Change double to long double, and add void *.
82929         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82930         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82931         not a macro.  Hence the values are always int; so remove all
82932         casts-to-int in uses.
82933
82934 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82937         we can get this patch merged into glibc.
82938
82939 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82940             Paul Eggert  <eggert@cs.ucla.edu>
82941
82942         * m4/argp: Depend on alloca.
82943
82944 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82945             Paul Eggert  <eggert@cs.ucla.edu>
82946
82947         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82948         freecoding.
82949
82950 2004-05-17  Bruno Haible  <bruno@clisp.org>
82951
82952         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82953         precision that consists of a '.' followed by an empty digit string.
82954         Patch by Tor Lillqvist <tml@iki.fi>.
82955
82956 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82957
82958         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82959         for backward compatibility with older code.  We need our own
82960         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82961         it under some other name, and our alloca.h will define it.
82962
82963 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82964             Derek Price  <derek@ximbiot.com>
82965
82966         * lib/alloca.c: Include <alloca.h>, to get our interface.
82967         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82968         include <alloca.h> first.  Use C89 prototype for alloca; this
82969         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82970         Use #elif for simplicity, since we can assume C89 now.
82971         Don't try to source the system alloca.h since it will not be found
82972         and to prevent recursively including its replacement.
82973         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82974         * lib/regex.c: Likewise.
82975
82976 2004-05-16  Derek Price  <derek@ximbiot.com>
82977             Paul Eggert  <eggert@cs.ucla.edu>
82978
82979         getline cleanup.  This changes the getndelim2 API: both order of
82980         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82981         no delimiter).
82982
82983         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82984         interface does that.
82985         (getline): Always use getdelim, so that we don't have two
82986         copies of this code.
82987         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82988         if available.
82989         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82990         (GETNDELIM2_MAXIMUM): New macro.
82991         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82992         instead of the old practice of delim2==0.  All callers changed.
82993         Return -1 on overflow, instead of returning junk.
82994         Do not set *linesize unless allocation succeeds.
82995         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82996         that we include sys/types.h.
82997         * lib/getnline.h: Likewise.
82998         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82999         (getndelim2): Reorder arguments.
83000         * lib/getnline.c (getnline, getndelim):
83001         Don't discard the NMAX argument.
83002         (getnline): Invoke getndelim, to avoid code duplication.
83003         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83004         of (size_t) -1 by callers of the getnline family.
83005
83006 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83009         Check for gettimeofday.
83010         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83011         Check for settimeofday, stime.
83012
83013 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83014
83015         * lib/nanosleep.c (suspended): Change its type from int to
83016         sig_atomic_t volatile.
83017         (first_call): Make it private to rpl_nanosleep, and have it
83018         be zero initially as that's a bit faster.
83019         (my_usleep): Round up fractional times instead of truncating them,
83020         as this is the usual meaning for 'sleep'.
83021
83022         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83023         doesn't work.
83024         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83025         (ENOSYS): Define if not defined.
83026         (settime): Fall back on stime if it exists and settimeofday fails.
83027         But don't bother with fallbacks if a method fails with errno == EPERM.
83028
83029 2004-05-11  Jim Meyering  <jim@meyering.net>
83030
83031         Prior to this change, the save_cwd caller required read access to the
83032         current directory on most systems (ones with the fchdir function).
83033
83034         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83035         fails, try write-only, and finally, resort to using xgetcwd.
83036
83037 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83038
83039         * lib/obstack.c, obstack.h: Import changes from libc.
83040
83041 2004-04-28  Bruno Haible  <bruno@clisp.org>
83042
83043         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83044         also implicitly appends .exe to executables.
83045         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83046         accepts Windows pathnames.
83047         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83048         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83049         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83050         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83051         Reported by Derek Robert Price <derek@ximbiot.com>.
83052
83053 2004-04-21  Karl Berry  <karl@gnu.org>
83054
83055         * config/srclist.txt (localcharset.c): break sync.
83056
83057 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83058
83059         * m4/host-os.m4: Add a copyright notice.
83060
83061 2004-04-20  Jim Meyering  <jim@meyering.net>
83062
83063         Change UTILS_ to gl_ in AC_DEFINE'd names.
83064         Change utils_- and jm_-prefixed variables, too.
83065         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83066         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83067         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83068
83069         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83070         Don't emit trailing blanks.
83071         Also rename jm_-prefixed variables to have gl_ prefix.
83072
83073         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83074         Also rename jm_-prefixed variables to have gl_ prefix.
83075
83076         * m4/jm-macros.m4: Reflect the renamings.
83077         * m4/prereq.m4: Likewise.
83078
83079 2004-04-20  Jim Meyering  <jim@meyering.net>
83080
83081         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83082         memory.
83083
83084 2004-04-20  Jim Meyering  <jim@meyering.net>
83085             Bruno Haible  <bruno@clisp.org>
83086
83087         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83088         memory when realloc fails.
83089
83090 2004-04-19  Jim Meyering  <jim@meyering.net>
83091
83092         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83093         now that readutmp.c may call `free (0)'.
83094
83095 2004-04-19  Bruno Haible  <bruno@clisp.org>
83096
83097         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83098         * m4/inttypes_h.m4: Likewise.
83099         * m4/stdint_h.m4: Likewise.
83100         * m4/intmax_t.m4: Likewise.
83101         * m4/uintmax_t.m4: Likewise.
83102
83103 2004-04-18  Jim Meyering  <jim@meyering.net>
83104
83105         * m4/prereq.m4: Don't forbid jm_ prefix.
83106
83107         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83108         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83109         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83110         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83111         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83112         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83113         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83114         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83115         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83116         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83117         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83118         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83119         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83120         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83121         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83122         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83123         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83124         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83125         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83126
83127 2004-04-18  Jim Meyering  <jim@meyering.net>
83128
83129         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83130         failure, don't leak memory and do call END_UTMP_ENT.
83131
83132 2004-04-16  Jim Meyering  <jim@meyering.net>
83133
83134         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83135         coreutils' stat program.
83136         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83137
83138 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83139
83140         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83141         C89.
83142         (CHAR_BIT): Remove, since we assume C89.
83143         Include <stdint.h> if available, as per current Autoconf CVS advice.
83144
83145 2004-03-31  Jim Meyering  <jim@meyering.net>
83146
83147         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83148         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83149         * m4/xalloc.m4: Likewise.
83150
83151 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83152
83153         Merge from coreutils.
83154
83155         * m4/inttostr.m4: New file.
83156         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83157         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83158         Require gl_CLOCK_TIME.
83159         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83160
83161 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83162
83163         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83164         not bool, to be more consistent with Unix conventions.
83165         Suggested by Bruno Haible.
83166
83167         Merge from coreutils.
83168
83169         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83170         * lib/umaxtostr.c: New files.
83171
83172         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83173         the usual <time.h> dance.
83174         (get_date): Change signature to support fractional time stamps.
83175         All callers changed.
83176         * lib/getdate.y: Include "getdate.h" first, as we can now
83177         assume C89 and don't need to worry about 'const'.
83178         Similarly, include "unlocked-io.h" near start, not in middle.
83179         Include <limits.h>.
83180         (textint.value): Use long int rather than int.
83181         (textint.digits): Use size_t rather than int.
83182         (BILLION, LOG10_BILLION): New constants.
83183         (parser_control): New member rel_ns.  Members day_ordinal,
83184         time_zone, month, day, hour, minutes, rel_year, rel_month,
83185         rel_day, rel_hour, rel_minutes, rel_seconds
83186         are now long int, not int.  Member seconds is now struct timespec,
83187         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83188         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
83189         not int.
83190         (%union.intval): Now long int, not int.
83191         New member timespec.
83192         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
83193         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
83194         (spec): Now is a timespec or an item list.
83195         (timespec, items): New nonterminals.
83196         (time, rel, relunit, number, get_date):
83197         Add support for fractional seconds.
83198         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
83199         (gmtime, localtime, mktime): Remove decls; not needed with C89.
83200         (to_hour): First arg is now long int, not int.
83201         (to_year): Returns long int, not int.
83202         Don't treat year -70 like 70.
83203         (tm_diff): Returns long int, not int.
83204         (lookup_word): Use bool instead of int when appropriate.
83205         (yylex): Use size_t for count, not int.
83206         Detect overflow when parsing large integer constants.
83207         Add support for fractions.
83208         (get_date): Make pointers 'const' if possible.
83209         Use more-portable code to detect integer overflow.
83210         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
83211         Don't use ctime; it's not reliable if the year has >4 digits.
83212
83213         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
83214         This is for compatibility with BSD.
83215
83216         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
83217         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
83218         From coreutils' system.h.
83219
83220         * lib/userspec.c: Don't include "posixver.h".
83221         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
83222         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
83223         compatible extension.  Simplify code by removing a boolean int
83224         that was always nonzero if a string was nonnull.
83225
83226 2004-03-30  Jim Meyering  <jim@meyering.net>
83227
83228         Merge from coreutils.
83229
83230         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
83231         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
83232         on some systems one must include <grp.h> before it.
83233         Reported by Christian Krackowizer.
83234
83235 2004-03-30  Jim Meyering  <jim@meyering.net>
83236
83237         Merge from coreutils.
83238
83239         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
83240
83241         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
83242         an empty input stream.
83243
83244         * lib/readtokens.c: Include <stdbool.h>.
83245         (readtoken): Use `size_t' rather than int/long.
83246         All callers adjusted.
83247         Use `bool' rather than `int' where appropriate.
83248         Use memset rather than an explicit loop.
83249         Use x2nrealloc rather than xrealloc.
83250         Allow the use of `\0' as a delimiter.
83251         (readtokens): Likewise.
83252         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
83253
83254 2004-03-30  Jim Meyering  <jim@meyering.net>
83255
83256         * m4/realloc.m4: Remove file, since now it does no more than
83257         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
83258         the `configure.ac' section of module/realloc.
83259         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
83260
83261 2004-03-30  Bruno Haible  <bruno@clisp.org>
83262
83263         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
83264         nonnull.
83265
83266 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83267
83268         Merge changes to getloadavg.c from coreutils and Emacs.
83269
83270         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
83271         Define to an expression, not to the empty string.
83272         Include cloexec.h and xalloc.h.
83273         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
83274         Use set_cloexec_flag rather than rolling our own.
83275         * lib/cloexec.c, lib/cloexec.h: New files.
83276
83277 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83278
83279         * m4/cloexec.m4: New file.
83280
83281 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83282
83283         * lib/getopt.h: Sync with libc CVS.
83284
83285 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83286             Bruno Haible  <bruno@clisp.org>
83287
83288         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
83289         mbswidth.
83290
83291 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83292             Bruno Haible  <bruno@clisp.org>
83293
83294         * lib/mbswidth.h: Include <wchar.h> only if
83295         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
83296         <wchar.h>.
83297         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
83298
83299 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83300
83301         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
83302         Sync with libc CVS.
83303         * lib/getopt_int.h: New file, also synced from libc.
83304
83305 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83306
83307         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83308         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83309         Bring back getopt.c, getopt.h, getopt1.c.
83310
83311 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83312
83313         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83314         All uses changed.  Check for sa_sigaction member; this fixes
83315         a bug first reported by Jason Andrade in
83316         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83317
83318 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83319
83320         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83321         '#if' expressions.  Unlike the code it replaces, it does not
83322         depend on (defined _SC_PAGESIZE).  However, it does depend on
83323         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83324         first reported by Jason Andrade in
83325         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83326
83327 2004-02-25  Simon Josefsson  <jas@extundo.com>
83328
83329         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83330
83331 2004-02-25  Simon Josefsson  <jas@extundo.com>
83332
83333         * lib/strdup.h: New file.
83334         * lib/strdup.c: Include it.
83335         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83336         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83337
83338 2004-02-23  Karl Berry  <karl@gnu.org>
83339
83340         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83341         (from fencepost.gnu.org:/gd/gnuorg).
83342
83343 2004-02-23  Karl Berry  <karl@gnu.org>
83344
83345         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83346         * config/srclist.txt: add maintain/standards documents.
83347
83348 2004-02-18  Bruno Haible  <bruno@clisp.org>
83349
83350         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83351         Reported by Derek Robert Price <derek@ximbiot.com>.
83352
83353 2004-02-16  Karl Berry  <karl@gnu.org>
83354
83355         * config/mkinstalldirs, install-sh: update from automake.
83356
83357 2004-02-06  Karl Berry  <karl@gnu.org>
83358
83359         * m4/po.m4: update from gettext 0.14.1.
83360
83361 2004-02-06  Karl Berry  <karl@gnu.org>
83362
83363         * lib/config.charset: update from gettext 0.14.1.
83364
83365 2004-02-05  Paul Eggert  <eggert@twinsun.com>
83366
83367         Add comments and code, prompted by suggestions from Bruno Haible
83368         for sh-quote.
83369         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
83370         describing the enum quoting_style values.
83371         * lib/quotearg.c (quotearg_alloc): New function.
83372         (quotearg_buffer_restyled): Treat lone { and } as special.
83373         Treat = as special.  Work around bug with older shells
83374         that "see" a '\' that is really the 2nd byte of a multibyte char.
83375         Quote empty string with shell_quoting_style.
83376
83377 2004-02-03  Bruno Haible  <bruno@clisp.org>
83378
83379         * m4/pipe.m4: New file, from GNU gettext.
83380
83381 2004-02-03  Bruno Haible  <bruno@clisp.org>
83382
83383         * lib/pipe.h: New file, from GNU gettext.
83384         * lib/pipe.c: New file, from GNU gettext.
83385
83386 2004-01-27  Bruno Haible  <bruno@clisp.org>
83387
83388         * m4/execute.m4: New file, from GNU gettext.
83389
83390 2004-01-27  Bruno Haible  <bruno@clisp.org>
83391
83392         * lib/execute.h: New file, from GNU gettext.
83393         * lib/execute.c: New file, from GNU gettext.
83394         * lib/w32spawn.h: New file, from GNU gettext.
83395
83396 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83397
83398         Merge from diffutils.
83399
83400         * lib/file-type.c (file_type): Add typed memory objects.
83401         * lib/file-type.h (S_TYPEISTMO): New macro.
83402
83403         * lib/c-stack.h (c_stack_action): Remove argv argument.
83404         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83405         (die): Don't calculate message unless segv_action returns.
83406         (get_stack_location, min_address_from_argv, max_address_from_argv,
83407         volatile stack_base, volatile_stack_size): Remove.
83408         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83409         that every segmentation violation is a stack overflow.  (Ouch!)
83410         See Debian bug 136249 (still outstanding) for more info about why
83411         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83412
83413 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83414
83415         Exit-status fix from coreutils.
83416
83417         Use exit_failure consistently in place of EXIT_FAILURE,
83418         so that program exit statuses are consistent on failure.
83419
83420         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
83421         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
83422         * lib/argmatch.h: Comment fix to match the above.
83423         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
83424         Now a macro referring to exit_failure, instead of a separate
83425         variable.  Include "exitfail.h" to get it.
83426         * lib/xstrtol.h: Include "exitfail.h".
83427         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
83428
83429         * lib/long-options.c (parse_long_options): Use prototype
83430         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
83431         for clarity.
83432
83433 2004-01-21  Jim Meyering  <jim@meyering.net>
83434
83435         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
83436         so as not to conflict with a different-sized __mktime_internal
83437         function in GNU libc.
83438         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
83439         Problem building statically-linked `ls' reported by Michael Brunnbauer.
83440
83441 2004-01-20  Karl Berry  <karl@gnu.org>
83442
83443         * config/config.guess: update from config.
83444
83445         * config/srclistvars.sh: GNUWWWLICENSES for karl.
83446
83447 2004-01-20  Bruno Haible  <bruno@clisp.org>
83448
83449         Safer stack allocation.
83450         * lib/setenv.c: Include allocsa.h.
83451         (alloca): Remove fallback definition.
83452         (freea): Remove macro.
83453         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
83454         instead of freea.
83455
83456 2004-01-20  Bruno Haible  <bruno@clisp.org>
83457
83458         * m4/eealloc.m4: New file, from GNU gettext.
83459
83460 2004-01-20  Bruno Haible  <bruno@clisp.org>
83461
83462         * m4/allocsa.m4: New file, from GNU gettext.
83463
83464 2004-01-20  Bruno Haible  <bruno@clisp.org>
83465
83466         * lib/xallocsa.h: New file, from GNU gettext.
83467         * lib/xallocsa.c: New file, from GNU gettext.
83468
83469 2004-01-20  Bruno Haible  <bruno@clisp.org>
83470
83471         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
83472
83473 2004-01-20  Bruno Haible  <bruno@clisp.org>
83474
83475         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
83476         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
83477         specially.
83478
83479 2004-01-20  Bruno Haible  <bruno@clisp.org>
83480
83481         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83482         patch.
83483
83484 2004-01-20  Bruno Haible  <bruno@clisp.org>
83485
83486         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83487
83488 2004-01-20  Bruno Haible  <bruno@clisp.org>
83489
83490         * lib/eealloc.h: New file.
83491
83492 2004-01-20  Bruno Haible  <bruno@clisp.org>
83493
83494         * lib/binary-io.h: Avoid warnings on Cygwin.
83495
83496 2004-01-20  Bruno Haible  <bruno@clisp.org>
83497
83498         * lib/allocsa.h: New file, from GNU gettext.
83499         * lib/allocsa.c: New file, from GNU gettext.
83500
83501 2004-01-18  Karl Berry  <karl@gnu.org>
83502
83503         * doc/gpl.texi, doc/lgpl.texi: new files.
83504
83505 2004-01-18  Karl Berry  <karl@gnu.org>
83506
83507         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83508         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83509
83510 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83511
83512         Merge from coreutils.
83513
83514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83515         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83516         (gl_DEFAULT_POSIX2_VERSION): Move
83517         the documentation from 'configure' into 'config.hin',
83518         so that 'configure --help' isn't burdened by it and
83519         we don't have to worry about its formatting there.
83520         Reword the documentation so that it's more succinct
83521         and can be run together into a single paragraph.
83522         * m4/same.m4 (gl_SAME): Check for pathconf.
83523
83524 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83525
83526         Merge from coreutils.
83527
83528         * lib/posixver.c: Include posixver.h.
83529
83530         * lib/same.c: Include <stdbool.h>, <limits.h>.
83531         (_POSIX_NAME_MAX): Define if not defined.
83532         (MIN): New macro.
83533         (same_name): If file names are silently truncated, report
83534         that the file names are the same if they are the same after
83535         the silent truncation.
83536
83537         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83538         conversion function.
83539         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83540         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83541         longer needed.
83542
83543 2004-01-15  Jim Meyering  <jim@meyering.net>
83544
83545         Merge from coreutils.
83546
83547         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83548         if no library is required.
83549         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83550         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83551         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83552         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83553         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83554         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83555         value, $ac_cv_search_crypt, if it's "none required".
83556         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83557         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83558         not gl_FUNC_GETLOADAVG.
83559         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83560         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83561
83562 2004-01-15  Jim Meyering  <jim@meyering.net>
83563
83564         Merge from coreutils.
83565
83566         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83567         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83568         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83569
83570         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83571         optional configure-time default.
83572
83573         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83574
83575         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83576
83577 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83578
83579         Merge from coreutils.
83580
83581         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83582         value, $ac_cv_search_nanosleep, if it's "none required".
83583
83584 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83585
83586         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83587         with like-named macro in fnmatch.c.
83588         (EXT): Use an internal constant instead.
83589
83590         Merge fnmatch patches from glibc.
83591         * lib/fnmatch.c (mbsinit): Remove define.
83592         Add libc_hidden_ver (__fnmatch, fnmatch).
83593         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83594         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83595
83596 2004-01-14  Karl Berry  <karl@gnu.org>
83597
83598         * config/install-sh: update from automake.
83599
83600 2004-01-13  Karl Berry  <karl@gnu.org>
83601
83602         * config/install-sh: update from automake.
83603
83604 2004-01-09  Karl Berry  <karl@gnu.org>
83605
83606         * config/install-sh: update from automake.
83607
83608 2004-01-05  Karl Berry  <karl@gnu.org>
83609
83610         * config/config.{sub,guess}: update from config.
83611
83612 2003-12-31  Karl Berry  <karl@gnu.org>
83613
83614         * config/depcomp: update from automake.
83615
83616 2003-12-14  Karl Berry  <karl@gnu.org>
83617
83618         * lib/config.charset: update from gettext-runtime.
83619
83620 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83621
83622         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83623         Bug reported by Alfred M. Szmidt.
83624
83625 2003-12-03  Bruno Haible  <bruno@clisp.org>
83626
83627         * m4/gettext.m4: Upgrade from gettext-0.13.
83628         * m4/po.m4: Upgrade from gettext-0.13.
83629         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83630         * m4/intmax.m4: New file, from gettext-0.13.
83631         * m4/printf-posix.m4: New file, from gettext-0.13.
83632
83633 2003-11-29  Karl Berry  <karl@gnu.org>
83634
83635         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83636
83637 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83638             Bruno Haible  <bruno@clisp.org>
83639
83640         * lib/printf-parse.h: Don't include sys/types.h.
83641         (ARG_NONE): New macro.
83642         (char_directive): Change type of *arg_index fields to size_t.
83643         * lib/printf-parse.c: Don't include sys/types.h.
83644         (SSIZE_MAX): Remove macro.
83645         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83646         Remove unnecessary overflow check.
83647         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83648         fields.
83649
83650 2003-11-25  Bruno Haible  <bruno@clisp.org>
83651
83652         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83653
83654 2003-11-25  Bruno Haible  <bruno@clisp.org>
83655
83656         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83657         gt_TYPE_SSIZE_T.
83658
83659 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83660
83661         * modules/alloca: Remove dependency on xalloc.
83662
83663 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83664
83665         * lib/alloca.c: Remove dependency on xalloc module.
83666         (xalloc_die): Remove.
83667         (memory_full) [!defined emacs]: New macro.
83668         [!defined emacs]: Don't include xalloc.h.
83669         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83670         address arithmetic overflows.  Change datatypes a bit to avoid
83671         unnecessary casts.
83672
83673 2003-11-22  Jim Meyering  <jim@meyering.net>
83674
83675         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83676         s/size/size_t/.
83677
83678 2003-11-21  Karl Berry  <karl@gnu.org>
83679
83680         * config/config.{sub,guess}: update from config.
83681
83682 2003-11-18  Karl Berry  <karl@gnu.org>
83683
83684         * config/config.{sub,guess}: update from config.
83685
83686         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83687
83688 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83689
83690         * README: Mention that S+T cannot overflow if S is the size of
83691         an existing object and T is sufficiently small.
83692
83693 2003-11-17  Jim Meyering  <jim@meyering.net>
83694
83695         On systems without utime and without a utimes function capable of
83696         dealing with a NULL struct utimbuf* argument, this utime replacement
83697         could -- in unusual circumstances -- leak a file descriptor.
83698         * lib/utime.c: Include <unistd.h> and <errno.h>.
83699         (utime_null): Be sure to close `fd' and to preserve errno.
83700         Reported by Geoff Collyer via Arnold Robbins.
83701
83702 2003-11-17  Bruno Haible  <bruno@clisp.org>
83703
83704         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83705         (Depends-on): Add xsize.
83706
83707 2003-11-17  Bruno Haible  <bruno@clisp.org>
83708
83709         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83710
83711 2003-11-17  Bruno Haible  <bruno@clisp.org>
83712
83713         * lib/vasnprintf.c (alloca): Remove fallback definition.
83714         (freea): Remove definition.
83715         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83716         Reported by Paul Eggert.
83717
83718 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83719             Bruno Haible  <bruno@clisp.org>
83720
83721         Protect against address arithmetic overflow.
83722         * lib/printf-args.h: Include stddef.h.
83723         (arguments): Change type of field 'count' to size_t.
83724         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83725         'unsigned int' where appropriate.
83726         * lib/printf-parse.h: Include sys/types.h.
83727         (char_directive): Change type of *arg_index fields to ssize_t.
83728         (char_directives): Change type of fields 'count', max_*_length to
83729         size_t.
83730         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83731         (SSIZE_MAX): Define fallback value.
83732         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83733         instead of 'int' where appropriate. Check a_allocated, d_allocated
83734         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83735         * lib/vasnprintf.c: Include xsize.h.
83736         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83737         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83738         overflow. Avoid wraparound when converting a width or precision from
83739         decimal to binary.
83740
83741 2003-11-16  Bruno Haible  <bruno@clisp.org>
83742
83743         Update from GNU gettext.
83744         * lib/printf-parse.c: Generalize to it can be compiled for wide
83745         strings.
83746         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83747         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83748         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83749         SNPRINTF): New macros.
83750         Don't include <alloca.h> if the file is used inside libintl.
83751         (local_wcslen): New function, for Solaris 2.5.1.
83752         (VASNPRINTF): Use it instead of wcslen.
83753
83754 2003-11-16  Bruno Haible  <bruno@clisp.org>
83755
83756         * lib/xsize.h (xmax): New function.
83757         (xsum, xsum3, xsum4): Declare as "pure" functions.
83758
83759 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83760
83761         * modules/xalloc (Files): Undo latest change, since xalloc.h
83762         no longer needs SIZE_MAX or PTRDIFF_MAX.
83763
83764 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83765
83766         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83767         gl_PTRDIFF_MAX.
83768
83769 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83770
83771         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83772         "return", to pacify some unknown compiler.  Problem reported
83773         by Joerg Schilling.
83774
83775 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83776
83777         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83778         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83779         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83780         heuristic is just as accurate as far as we know, and it removes a
83781         dependency on size_max.m4 and ptrdiff_max.m4.
83782
83783 2003-11-11  Bruno Haible  <bruno@clisp.org>
83784
83785         * modules/xsize (Files): Add m4/size_max.m4.
83786         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83787
83788 2003-11-11  Bruno Haible  <bruno@clisp.org>
83789
83790         * m4/size_max.m4: New file.
83791         * m4/ptrdiff_max.m4: New file.
83792         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83793         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83794         (gl_XALLOC): Invoke it.
83795
83796 2003-11-11  Bruno Haible  <bruno@clisp.org>
83797
83798         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83799         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83800         defined.
83801
83802 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83803
83804         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83805         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83806         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83807         From Bruno Haible.
83808         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83809         not (size_t) -1, since it's defined here.
83810
83811 2003-11-09  Karl Berry  <karl@gnu.org>
83812
83813         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83814
83815 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83816
83817         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83818         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83819         Reject sizes of exactly SIZE_MAX bytes.
83820         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83821         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83822
83823 2003-11-05  Bruno Haible  <bruno@clisp.org>
83824
83825         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83826         SIZE_MAX defined in <limits.h> on Solaris.
83827
83828 2003-11-04  Jim Meyering  <jim@meyering.net>
83829
83830         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83831         variable names, rather than @VAR@.
83832         * modules/poll: Likewise.
83833
83834 2003-11-04  Bruno Haible  <bruno@clisp.org>
83835
83836         * modules/xsize: New file.
83837         * modules/linebreak: Depend on xsize.
83838         * MODULES.html.sh (func_all_modules): Add xsize.
83839
83840 2003-11-04  Bruno Haible  <bruno@clisp.org>
83841
83842         * m4/xsize.m4: New file.
83843
83844 2003-11-04  Bruno Haible  <bruno@clisp.org>
83845
83846         * lib/xsize.h: New file.
83847         * lib/linebreak.c: Include xsize.h.
83848         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83849         argument for overflow.
83850         Suggested by Paul Eggert.
83851
83852 2003-11-03  Karl Berry  <karl@gnu.org>
83853
83854         * config/config.{guess,sub}: update from config.
83855
83856 2003-11-03  Jim Meyering  <jim@meyering.net>
83857
83858         * modules/userspec (lib_SOURCES): Add userspec.h.
83859         (Include): Add "userspec.h".
83860         Improve description.
83861
83862 2003-11-03  Jim Meyering  <jim@meyering.net>
83863
83864         * lib/userspec.c: Include "userspec.h".
83865         * lib/userspec.h: New file.
83866
83867 2003-11-03  Bruno Haible  <bruno@clisp.org>
83868
83869         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83870
83871 2003-11-03  Bruno Haible  <bruno@clisp.org>
83872
83873         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83874         available, to avoid (extremely rare) race condition.
83875         Suggested by Paul Eggert.
83876
83877 2003-11-02  Karl Berry  <karl@gnu.org>
83878
83879         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83880
83881 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83882
83883         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83884         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83885         (read_filesystem_list): Set and use me_type_malloced.
83886         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83887         whatever the type happens to be), for brevity and consistency.
83888         Check for size calculation overflow on Alphas running OSF/1.
83889
83890 2003-10-31  Jim Meyering  <jim@meyering.net>
83891
83892         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83893
83894         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83895
83896 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83897             Bruno Haible  <bruno@clisp.org>
83898
83899         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83900         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83901
83902 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83903
83904         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83905         netbsd*-gnu*.  Suggested by Robert Millan.
83906
83907 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83908
83909         * modules/group-member: Depend on stdbool.
83910
83911 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83912
83913         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83914
83915 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83916
83917         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83918         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83919         after the 'gnu' in these cases.  This fixes some bugs in the
83920         previous change, and is based on suggestions by Robert Millan.
83921
83922 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83923
83924         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83925         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83926         no longer needed.
83927         * lib/quotearg.c (quotearg_n_options): Use it.
83928         * lib/group-member.c: Include <stdbool.h>.
83929         (free_group_info): Arg is now const *; don't free arg.
83930         (get_group_info): Now returns bool and accepts struct group_info *,
83931         rather than returning a malloc'ed struct group_info *.
83932         All uses changed.  Check for overflow in internal size calculation.
83933
83934         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83935         rather than xmalloc/xrealloc.
83936         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83937         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83938         conformance bug: the old code used a pointer after freeing the
83939         storage that it addressed.
83940         * lib/hash.c (hash_initialize): Simplify the code by using
83941         xalloc_oversized rather than doing it by hand.
83942         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83943         the buffer preserved.  Use free and xmalloc instead.
83944         * lib/quotearg.c (quotearg_n_options): Likewise.
83945         Use a simpler test for size overflow.  Don't use xalloc_oversized
83946         because unsigned int might be wider than size_t (!); this suggests
83947         that we should switch from unsigned int to size_t for slot numbers.
83948
83949 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83950
83951         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83952         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83953         NetBSD kernels.  Requested by Richard Stallman.
83954
83955 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83956
83957         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83958         to allocate the returned structure.  Do not allocate a subarray,
83959         as x2nrealloc will do that.
83960         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83961         instead of xnrealloc.
83962         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83963
83964 2003-10-27  Bruno Haible  <bruno@clisp.org>
83965
83966         * lib/stdbool_.h: Better support for BeOS.
83967
83968 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83969
83970         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83971         now uses inline.
83972
83973 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83974
83975         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83976         callers that want to do their own size-overflow checking.  Include
83977         <stdbool.h>, since xalloc_oversized returns bool.
83978         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83979         to use xalloc_oversized.
83980
83981         Add two functions x2realloc, x2nrealloc, for programs that grow
83982         arrays dynamically by doubling their sizes.
83983         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83984         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83985         New functions.
83986
83987         Port to C99 semantics for 'inline' of external functions.
83988         Bug reported by Bruno Haible.
83989         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83990         with the old contents of xnmalloc.
83991         (xnmalloc, xmalloc): Use it.
83992         (xnrealloc_inline): New static inline function,
83993         with the old contents of xnrealloc.
83994         (xnrealloc, xrealloc): Use it.
83995
83996         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83997         that.
83998
83999 2003-10-26  Karl Berry  <karl@gnu.org>
84000
84001         * config/srclist.txt (COPYING.DOC): no longer available from
84002         /gd/gnuorg; don't know where the ultimate source is.
84003
84004 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84005
84006         Fix several address-calculation bugs in the hash modules,
84007         plus some minor code cleanup.
84008
84009         * lib/hash.h: Include <stdbool.h>, for bool.
84010         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84011         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84012         hash_get_n_entries, hash_get_max_bucket_length,
84013         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84014         hash_rehash): Use size_t rather than unsigned.
84015         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84016         hash_get_n_buckets_used, hash_get_n_entries,
84017         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84018         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84019         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84020         Likewise.
84021         (SIZE_MAX): Define if not defined.
84022         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84023         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84024         hash_print):
84025         Use const * when possible.
84026         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84027         (check_tuning): Fix bug: if tuning parameters were very close to
84028         0 or 1, rounding errors could have caused subscript violations.
84029         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84030         (hash_initialize): Add 'fail:' label
84031         to free table and return NULL, and use it to simplify code.
84032         Use calloc rather than clearing the storage ourself.
84033         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84034         buffer size calculations.
84035         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84036         Include <stddef.h>, for size_t.
84037         * lib/hash-pjw.c (hash_pjw): Likewise.
84038         Switch to method described by Bruno Haible.
84039         Include <limits.h>, for CHAR_BIT.
84040         (SIZE_BITS): New macro.
84041
84042 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84043
84044         * m4/getline.m4 (AM_FUNC_GETLINE):
84045         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84046         hosts.  Problem reported by Derek Robert Price in
84047         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84048         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84049         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84050
84051 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84052
84053         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84054         ceiling the allocation at NMAX bytes rather than silently
84055         discarding input bytes before NMAX is reached.  This makes
84056         a difference only if NMAX exceeds SIZE_MAX / 2.
84057
84058         * lib/obstack.c: Merge from glibc.
84059         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84060         Add libc_hidden_def (_obstack_newchunk).
84061         (_obstack_free) [! defined _LIBC]: Remove.
84062         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84063         a clone of the function body.
84064         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84065         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84066
84067         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84068         glibc.
84069         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84070         arg to memcpy.
84071
84072         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84073         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84074         Don't use lvalue casts, as GCC plans to remove support for them
84075         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84076         was also present in the non-GCC version, indicating that this
84077         code had always been buggy and had never been widely used.
84078         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84079         Use the fast variant of each macro, rather than copying the
84080         definiens of the fast variant; that way, we'll be more likely to
84081         catch future bugs in the fast variants.
84082
84083 2003-10-20  Bruno Haible  <bruno@clisp.org>
84084
84085         * modules/wait-process: New file.
84086         * MODULES.html.sh (func_all_modules): Add wait-process.
84087
84088 2003-10-20  Bruno Haible  <bruno@clisp.org>
84089
84090         * m4/wait-process.m4: New file.
84091
84092 2003-10-20  Bruno Haible  <bruno@clisp.org>
84093
84094         * lib/wait-process.h: New file, from GNU gettext.
84095         * lib/wait-process.c: New file, from GNU gettext.
84096
84097 2003-10-19  Jim Meyering  <jim@meyering.net>
84098
84099         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84100         HPUX 10.20.
84101
84102 2003-10-18  Karl Berry  <karl@gnu.org>
84103
84104         * config/config.guess: update from config.
84105
84106 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84107
84108         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84109         (getgroups): First arg is int, not size_t.
84110         Don't let 'free' mangle errno.
84111
84112 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84113
84114         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84115
84116 2003-10-16  Karl Berry  <karl@gnu.org>
84117
84118         * config/config.{guess,sub}: update from config.
84119
84120 2003-10-16  Jim Meyering  <jim@meyering.net>
84121
84122         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84123         memcpy.
84124
84125 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84126
84127         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84128         (SIZE_MAX): Remove.
84129         (new_exclude, add_exclude_file): Initial size no longer needs to
84130         be a power of 2.
84131         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84132         our own address arithmetic overflow checking.
84133
84134         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84135         (fnmatch): Do not alloca more than 2000 wide characters;
84136         instead, use malloc for large buffers.
84137         Check for address arithmetic overflow, and return -1
84138         with errno set to ENOMEM in that case.
84139         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84140         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84141         instead, return -1.  Check for address arithmetic overflow.
84142
84143 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84144
84145         Handle invalid suffixes and overflow independently, so that
84146         callers can treat them independently as needed.  Fix some bugs in
84147         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84148         suffix for a human-readable blocksize.  The major caller-visible
84149         change is the addition of a new
84150         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84151         that both overflow and suffix chars were found.
84152
84153         * lib/human.c (humblock): Don't check separately for invalid suffix
84154         char; that is xstrtoumax's job (now that its bug is fixed).
84155         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84156         INTMAX_MAX]: New macros.
84157         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84158         TYPE_MAXIMUM): New macros.
84159         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84160         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84161         if overflow occurs, as it's what __strtol does and it's more useful
84162         in practice.
84163         (__xstrtol): If __strtol reports some error other than ERANGE,
84164         reflect it to the caller as LONGINT_INVALID.  If it reports
84165         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84166         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84167         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84168         value.
84169         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84170         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84171         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84172         [defined UINTMAX_MAX]: New macros.
84173
84174 2003-10-14  Bruno Haible  <bruno@clisp.org>
84175
84176         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84177
84178 2003-10-14  Bruno Haible  <bruno@clisp.org>
84179
84180         * m4/sig_atomic_t: New file, from GNU gettext.
84181         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84182
84183 2003-10-14  Bruno Haible  <bruno@clisp.org>
84184
84185         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84186         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84187         Also use volatile where needed.
84188
84189 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84190
84191         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
84192         Change maintainer from Bruno Haible to 'all'.
84193
84194 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84195
84196         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
84197
84198 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84199
84200         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
84201         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
84202         and define in terms of the other primitives.
84203         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
84204         (SIZE_MAX): Define if not already defined.
84205         (array_size_overflow): New function.
84206         (xalloc_die): Abort instead of exiting if 'error' returns.
84207         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
84208         (xmalloc, xrealloc): Use them.
84209         (xcalloc): Check for address arithmetic overflow.
84210         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
84211         a bit faster than strcpy.
84212
84213 2003-10-10  Simon Josefsson  <jas@extundo.com>
84214
84215         * modules/argp (Depends-on): Add restrict and strcase.
84216
84217 2003-10-10  Simon Josefsson  <jas@extundo.com>
84218
84219         * m4/argp.m4: Add AC_C_INLINE.
84220
84221 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84222
84223         Merge getpass from libc, plus a few fixes.
84224
84225         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
84226         Include <stdbool.h>.
84227         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
84228         __fsetlocking to empty.
84229         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
84230         do include <bits/libc-lock.h>.
84231         Do not include <fcntl.h>; not needed.
84232         [_LIBC]: Include <wchar.h>.
84233         (NOTCANCEL_MODE): New macro.
84234         (flockfile, funlockfile) [_LIBC]: New macros.
84235         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
84236         [!_LIBC]: New macros.
84237         (call_fclose): New function.
84238         (getpass): Use it.  Save tty stream separately; this simplifies the
84239         code and makes it more reliable if stdin happens to equal stdout.
84240         Invoke __fsetlocking on tty.
84241         Handle thread cancellation if needed.
84242         Namespace cleanup (use __tcgetattr, __getline).
84243         Use bool for Booleans.
84244         [USE_IN_LIBIO]: Handle wide streams.
84245         [!_LIBC]: Unconditionally do the fseek, since we don't know what
84246         stream might go where.
84247
84248         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
84249         doesn't have to include <stdio.h> before us.
84250         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
84251         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
84252         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
84253         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
84254         if not declared, so that we can use getpass.c code from libc without
84255         rewriting it.
84256         (flockfile, ftrylockfile, funlockfile): New macros.
84257
84258 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84259
84260         * modules/getpass: Depend on stdbool.
84261
84262 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84263
84264         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
84265
84266 2003-10-07  Karl Berry  <karl@gnu.org>
84267
84268         * config/config.{guess,sub}: update from config.
84269
84270 2003-10-06  Jim Meyering  <jim@meyering.net>
84271             Bruno Haible  <bruno@clisp.org>
84272
84273         This lets translators provide better translations for the
84274         "Written by ..." part of --version output.
84275         * lib/version-etc.h: Include stdarg.h.
84276         (version_etc_copyright): Declare as readonly.
84277         (version_etc): Make this function variadic with a NULL-terminated list
84278         of author name strings.
84279         (version_etc_va): New declaration.
84280         * lib/version-etc.c: Include stdarg.h, stdlib.h.
84281         (version_etc_copyright): Declare as readonly.
84282         (version_etc_va): New function. Provide a different translatable string
84283         for each possible number of authors < 10. Abbreviate when there are 10
84284         authors or more.
84285         (version_etc): Make this function variadic. Call version_etc_va.
84286         Suggestion from Gary V. Vaughan.
84287
84288         * lib/long-options.h (parse_long_options): Change prototype: the
84289         authors string is moved to the end and becomes variadic.
84290         * lib/long-options.c: Include stdarg.h.
84291         (parse_long_options): Make this function variadic, too.
84292         Call version_etc_va, not version_etc.
84293
84294 2003-10-06  Bruno Haible  <bruno@clisp.org>
84295
84296         * modules/version-etc-2: Remove file.
84297         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
84298
84299 2003-10-06  Bruno Haible  <bruno@clisp.org>
84300
84301         * modules/fatal-signal: New file.
84302         * MODULES.html.sh (func_all_modules): Add fatal-signal.
84303
84304 2003-10-06  Bruno Haible  <bruno@clisp.org>
84305
84306         * m4/fatal-signal.m4: New file.
84307         * m4/signalblocking.m4: New file, from GNU gettext.
84308
84309 2003-10-06  Bruno Haible  <bruno@clisp.org>
84310
84311         * lib/version-etc-2.h: Remove file.
84312         * lib/version-etc-2.c: Remove file.
84313
84314 2003-10-06  Bruno Haible  <bruno@clisp.org>
84315
84316         * lib/fatal-signal.h: New file, from GNU gettext.
84317         * lib/fatal-signal.c: New file, from GNU gettext.
84318
84319 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84320
84321         * README: Rework advice for preventing empty .o files.
84322         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84323         not <sys/types.h>.
84324
84325 2003-10-04  Karl Berry  <karl@gnu.org>
84326
84327         * lib/argp*: update from libc.
84328
84329 2003-10-04  Karl Berry  <karl@gnu.org>
84330
84331         * config/config.{guess,sub}: update from config.
84332
84333 2003-10-02  Bruno Haible  <bruno@clisp.org>
84334
84335         * modules/lchown (Include): Add lchown.h.
84336         * modules/time_r (Include): Use "..." syntax.
84337         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84338
84339 2003-10-01  Simon Josefsson  <jas@extundo.com>
84340
84341         * MODULES.html.sh (func_all_modules): Move gethostname from section
84342         'based on' to section 'lacking' POSIX:2001.
84343
84344 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84345
84346         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84347         to output mode on the same stream.
84348
84349 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84350
84351         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84352         Fix arg typo in previous patch.
84353
84354 2003-09-28  Jim Meyering  <jim@meyering.net>
84355
84356         * lib/error.c: Correct cpp indentation.
84357
84358 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84359
84360         * modules/free: New file.
84361
84362 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84363
84364         * m4/free.m4: New file.
84365
84366 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84367
84368         * lib/minmax.h (MIN, MAX)
84369         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
84370         Omit the special code that used __typeof__, since we worry that
84371         it could be more trouble than it's worth.  See:
84372         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
84373         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
84374
84375         * lib/free.c: New file.
84376
84377 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84378
84379         Trivial fixes to Makefile.am parts of module listings.
84380         * modules/strstr: Append strstr.h to lib_SOURCES.
84381         * modules/strcase: Likewise, for strcase.h.
84382
84383 2003-09-27  Karl Berry  <karl@gnu.org>
84384
84385         * config/mkinstalldirs: update from automake.
84386
84387 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84388
84389         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84390         (error_tail): Do not loop, reallocating temporary buffer, since
84391         the output cannot contain more wide characters than the input
84392         contains bytes, the size must be big enough already.  This avoids
84393         one potential size overflow calculation.  Check for size overflow
84394         when calculating temporary buffer size.  Free temporary buffer
84395         when done, if it was allocated with malloc; this plugs a memory
84396         leak.  Remove casts from void * to pointers, that are no longer
84397         needed now that we're assuming C89 or better.
84398
84399         Merge error changes from glibc.
84400
84401         * lib/error.c, error.h: Update copyright notice header to match glibc.
84402         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84403         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84404         Disable cancellation while printing error.
84405         * lib/error.h: Prepend __ to parameter names.
84406
84407 2003-09-26  Jim Meyering  <jim@meyering.net>
84408
84409         * lib/error.c (error_tail): Move some declarations
84410         into inner scope where the local variables are used.
84411
84412 2003-09-26  Bruno Haible  <bruno@clisp.org>
84413
84414         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
84415         stpncpy().
84416         Don't define stpncpy through config.h; it's now done through stpncpy.h.
84417
84418 2003-09-26  Bruno Haible  <bruno@clisp.org>
84419
84420         * lib/stpncpy.h (gnu_stpncpy): New declaration.
84421         (stpncpy): Define as alias for gnu_stpncpy.
84422         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
84423
84424 2003-09-25  Simon Josefsson  <jas@extundo.com>
84425
84426         * lib/xgetdomainname.h: New file.
84427         * lib/xgetdomainname.c: New file.
84428
84429 2003-09-25  Simon Josefsson  <jas@extundo.com>
84430             Bruno Haible  <bruno@clisp.org>
84431
84432         * modules/getdomainname: New file.
84433         * modules/xgetdomainname: New file.
84434         * MODULES.html.sh (func_all_modules): Add getdomainname,
84435         xgetdomainname.
84436
84437 2003-09-25  Simon Josefsson  <jas@extundo.com>
84438             Bruno Haible  <bruno@clisp.org>
84439
84440         * m4/getdomainname.m4: New file.
84441
84442 2003-09-25  Simon Josefsson  <jas@extundo.com>
84443             Bruno Haible  <bruno@clisp.org>
84444
84445         * lib/getdomainname.h: New file.
84446         * lib/getdomainname.c: New file.
84447
84448 2003-09-25  Karl Berry  <karl@gnu.org>
84449
84450         * lib/argp-fmtstream.c, argp-help.c: update from libc.
84451
84452 2003-09-25  Karl Berry  <karl@gnu.org>
84453
84454         * config/install-sh: update from automake.
84455
84456 2003-09-25  Bruno Haible  <bruno@clisp.org>
84457
84458         * modules/version-etc-2: New file, from modules/version-etc with
84459         modifications.
84460         * MODULES.html.sh (func_all_modules): Add version-etc-2.
84461
84462 2003-09-25  Bruno Haible  <bruno@clisp.org>
84463
84464         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
84465         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
84466
84467 2003-09-24  Simon Josefsson  <jas@extundo.com>
84468
84469         * modules/xgethostname: Add xgethostname.h.
84470
84471 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84472
84473         * lib/linebuffer.c (freebuffer): Don't free the argument, just
84474         the buffer associated with the argument.  Bug reported by
84475         Simon Josefsson.
84476
84477 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84478
84479         * README: Document assumptions that 'int' is at least 32 bits
84480         wide, that integer arithmetic is 2's complement without overflow,
84481         that there are no holes in integer values, that adding sizes of
84482         two nonoverlapping objects can't overflow, and that all-bits-zero
84483         yields scalar zero.  Fix spelling and capitalization typos.
84484
84485 2003-09-19  Karl Berry  <karl@gnu.org>
84486
84487         * lib/argp.h: update from libc.
84488
84489 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84490
84491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84492         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84493         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84494
84495 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84496
84497         * gnulib-tool: Use "test -h", not "test -L", for portability
84498         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84499         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84500         (sed_extract_prog): Issue s commands one-by-one, rather than
84501         using \| in one s command.
84502
84503 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84504
84505         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84506         input error, instead of returning NULL the next time we are called
84507         (and therefore losing track of errno).
84508
84509 2003-09-16  Bruno Haible  <bruno@clisp.org>
84510
84511         * gnulib-tool (func_create_testdir): Warn about duplicated
84512         dependencies.
84513
84514 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84515
84516         * modules/argmatch, modules/fatal, modules/obstack,
84517         modules/xalloc, modules/xgethostname: Sort dependencies by
84518         importance, not alphabetically.
84519
84520 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84521
84522         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84523         fails, so that the caller gets the proper errno.
84524
84525         * lib/readutmp.c (read_utmp): Likewise.
84526         Check for fstat error.  Close stream and free storage
84527         when failing.
84528
84529 2003-09-14  Karl Berry  <karl@gnu.org>
84530
84531         * config/srclist.txt (strdup.c): disable for c89 changes.
84532
84533 2003-09-14  Jim Meyering  <jim@meyering.net>
84534
84535         * lib/getloadavg.c: Correct cpp indentation.
84536         * lib/strdup.c: Likewise.
84537         * lib/vasnprintf.c: Likewise.
84538
84539 2003-09-14  Bruno Haible  <bruno@clisp.org>
84540
84541         * modules/fwriteerror: New file.
84542         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84543
84544 2003-09-14  Bruno Haible  <bruno@clisp.org>
84545
84546         * lib/fwriteerror.h: New file.
84547         * lib/fwriteerror.c: New file.
84548
84549 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84550
84551         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84552         modules/xgethostname, modules/xalloc: Depend on exit.
84553
84554 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84555
84556         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84557
84558         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84559         and AC_MINIX, too, so that their extensions are available.
84560
84561         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84562         This macro has been superseded by gl_BACKUPFILE.
84563
84564         More patches to assume C89 or better.
84565
84566         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84567
84568         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84569         unconditionally.
84570         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84571         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84572         Include <string.h>, <stdlib.h> unconditionally.
84573         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84574         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84575         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84576         headers or for string.h.
84577         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84578         or strtoul.
84579
84580         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84581         headers.
84582         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84583         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84584         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84585         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84586         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84587         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84588         memcpy, memset.
84589         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84590         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84591         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84592         strtol.
84593         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84594         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84595         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84596         strtoul.
84597
84598 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84599
84600         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84601         * lib/obstack.c [!defined _LIBC]: Likewise.
84602         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84603         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84604         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84605
84606         More changes to assume C89 or better.
84607
84608         * lib/error.c (error_tail): Assume vprintf.
84609
84610         * lib/argmatch.c (getenv): Remove decl.
84611         * lib/progreloc.c (get_full_program_name): Define via prototype.
84612         * lib/setenv.c (clearenv): Likewise.
84613         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84614         needed.
84615         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84616         (malloc, memcpy): Remove decls.
84617         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84618         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84619         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84620         (memcpy): Remove macro.
84621         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84622         (__P): Remove.  All uses removed.
84623         (PTR): Remove.  All uses changed to void *.
84624         (CHAR_BIT, NULL): Remove.
84625         (spaces, zeros, memset_space, memset_zero)
84626         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84627         Remove.
84628         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84629         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84630         Define with prototype.
84631         Remove now-unnecessary prototype decl.
84632         (extra_args_spec): Assume ANSI C.  All uses changed.
84633         (extra_args_spec_iso): Remove.
84634         (my_strftime, emacs_strftimeu): Define via prototype.
84635         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84636         unconditionally.
84637         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84638         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84639         (strtoul, strtol): Remove decls.
84640         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84641         LONG_MAX): Remove.
84642         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84643         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84644         (LOCALE_PARAM_PROTO): New macro.
84645         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84646         (INTERNAL (strtol), strtol): Define with a prototype.
84647         (PARAMS): Remove.  All uses removed.
84648         * lib/tempname.c: Include <string.h> unconditionally.
84649         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84650         * lib/xgethostname.c (main): Define with a prototype.
84651         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84652         Include <stdlib.h> unconditionally.
84653         (calloc, malloc, realloc, free): Remove decls.
84654         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84655         Include <stdlib.h> unconditionally.  Sort include file names.
84656         (strtod): Remove.
84657         (xstrtod): Define with a prototype.
84658         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84659         (strtol, strtoul): Remove decls.
84660
84661 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84662
84663         More patches to assume C89 or better.
84664         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84665         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84666         string.h, memchr, STDC_HEADERS.
84667
84668 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84669
84670         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84671         Include <stdlib.h>, <string.h> unconditionally.
84672         Remove now-unnecessary cast to char *.
84673         * lib/strnlen.c: Include <string.h> unconditionally.
84674         * lib/yesno.c (yesno): Define with a prototype.
84675
84676 2003-09-11  Bruno Haible  <bruno@clisp.org>
84677
84678         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84679
84680 2003-09-10  Jim Meyering  <jim@meyering.net>
84681
84682         * lib/error.c: Correct indentation of cpp directives.
84683
84684 2003-09-10  Bruno Haible  <bruno@clisp.org>
84685
84686         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84687         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84688         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84689         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84690         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84691         <stdlib.h> and <string.h> checks.
84692         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84693         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84694
84695 2003-09-10  Bruno Haible  <bruno@clisp.org>
84696
84697         * lib/strcspn.c: Include <string.h> unconditionally.
84698         * lib/strpbrk.c: Include <string.h> unconditionally.
84699         * lib/strstr.c: Include <string.h> unconditionally.
84700         * lib/unicodeio.c: Include <string.h> unconditionally.
84701         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84702         * lib/unsetenv.c: Likewise.
84703         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84704         * lib/yesno.c: Include <stdlib.h> unconditionally.
84705         (rpmatch): Add prototype.
84706
84707 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84708
84709         More patches to assume C89 or better.
84710         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84711         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84712         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84713         or for string.h.
84714         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84715         stdlib.h.
84716         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84717         C headers.
84718         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84719         string.h.
84720         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84721         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84722         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84723         or for string.h.
84724         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84725         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84726         C headers.
84727         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84728         memcpy.
84729         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84730         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84731         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84732         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84733         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84734         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84735         string.h, free.
84736         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84737         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84738         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84739         C headers, or for string.h.
84740         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84741         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84742         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84743         headers, memory.h, stdlib.h, string.h, strings.h.
84744         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84745         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84746         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84747         strchr.
84748         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84749         headers, memory.h, string.h.
84750         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84751         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84752         free.
84753         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84754         headers.
84755         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84756         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84757         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84758         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84759         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84760
84761 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84762
84763         More K&R removal.
84764
84765         * lib/acosl.c (main): Use a prototype.
84766         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84767         tanl.c: Likewise.
84768
84769         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84770
84771         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84772         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84773         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84774         with a prototype.
84775         * lib/getopt.c (const): Remove macro.
84776         Include <string.h> unconditionally.
84777         (my_index): Remove; all uses changed to strchr.
84778         (strlen): Remove decl.
84779         (exchange): Remove forward decl; no longer needed.
84780         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84781         Define with prototype.
84782         * lib/getopt1.c (const): Remove macro.
84783         (getopt_long, getopt_long_only, main): Define with prototype.
84784
84785         * lib/getugroups.c: Include <string.h> unconditionally.
84786
84787         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84788         (getusershell, setusershell, endusershell, readname, main):
84789         Define with prototypes.
84790
84791         * lib/group-member.c: Include group-member.h first.
84792         Include <stdlib.h> unconditionally.
84793
84794         * lib/hard-locale.c: Include hard-locale.h first.
84795         Include <stdlib.h>, <string.h> unconditionally.
84796
84797         * lib/hash.c (free, malloc): Remove decls.
84798         Include <stdlib.h> unconditionally.
84799
84800         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84801         (getenv): Do not declare.
84802
84803         * lib/idcache.c: Include <string.h> unconditionally.
84804
84805         * lib/long-options.c: Include long-options.h first, to test interface.
84806         Include <stdlib.h> unconditionally.
84807
84808         * lib/makepath.c: Include makepath.h first, to test interface.
84809         Include <stdlib.h> and <string.h> unconditionally.
84810
84811         * lib/linebuffer.c: Include <stdlib.h>.
84812         (free): Remove decl.
84813
84814         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84815         stddef.h. rpl_malloc returns void *, not char *.
84816         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84817         prototype.
84818
84819         * lib/md5.h: Include <limits.h> unconditionally.
84820         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84821         (__P): Remove; all uses removed.
84822         * lib/md5.c: Include "md5.h" first.
84823         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84824         md5_buffer, md5_process_bytes, md5_process_block):
84825         Define with prototypes.
84826         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84827         * lib/sha.c: Include "sha.h" first.
84828         Include <stdlib.h>, <string.h> unconditionally.
84829
84830         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84831         * lib/memcmp.c (__ptr_t): Likewise.
84832         * lib/memrchr.c (__ptr_t): Likewise.
84833         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84834         Include <string.h> unconditionally.
84835         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84836         * lib/memchr.c: Include <stdlib.h> unconditionally.
84837         * lib/memchr.c (LONG_MAX): Remove.
84838         * lib/memrchr.c (LONG_MAX): Likewise.
84839         * lib/memchr.c (__memchr): Define via a prototype.
84840         * lib/memrchr.c (__memrchr): Likewise.
84841         * lib/memcmp.c (__P): Remove, and remove all uses.
84842         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84843         Remove forward decls; no longer needed.
84844         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84845         Use types required by C89 in prototype.
84846
84847         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84848         * lib/savedir.c: Likewise.
84849         * lib/mkdir.c (free): Remove decl.
84850         * lib/rmdir.c (rmdir): Define with a prototype.
84851         * lib/savedir.c: Include savedir.h first, to test interface.
84852
84853         * lib/mktime.c (STDC_HEADERS): Remove.
84854         Include <stdlib.h>, <string.h> unconditionally.
84855
84856         * lib/modechange.c: Include <stdlib.h> unconditionally.
84857         (malloc): Remove decl.
84858
84859         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84860         (free): Remove decl.
84861
84862         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84863         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84864         (This type really should be intptr_t, but that's a C99ism.)
84865         (_obstack_memcpy): Remove: all uses changed to memcpy.
84866         Include <string.h> unconditionally.
84867         (struct obstack): Assume __STDC__ for types of members
84868         chunkfun, freefun, extra_arg.
84869         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84870         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84871         obstack_begin, obstack_specify_allocation,
84872         obstack_specify_allocation_with_arg, obstack_chunkfun,
84873         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84874         Remove unprototyped decls and the macros that use them.
84875         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84876         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84877         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84878         (defined __STDC__ && __STDC__)]:
84879         Remove nonprototyped code.
84880         Include <stdlib.h> unconditionally.
84881         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84882         _obstack_allocated_p, _obstack_free, obstack_free,
84883         _obstack_memory_used, print_and_abort):
84884         Define using prototypes.
84885         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84886         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84887         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84888         obstack_next_free, obstack_object_size, obstack_room) [0]:
84889         Remove unused, unprototyped code.
84890
84891         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84892
84893         * lib/physmem.c (physmem_total, physmem_available, main): Define
84894         with prototypes.
84895
84896         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84897         (main): Define with a prototype.
84898
84899         * lib/posixver.c (getenv): Remove decl.
84900
84901         * lib/putenv.c (malloc): Returns void *, not char *.
84902         Include <string.h> unconditionally.
84903         (strchr, memcpy, NULL): Do not define.
84904
84905         * lib/readtokens.c: Include readtokens.h first, to test interface.
84906         Include <stdlib.h>, <string.h> unconditionally.
84907         (init_tokenbuffer): Define with a prototype.
84908
84909         * lib/regex.c (PARAMS): Remove.  All uses removed.
84910         All uses of _RE_ARGS removed, too.
84911         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84912         unconditionally.
84913         (bzero): Assume memset exists.
84914         (memcmp, memcpy, NULL): Remove.
84915         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84916         char, or assignments to local vars of type signed char.
84917         (init_syntax_once, PREFIX(extract_number_and_incr),
84918         PREFIX(print_partial_compiled_pattern),
84919         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84920         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84921         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84922         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84923         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84924         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84925         wcs_compile_range, byte_compile_range, truncate_wchar,
84926         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84927         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84928         count_mbs_length, wcs_re_match_2_internal,
84929         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84930         PREFIX(alt_match_null_string_p),
84931         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84932         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84933         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84934         now-unnecessary declaration, if any.
84935         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84936         regcomp, regexec):
84937         Remove now-unnecessary casts among pointer types.
84938         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84939
84940         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84941         (free): Remove decl.
84942
84943         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84944
84945         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84946         (free): Remove decl.
84947
84948         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84949         * lib/xgetcwd.c: Likewise.
84950
84951         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84952         (free): Remove decl.
84953
84954         * lib/strchrnul.c (strchrnul): Define with a prototype.
84955         Fix bug: c_in was not converted to char before searching.
84956
84957         The following changes are not K&R related:
84958
84959         * lib/group-member.h: Include <sys/types.h>, so that this file is
84960         self-contained.
84961         * lib/makepath.h: Likewise.
84962
84963         * lib/getusershell.c (readname, default_index, line_size, readname):
84964         Use size_t, not int, for sizes.
84965         (readname): If the size overflows, report an error instead of
84966         looping forever.
84967
84968 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84969
84970         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84971         libc.
84972
84973 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84974
84975         * README: New section: portability guidelines.
84976
84977 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84978
84979         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84980         C89 spec.
84981
84982 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84983
84984         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84985
84986 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84987
84988         Assume C89 or better; remove K&R cruft.
84989         A few of these changes were first proposed by Derek Robert Price
84990         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84991
84992         * lib/addext.c: Include <string.h> unconditionally.
84993         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84994         Don't declare getenv or malloc.
84995
84996         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84997         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84998         (NULL): Remove.
84999         (find_stack_direction, alloca): Use prototypes.
85000
85001         * lib/atexit.c (atexit): Define using a prototype.
85002
85003         * lib/basename.c, dirname.c, stripslash.c:
85004         Include <string.h> unconditionally.
85005
85006         * lib/bcopy.c: Include <stddef.h>.
85007         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85008
85009         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85010
85011         * lib/error.h (error, error_at_line, error_print_progname)
85012         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85013         * lib/error.c: Include error.h first, to check interface.
85014         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85015         (VA_START): Remove; all uses changeed to va_start.
85016         (exit, strerror): Remove decls.
85017         (error_print_progname): Prototype uncondionally.
85018         Don't include <errno.h>; no longer needed.
85019         (private_strerror): Remove.
85020         (error_tail): Always define.
85021         (error, error_at_line): Assume C89 or better; always use prototypes.
85022         * lib/fatal.c: Include "fatal.h" first, to test interface.
85023         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85024         (VA_START): Remove; all uses changed to va_start.
85025         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85026         this case.
85027         (exit): Remove decl.
85028         (fatal): Prototype unconditionally.  Assume va_start works.
85029         Abort at end, to pacify gcc.
85030
85031         * lib/euidaccess.c (main): Define with a prototype.
85032
85033         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85034
85035         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85036
85037         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85038         prototypes.
85039         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85040         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85041         (getenv): Remove decl.
85042         (fnmatch): Define using a prototype.
85043         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85044         (FCT): Define using a prototype.
85045
85046         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85047
85048         * lib/gethostname.c: Include <stddef.h>.
85049         (gethostname): Define with prototype.  Length is size_t, not int.
85050
85051 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85052
85053         Assume C89 or better; remove K&R cruft.
85054         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85055         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85056         string.h, getenv, malloc.
85057         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85058         headers.
85059         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85060         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85061         do not check for strerror.
85062         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85063         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85064         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85065         do not check for doprnt or vprintf.
85066         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85067         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85068
85069 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85070
85071         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85072         getversion.c should have been removed then, but was accidentally
85073         preserved.
85074
85075         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85076         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85077
85078 2003-09-08  Karl Berry  <karl@gnu.org>
85079
85080         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85081                 config, forget about prep.
85082
85083         * config/depcomp, missing: update from automake.
85084
85085 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85086
85087         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85088         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85089
85090 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85091
85092         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85093         copy_tm_result.  Bug reported by Simon Josefsson in
85094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85095
85096 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85097
85098         * m4/time_r.m4: New file.
85099         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85100         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85101         is. Check for timegm declaration.
85102         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85103         Do not check for gmtime_r.
85104         Replace mktime if __mktime_internal does not exist and if mktime
85105         hasn't been replaced already.
85106
85107 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85108
85109         * lib/time_r.c, lib/time_r.h: New files.
85110
85111         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85112         __localtime_r.
85113         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85114         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85115
85116         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85117         __gmtime_r.
85118         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85119         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85120         Include <time_r.h>.
85121
85122         * lib/timegm.c: Switch to glibc implementation, with the following
85123         changes:
85124         [defined HAVE_CONFIG_H]: Include <config.h>.
85125         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85126         (__mktime_internal) [!defined _LIBC]: New decl.
85127         (__gmtime_r) [!defined _LIBC]: New macro and function.
85128         (timegm): Use a prototype, since gnulib assumes C89.
85129         Do not bother declaring tmp to be const, as it's not really usefu.
85130         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85131         (timegm): Declare only if HAVE_DECL_TIMEGM.
85132
85133 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85134
85135         * MODULES.html.sh (func_all_modules): Add time_r.
85136         * modules/time_r: New file.
85137         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85138         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85139
85140 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85141
85142         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85143         Bug reported by Lute Kamstra in
85144         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85145
85146         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85147         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85148         course with correspondingly smaller numbers for tomorrow and
85149         yesterday.  From Tadayoshi Funaba.  Originally installed into
85150         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85151         coreutils merge?).
85152
85153 2003-08-31  Simon Josefsson  <jas@extundo.com>
85154
85155         * modules/timegm: New file.
85156         * MODULES.html.sh (func_all_modules): Add timegm.
85157
85158 2003-08-31  Simon Josefsson  <jas@extundo.com>
85159
85160         * m4/timegm.m4: New file.
85161
85162 2003-08-31  Simon Josefsson  <jas@extundo.com>
85163
85164         * lib/timegm.h: New file.
85165         * lib/timegm.c: New file.  Based on
85166         wget-1.8.2/src/http.c:mktime_from_utc.
85167
85168 2003-08-31  Karl Berry  <karl@gnu.org>
85169
85170         * lib/argp.h: update from libc.
85171
85172 2003-08-28  Bruno Haible  <bruno@clisp.org>
85173
85174         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85175         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85176         followed by '#define fnmatch fnmatch_posix' gives an error.
85177
85178 2003-08-28  Bruno Haible  <bruno@clisp.org>
85179
85180         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85181         warning on QNX, which defines O_BINARY to 000000.
85182
85183 2003-08-27  Jim Meyering  <jim@meyering.net>
85184
85185         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85186         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85187         would fail after 32.  Reported by Danny Levinson.  Details here:
85188         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
85189
85190 2003-08-24  Bruno Haible  <bruno@clisp.org>
85191
85192         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
85193         MSVC7 <stdio.h> is included later.
85194
85195 2003-08-22  Simon Josefsson  <jas@extundo.com>
85196
85197         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
85198
85199 2003-08-20  Karl Berry  <karl@gnu.org>
85200
85201         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
85202
85203 2003-08-20  Bruno Haible  <bruno@clisp.org>
85204
85205         * modules/progname: New file.
85206         * MODULES.html.sh (func_all_modules): Add progname.
85207
85208 2003-08-20  Bruno Haible  <bruno@clisp.org>
85209
85210         * lib/progname.h: New file, from GNU gettext.
85211         * lib/progname.c: New file, from GNU gettext.
85212         * lib/progreloc.c: New file, from GNU gettext.
85213
85214 2003-08-19  Jim Meyering  <jim@meyering.net>
85215
85216         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
85217         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
85218
85219 2003-08-19  Bruno Haible  <bruno@clisp.org>
85220
85221         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
85222         more.
85223
85224 2003-08-19  Bruno Haible  <bruno@clisp.org>
85225
85226         * lib/xstrdup.c: Assume <string.h> exists.
85227
85228 2003-08-18  Paul Eggert  <eggert@twinsun.com>
85229
85230         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
85231         in makefile rules.
85232
85233 2003-08-18  Jim Meyering  <jim@meyering.net>
85234
85235         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
85236         * m4/lib-ld.m4: Likewise.
85237
85238 2003-08-18  Jim Meyering  <jim@meyering.net>
85239
85240         * lib/setenv.h: Indent nested cpp directive.
85241         * lib/vasnprintf.c: Remove trailing blanks.
85242
85243 2003-08-17  Simon Josefsson  <jas@extundo.com>
85244
85245         * modules/xstrndup: New file.
85246         * MODULES.html.sh (func_all_modules): Add xstrndup.
85247
85248 2003-08-17  Simon Josefsson  <jas@extundo.com>
85249
85250         * modules/argp: Fix autoconf macro name. Add more dependencies.
85251
85252 2003-08-17  Simon Josefsson  <jas@extundo.com>
85253
85254         * m4/xstrndup.m4: New file.
85255
85256 2003-08-17  Simon Josefsson  <jas@extundo.com>
85257
85258         * m4/argp.m4: New file.
85259
85260 2003-08-17  Simon Josefsson  <jas@extundo.com>
85261             Bruno Haible  <bruno@clisp.org>
85262
85263         * lib/xstrndup.h: New file.
85264         * lib/xstrndup.c: New file.
85265
85266 2003-08-17  Bruno Haible  <bruno@clisp.org>
85267
85268         * modules/strndup (Files, Include): Add lib/strndup.h.
85269
85270 2003-08-17  Bruno Haible  <bruno@clisp.org>
85271
85272         * modules/euidaccess (Files): Add lib/euidaccess.h.
85273
85274 2003-08-17  Bruno Haible  <bruno@clisp.org>
85275
85276         * lib/strndup.h: New file.
85277
85278 2003-08-17  Bruno Haible  <bruno@clisp.org>
85279
85280         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
85281         like AC_GNU_SOURCE.
85282         * modules/extensions (configure.ac): Comment out the invocation of
85283         gl_USE_SYSTEM_EXTENSIONS.
85284
85285 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85286
85287         Merges from coreutils, etc.
85288         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
85289         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
85290         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
85291         fixing a typo.
85292         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
85293         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
85294
85295 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85296
85297         Document merge from coreutils.
85298         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
85299         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
85300         * modules/utime: Add m4/utimes-null.m4.
85301
85302 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85303
85304         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
85305         space, undoing this 2003-08-12 change:
85306         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85307
85308 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85309
85310         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85311         strtoul.c from libc, undoing this 2003-08-12 change:
85312         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85313
85314 2003-08-16  Jim Meyering  <jim@meyering.net>
85315
85316         Merges from coreutils.
85317         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85318         prefix.  Adjust cache variables similarly.  Create 500 rather than
85319         just 300 files, to exercise bug on Darwin6.5, too.
85320         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85321         $missing_dir.
85322         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85323         AM_SYS_POSIX_TERMIOS.
85324         Reported by mkc@mathdogs.com.
85325         Also change use of $am_cv_sys_posix_termios
85326         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85327         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85328         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85329         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85330         in /proc/mounts until it finds one with matching device number.  This
85331         is unnecessary when the FILE argument *is* a mount point.  No stat call
85332         is necessary in that case.  So, disable the statvfs-testing code on
85333         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85334         as RedHat bug# 84846.
85335         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85336         to 1MB, so as not to render systems with no stack size limit (e.g.,
85337         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85338         Include <unistd.h>.  On some systems,
85339         it is required for the definition of _SC_PAGESIZE.
85340
85341 2003-08-16  Jim Meyering  <jim@meyering.net>
85342
85343         Merge from coreutils.
85344         * lib/xstrtoimax.c: #else #if -> #elif.
85345         * lib/xstrtoumax.c: Likewise.
85346
85347 2003-08-16  Jim Meyering  <jim@meyering.net>
85348
85349         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85350         * m4/utimes.m4: Removed.
85351         * m4/utimes-null.m4: Renamed from utimes.m4.
85352
85353         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85354         to 1MB, so as not to render systems with no stack size limit (e.g.,
85355         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85356         Include <unistd.h>.  On some systems,
85357         it is required for the definition of _SC_PAGESIZE.
85358
85359 2003-08-16  Jim Meyering  <jim@meyering.net>
85360         and Paul Eggert  <eggert@cs.ucla.edu>
85361
85362         Merges from coreutils, etc.
85363
85364         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
85365         using the latest version from cvs.  This avoids problems with #line
85366         directives using a vendor (Sun) compiler.
85367         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
85368         Don't set GETGROUPS_LIB here; now it's
85369         done via getgroups.m4's wrapper function.
85370         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
85371         rather than just in sh-util/configure.in, so that the
85372         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
85373         same.
85374         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
85375         AC_FUNC_GETLOADAVG where to find getloadavg.c.
85376         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
85377         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85378         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85379         Remove code that is now done by the newly-required macros.
85380         Append $(EXEEXT) to DF_PROG.
85381         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85382         Do not invoke or require the following here,
85383         since prereq.m4 or some gnulib .m4 now does this for us:
85384         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85385         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85386         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85387         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85388         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85389         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85390         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85391         AC_FUNC_OBSTACK.
85392         Do not replace the following functions, as this is now the job
85393         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85394         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85395         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85396         atexit getpass, strdup, getpagesize.
85397         Replace 'raise'.
85398         Do not check for the following functions, as this is now the job
85399         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85400         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85401         setregid.
85402         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85403         Check for sys/sysctl.h.
85404         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85405         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85406         of checking for ssize_t ourselves.
85407
85408         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85409         Require every macro that gnulib/modules/* suggests for us.
85410         (jm_PREREQ_ADDEXT): New macro.
85411         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85412         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
85413
85414         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
85415         (gl_PHYSMEM): Use it.
85416         Also check for `table' function.
85417         Check for new headers and functions.
85418         Add check for sys/sysmp.h.
85419         With suggestions from Kaveh Ghazi.
85420         Ignore headers that are present but cannot be compiled.  This
85421         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
85422         C 5.4.
85423
85424 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85425
85426         Document merge from coreutils.
85427         * modules/userspec: Depend on posixver.
85428         * modules/strftime: Depend on tzset.
85429
85430 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85431
85432         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
85433         rather than tab, after '#' in shell-script copyright notices.
85434         Suggested by Bruno Haible.
85435
85436 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85437
85438         * config/srclist-update: Use three spaces, rather than tab, after '#'
85439         in shell-script copyright notices.  Suggested by Bruno Haible.
85440         Remove unnecessary parenthesization in regular expression.
85441
85442 2003-08-15  Jim Meyering  <jim@meyering.net>
85443
85444         Merge from coreutils.
85445         * lib/xgethostname.c: Include <stdlib.h>.
85446         (xghostname): Don't exit for anything other than memory-related
85447         failure; just return NULL.
85448         * lib/userspec.c: Include "posixver.h".
85449         (parse_user_spec): Accept `.' as a separator only
85450         in pre-POSIX-200112 mode.
85451         * lib/strtoimax.c: Use #elif rather than #else #if.
85452         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
85453         Remove function, now that we can rely on a working tzset function.
85454         [!_LIBC]: Ensure that the required autoconf test has been run.
85455         [!defined _NL_CURRENT && HAVE_STRFTIME]:
85456         Use underlying_strftime for %r.
85457         * lib/sha.c: Merge in some clean-up and optimization changes from
85458         glibc.
85459         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
85460         Ensure that it is a multiple of 64.
85461         Rearrange loop exit tests so as to avoid performing an
85462         additional fread after encountering an error or EOF.
85463         * lib/realloc.c: Update copyright date.
85464
85465 2003-08-15  Jim Meyering  <jim@meyering.net>
85466         and Paul Eggert  <eggert@twinsun.com>
85467
85468         Merge from coreutils.
85469         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
85470         member but strut utmpx does not.  Needed for AIX 4.3.3.
85471         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
85472
85473 2003-08-15  Jim Meyering  <jim@meyering.net>
85474         and Paul Eggert  <eggert@cs.ucla.edu>
85475
85476         Merges from coreutils, etc.
85477         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
85478         Require gl_FUNC_TZSET_CLOBBER.
85479         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
85480         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
85481         members.
85482
85483 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85484
85485         Help the merge from coreutils.
85486         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85487         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85488         * m4/tzset.m4: Use it too.
85489
85490 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85491
85492         * modules/tzset: New file.
85493
85494 2003-08-14  Jim Meyering  <jim@meyering.net>
85495
85496         Merges from coreutils.
85497         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85498         variable names, rather than @FNMATCH_H@.
85499         * modules/alloca: Likewise for $(ALLOCA_H).
85500
85501         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85502         the three copies of the literal target, `fnmatch.h'.
85503         * modules/alloca (alloca.h): Likewise.
85504
85505 2003-08-14  Jim Meyering  <jim@meyering.net>
85506
85507         Merge from coreutils.
85508         * m4/tzset.m4: New file.
85509         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85510         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85511         otherwise, AIX 5.1 systems would end up using the latter.
85512         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85513         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85514         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85515         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85516
85517 2003-08-14  Jim Meyering  <jim@meyering.net>
85518
85519         Merge from coreutils.
85520         * lib/obstack.h: Whitespace changes.
85521         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85522         and xcalloc return values.
85523         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85524         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85525         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85526         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85527         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85528         error from mntctl.
85529         Use mntctl's return value to drive the entry-processing loop, since
85530         we can't rely on the value of the vmt_length member in the last
85531         entry.  On some systems doing so could result in exhausting
85532         virtual memory.  Based in part on a patch from Mike Jetzer.
85533
85534 2003-08-14  Jim Meyering  <jim@meyering.net>
85535         and Paul Eggert  <eggert@twinsun.com>
85536
85537         Merges from coreutils, plus other fixes.
85538         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85539         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85540         for credits and details.  Thanks to Kaveh Ghazi for helping
85541         to keep these files in sync.
85542         (ARRAY_SIZE): Define it.
85543         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85544         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85545         (memcasecmp): Don't assume size_t fits in unsigned int.
85546         Remove casts and duplicate code.
85547         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85548         (memcpy): Remove definition.
85549         Merge in some clean-up and optimization changes from glibc.
85550         [BLOCKSIZE]: Move definition to top of file.
85551         Ensure that it is a multiple of 64.
85552         Rearrange loop exit tests so as to avoid performing an
85553         additional fread after encountering an error or EOF.
85554         * lib/md5.h (md5_uintptr): Define.
85555         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85556         return to the initial working directory.  Preserve errno
85557         for caller.
85558         * lib/idcache.c: Include "xalloc.h".
85559         (xmalloc, xrealloc): Remove decls.
85560         (getuser): Remove casts no longer required in C89.
85561         * lib/human.c: Include stdio.h, for sprintf.
85562         * lib/group-member.c: Include "xalloc.h".
85563         (xmalloc, xrealloc): Remove decls.
85564         (get_group_info): Remove casts no longer required in C89.
85565         * lib/getusershell.c (readname): Remove casts no longer required in
85566         C89.
85567         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85568         * lib/getline.c: Whitespace fix, from coreutils.
85569
85570 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85571
85572         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85573         Check for isascii.
85574
85575         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85576         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85577         Undo previous (whitespace-only) change.
85578
85579 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85580
85581         * lib/exclude.c: Include <ctype.h>
85582         (IN_CTYPE_DOMAIN): New macro.
85583         (is_space): New fn.
85584         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85585         and empty lines.
85586
85587         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85588         Undo previous (whitespace-only) change.
85589
85590 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85591
85592         * config/srclist-update: Change update back to the old behavior,
85593         leaving whitespace alone.  Use one 'sed' command rather than a
85594         pipeline.
85595         (fixlicense): Now a variable, not a function.
85596         (remove_trailing_blanks): Remove.
85597         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85598         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85599         Undo previous (whitespace-only) change.
85600
85601 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85602
85603         Merge from coreutils.
85604         * modules/euidaccess: Add lib_SOURCES, include for new
85605         file euidaccess.h
85606
85607 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85608
85609         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85610         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85611         Normalize leading white space and remove trailing white space.
85612
85613         Merge from coreutils
85614         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85615
85616         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85617         0.12.1.  These files are now being upgraded automatically by
85618         ../config/srclist-update.
85619
85620 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85621
85622         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85623         Normalize leading white space and remove trailing white space.
85624         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85625         notice, as per ../config/srclist-update.
85626
85627         Merge from coreutils.
85628         * lib/euidaccess.h: New file.
85629         * lib/euidaccess.c: Include it.
85630         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85631         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85632         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85633
85634 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85635
85636         * config/srclist-update: Add copyright notice.
85637         (remove_id_lines, remove_trailing_blanks): New constants.
85638         (fixfile): Use them to normalize spacing a bit in copied files.
85639         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85640         Normalize leading white space and remove trailing white space.
85641
85642         * config/texinfo.tex: Sync with texinfo.
85643
85644         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85645         strtoul.c from libc, to merge coreutils whitespace changes.
85646
85647         * config/srclist.txt: Get the following m4 files from gettext:
85648         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85649         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85650         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85651         wint_t.m4.
85652
85653 2003-08-12  Karl Berry  <karl@gnu.org>
85654
85655         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85656         been made.
85657
85658 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85659
85660         * modules/gnu-source, m4/gnu-source.m4:
85661         Remove; we're assuming Autoconf 2.54 or later now.
85662         Suggested by Bruno Haible.
85663         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85664
85665 2003-08-11  Bruno Haible  <bruno@clisp.org>
85666
85667         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85668
85669 2003-08-11  Bruno Haible  <bruno@clisp.org>
85670
85671         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85672         (vasnprintf): Use it instead of wcslen.
85673
85674 2003-08-11  Bruno Haible  <bruno@clisp.org>
85675
85676         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85677         value to ensure that _Bool promotes to int. Use #define for _Bool when
85678         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85679
85680 2003-08-10  Karl Berry  <karl@gnu.org>
85681
85682         * lib/regex.h: update from libc (whitespace fix).
85683
85684 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85685
85686         Merge some files from coreutils.  These changes were
85687         originally made by Jim Meyering.
85688         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85689         many older Unixes require this.
85690         * lib/alloca.c (alloca): Remove cast to argument of free;
85691         no longer needed in C89.
85692         * lib/alloca_.h, regex.h: Fix white space to match
85693         what GNU indent does.
85694
85695 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85696
85697         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85698         apparently Emacs's Unicode mode got confused before my 2003-08-05
85699         checkin.
85700
85701 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85702
85703         * m4/extensions.m4: New file.
85704         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85705         Require gl_USE_SYSTEM_EXTENSIONS.
85706         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85707         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85708
85709 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85710
85711         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85712         * modules/extensions, modules/gnu-source: New files.
85713         * modules/timespec, modules/unlocked-io: Depend on extensions.
85714
85715 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85716
85717         * modules/restrict: New file.
85718         * MODULES.html.sh (func_all_modules): Add restrict.
85719         * modules/regex: Depend on restrict.
85720
85721 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85722
85723         * m4/restrict.m4: New file.
85724         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85725
85726 2003-08-07  Bruno Haible  <bruno@clisp.org>
85727
85728         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85729         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85730
85731 2003-08-07  Bruno Haible  <bruno@clisp.org>
85732
85733         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85734         makes the module 'getndelim2' compatible with the module 'getline'.
85735
85736 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85737
85738         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85739         byte with "\201" to avoid glitches when editing that source file
85740         with multi-gnome-terminal.
85741
85742 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85743
85744         * lib/bumpalloc.h: Remove.
85745
85746 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85747
85748         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85749         * modules/bumpalloc: Remove.
85750
85751 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85752
85753         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85754         GNU coding style.
85755
85756         Merge from coreutils.
85757         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85758         1. From glibc.
85759         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85760         from Karl Berry, implemented by Jim Meyering.
85761         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85762         from Dmitry V. Levin.
85763         Remove anachronistic cast of xrealloc.
85764         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85765         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85766         type. Otherwise, it wouldn't compile with at least /bin/cc on
85767         ymp-cray-unicos9.0.2.X.
85768         Combine two mostly-identical uses of alloca into one.
85769         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85770
85771 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85772
85773         [From Emacs.]
85774
85775         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85776         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85777         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85778         obsolete NLIST_NAME_UNION.
85779         [__GNU__]: Undef BSD and FSCALE.
85780         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85781
85782 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85783
85784         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85785         an enum type, so that it's guaranteed to promote to int.  See:
85786         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85787
85788 2003-08-03  Karl Berry  <karl@gnu.org>
85789
85790         * config/depcomp: update from automake.
85791
85792 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85793
85794         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85795         (strerror): Don't assume that a printable int fits in 14 bytes.
85796
85797 2003-07-31  Bruno Haible  <bruno@clisp.org>
85798
85799         * modules/getpass-gnu: New file.
85800         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85801
85802 2003-07-31  Bruno Haible  <bruno@clisp.org>
85803
85804         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85805
85806 2003-07-24  Karl Berry  <karl@gnu.org>
85807
85808         * config/missing: update from automake.
85809
85810 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85811             Bruno Haible  <bruno@clisp.org>
85812
85813         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85814         * lib/getline.c (getline, getdelim): Likewise.
85815         Remove _GNU_SOURCE define; now it's defined in config.h through
85816         m4/getline.m4.
85817
85818 2003-07-23  Karl Berry  <karl@gnu.org>
85819
85820         * config/config.sub: update from prep.
85821
85822 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85823
85824         * modules/xalloc (Depends-on): Add exitfail.
85825         * modules/xmemcoll: Likewise.
85826
85827 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85828
85829         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85830         over-parenthesization in macros.
85831
85832         Sync with coreutils.
85833
85834         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85835         required by C99.
85836
85837         Use `exit_failure' for xalloc and xmemcoll instead of their own
85838         private exit-failure variables.
85839         * lib/xalloc.h (xalloc_exit_failure): Remove.
85840         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85841         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85842         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85843         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85844         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85845
85846 2003-07-20  Jim Meyering  <jim@meyering.net>
85847
85848         * modules/closeout (Depends-on): Add exitfail.
85849         Suggestion from Bruno Haible.
85850
85851 2003-07-19  Karl Berry  <karl@gnu.org>
85852
85853         * config/config.sub: update from prep.
85854
85855 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85856
85857         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85858         Remove.
85859         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85860         to test that it can stand by itself.  Include "exitfail.h".
85861         Clients should set exit_failure instead.
85862         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85863
85864 2003-07-18  Bruno Haible  <bruno@clisp.org>
85865
85866         * modules/getndelim2: New file.
85867         * modules/getline: Share files with module getndelim2.
85868         * modules/getnline: Depend on getndelim2 instead of sharing files with
85869         it. Add getnline.c to lib_SOURCES.
85870         * MODULES.html.sh (func_all_modules): Add getndelim2.
85871
85872 2003-07-18  Bruno Haible  <bruno@clisp.org>
85873
85874         * m4/getndelim2.m4: New file.
85875         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85876         invoke gl_PREREQ_GETNDELIM2.
85877         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85878         gl_PREREQ_GETNDELIM2.
85879         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85880         gl_GETNDELIM2.
85881
85882 2003-07-18  Bruno Haible  <bruno@clisp.org>
85883
85884         * lib/getndelim2.h: New file.
85885         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85886         getndelim2.h.
85887         (getndelim2): Make non-static. Change return type to ssize_t.
85888         * lib/getline.h: Change argument names.
85889         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85890         * lib/getnline.c: Include getndelim2.h.
85891
85892 2003-07-18  Andreas Schwab  <schwab@suse.de>
85893
85894         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85895
85896 2003-07-17  Karl Berry  <karl@gnu.org>
85897
85898         * config/config.sub: update from prep.
85899
85900 2003-07-17  Bruno Haible  <bruno@clisp.org>
85901
85902         * modules/getnline: New file.
85903         * modules/getline: Add lib/getndelim2.c to source file list.
85904         * MODULES.html.sh (func_all_modules): Add getnline.
85905
85906 2003-07-17  Bruno Haible  <bruno@clisp.org>
85907
85908         * m4/getnline.m4: New file.
85909
85910 2003-07-17  Bruno Haible  <bruno@clisp.org>
85911
85912         * m4/Makefile.am.in: Remove file.
85913         * m4/Makefile.am: Remove file.
85914         * m4/Makefile.in: Remove file.
85915
85916 2003-07-17  Bruno Haible  <bruno@clisp.org>
85917
85918         * lib/getnline.h: New file.
85919         * lib/getnline.c: New file.
85920         * lib/getndelim2.c: New file, extracted from getline.c.
85921         (getndelim2): Renamed from getdelim2, with added nmax argument.
85922         * lib/getline.c: Include getndelim2.c.
85923         (getdelim2): Moved out to getndelim2.c.
85924         (getline, getdelim): Update.
85925
85926 2003-07-17  Bruno Haible  <bruno@clisp.org>
85927
85928         * lib/Makefile.am: Remove file.
85929         * lib/Makefile.in: Remove file.
85930
85931 2003-07-17  Bruno Haible  <bruno@clisp.org>
85932
85933         * configure.in: Remove file.
85934         * Makefile.in: Remove file.
85935
85936 2003-07-17  Bruno Haible  <bruno@clisp.org>
85937
85938         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85939
85940 2003-07-16  Karl Berry  <karl@gnu.org>
85941
85942         * config/srclist-update: was running fixlicense twice, which caused
85943                 texinfo.tex to be nullified for some reason.  Simplify,
85944                 $gplsrc is no longer needed as far as I can see?
85945
85946 2003-07-16  Jim Meyering  <jim@meyering.net>
85947
85948         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85949
85950 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85951
85952         * config/srclist.txt: Get the following files from gettext-runtime/intl
85953         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85954         ref-del.sin.  From Bruno Haible.
85955         * config/srclist-update (fixfile): Change grep pattern again, since the
85956         previous fix didn't work (there was another trailing $).  Use
85957         '[$]' to escape the $s.
85958
85959 2003-07-15  Karl Berry  <karl@gnu.org>
85960
85961         * lib/vasnprintf.c: update from gettext.
85962
85963 2003-07-15  Karl Berry  <karl@gnu.org>
85964
85965         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85966         gets expanded when surrounded by '$'.
85967
85968 2003-07-15  Jim Meyering  <jim@meyering.net>
85969
85970         * modules/save-cwd: Don't depend on error.  From Derek Price.
85971
85972 2003-07-15  Jim Meyering  <jim@meyering.net>
85973
85974         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85975
85976 2003-07-14  Simon Josefsson  <jas@extundo.com>
85977
85978         * modules/mempcpy: New file.
85979         * MODULES.html.sh (func_all_modules): Add mempcpy.
85980
85981 2003-07-14  Simon Josefsson  <jas@extundo.com>
85982
85983         * m4/mempcpy.m4: New file.
85984
85985 2003-07-14  Simon Josefsson  <jas@extundo.com>
85986
85987         * lib/mempcpy.h: New file.
85988         * lib/mempcpy.c: New file.
85989
85990 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85991
85992         * modules/getdate, modules/posixtm: Depend on mktime.
85993
85994 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85995
85996         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85997         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85998         unicodeio.c, unicodeio.h, unlocked-io.h:
85999         Switch from LGPL to GPL.
86000
86001 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86002
86003         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86004         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86005         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86006         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86007         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86008         updated automatically by ../config/srclist-update.  This changes
86009         their license from LPGL to GPL.
86010
86011 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86012
86013         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86014         assumed to refer to the root of the most recent stable gettext version.
86015         * config/srclistvars.sh: Add defaults for eggert.
86016         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86017         Match "This program" as well as "The program".  This is needed
86018         for gettext.
86019
86020 2003-07-14  Jim Meyering  <jim@meyering.net>
86021
86022         Don't emit diagnostics.  Let callers do that.
86023         * lib/save-cwd.c: Don't include "error.h".
86024         (save_cwd): Don't call error.  Ensure that errno is valid
86025         when returning nonzero.
86026
86027         * lib/save-cwd.h (restore_cwd): Update prototype.
86028         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86029         Simplify.  Don't call error upon failure.  Let callers do that.
86030         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86031         when auditing is enabled.  But don't bother updating the #if.
86032
86033 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86034
86035         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86036         it breaks C++ compilation.
86037         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86038
86039 2003-07-10  Simon Josefsson  <jas@extundo.com>
86040
86041         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86042
86043 2003-07-10  Jim Meyering  <jim@meyering.net>
86044
86045         * m4/clock_time.m4: Remove trailing blank.
86046         * m4/intmax_t.m4: Likewise.
86047
86048 2003-07-10  Jim Meyering  <jim@meyering.net>
86049
86050         * lib/vasnprintf.c: Remove trailing blanks.
86051         Make cpp indentation consistent.
86052
86053 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86054
86055         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86056         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86057         Switch from LGPL to GPL.
86058
86059 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86060
86061         * config/srclist.txt: Sort sublists.  Add
86062         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86063         that differ from gnulib for one reason or another; we'd like this list
86064         to be smaller but for now let's document what we have.
86065
86066 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86067
86068         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86069         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86070         and sweeter "eval x=$x".
86071         * config/srclist.txt: Get lib/argp* from glibc.
86072
86073 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86074
86075         * lib/mktime.c: Fix some boundary cases and remove need for floating
86076         point.
86077
86078         Issue a compile-time diagnostic if time_t is floating point, or if
86079         two's complement arithmetic is not in effect, or if arithmetic
86080         right shift does not propagate the sign.  These assumptions were
86081         all in the original code but they weren't checked.
86082
86083         (TIME_T_MIDPOINT, verify): New macros.
86084         (__isleap): Remove; it has integer overflow problems.
86085         (leapyear): New function, without those problems.
86086         (ydhms_tm_diff): Remove; splitting into two parts.
86087         (ydhms_diff): New function, containing the arithmetic part of
86088         the old ydhms_tm_diff function.  Issue a compile-time
86089         diagnostic if we are not using C99 integer division.
86090         Avoid casts when possible.
86091         (guess_time_tm): New function, containing the checking part of
86092         the old ydhms_tm_diff function.  Return the new value, rather than
86093         the difference between it and the old.  Accept a new argument T
86094         so that *T specifies the old value.  Check for overflow in the result.
86095
86096         (__mktime_internal): Use a time_t offset, not a long int offset.
86097         This undoes the 2003-06-04 change, which is no longer needed now
86098         that we have better overflow checking.
86099         (localtime_offset): Likewise.
86100
86101         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86102         and long are 64-bit but int is only 32-bit.
86103         (ydhms_diff): Use long int to store year1 and yday1.
86104         Issue a compile-time diagnostic if long int is not wide enough.
86105
86106         (__mktime_internal): Use long int to store adjusted year and yday.
86107         Use plain C rather than preprocessor commands, if that doesn't
86108         affect efficiency.
86109         Check for overflow (and try to repair) after each probe
86110         rather than checking only at the very end.  This avoids some bugs
86111         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86112         does not equal GMT offset at maximum time).
86113         Use integer to check for overflow rather than floating point; this
86114         is more portable to non-IEEE hosts, and is a tad faster.
86115         When we detect that we are oscillating between two values,
86116         don't check whether tm_isdst has the requested value, since
86117         we already know the answer.  When tm_isdst has the wrong value,
86118         use a different heuristic to find the right one, based on the
86119         extreme values actually observed in practice in tz2003a,
86120         rather than the (overly optimistic) "previous 3 calendar quarters".
86121
86122         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86123         "T const" to accommodate glibc style.
86124         (check_result): Use less-confusing report format.  "long" -> "long int.
86125         (main): Likewise.
86126         Don't loop if the iteration overflows time_t.
86127         Allow a negative step in the iteration.
86128
86129 2003-07-06  Karl Berry  <karl@gnu.org>
86130
86131         * config/depcomp: update from automake.
86132         * config/config.sub: update from prep.
86133
86134 2003-07-03  Karl Berry  <karl@gnu.org>
86135
86136         * config/config.guess: update from prep.
86137
86138 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86139
86140         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86141         xreadlink.c now includes it unconditionally.
86142
86143 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86144
86145         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86146         having it depend on HAVE_SYS_TYPES_H.
86147
86148 2003-07-01  Bruno Haible  <bruno@clisp.org>
86149
86150         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86151         <sys/types.h> should be sufficient.
86152         Reported by Paul Eggert.
86153
86154 2003-06-26  Karl Berry  <karl@gnu.org>
86155
86156         * config/depcomp: update from automake.
86157
86158 2003-06-26  Bruno Haible  <bruno@clisp.org>
86159
86160         * modules/human: Depend on module stdbool.
86161
86162 2003-06-25  Bruno Haible  <bruno@clisp.org>
86163
86164         * modules/readlink: New file.
86165         * modules/xreadlink: Depend on it.
86166         * MODULES.html.sh (func_all_modules): Add readlink.
86167
86168 2003-06-25  Bruno Haible  <bruno@clisp.org>
86169
86170         * m4/readlink.m4: New file.
86171
86172 2003-06-25  Bruno Haible  <bruno@clisp.org>
86173
86174         * lib/readlink.c: New file.
86175
86176 2003-06-22  Karl Berry  <karl@gnu.org>
86177
86178         * config/srclist.txt: update mkinstalldirs from automake.
86179         * config/mkinstalldirs: update.
86180
86181 2003-06-22  Bruno Haible  <bruno@clisp.org>
86182
86183         Portability to mingw32.
86184         * m4/ssize_t.m4: New file, from GNU gettext.
86185         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86186         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86187
86188 2003-06-22  Bruno Haible  <bruno@clisp.org>
86189
86190         * modules/safe-read: Add m4/ssize_t.m4.
86191         * modules/xreadlink: Add m4/ssize_t.m4.
86192
86193 2003-06-20  Bruno Haible  <bruno@clisp.org>
86194
86195         Assume C89, so PARAMS isn't needed.
86196         * lib/unicodeio.h (PARAMS): Remove.
86197         * lib/unicodeio.c: Don't use PARAMS.
86198
86199 2003-06-18  Karl Berry  <karl@gnu.org>
86200
86201         * config/config.{guess,sub}: update from prep.
86202
86203 2003-06-18  Jim Meyering  <jim@meyering.net>
86204
86205         Merge changes from coreutils.
86206         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
86207         Remove explicit declarations of xmalloc and realloc.
86208         Include xalloc.h.
86209         (read_utmp): Remove anachronistic cast of xmalloc.
86210
86211 2003-06-17  Paul Eggert  <eggert@twinsun.com>
86212
86213         Assume C89, so PARAMS isn't needed.
86214         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
86215         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
86216         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
86217         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
86218         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
86219         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
86220         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
86221         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
86222         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
86223         lib/xstrtod.h, lib/xstrtol.h: Likewise.
86224         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
86225         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
86226         no longer needed. Anyway, config.h should always be included before any
86227         other file.
86228
86229 2003-06-11  Simon Josefsson  <jas@extundo.com>
86230
86231         * modules/sysexits: New file.
86232         * MODULES.html.sh (func_all_modules): Add sysexits.
86233
86234 2003-06-11  Simon Josefsson  <jas@extundo.com>
86235
86236         * lib/sysexit_.h: New file.
86237
86238 2003-06-11  Derek Price  <derek@ximbiot.com>
86239
86240         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
86241         necessary.
86242
86243 2003-06-11  Bruno Haible  <bruno@clisp.org>
86244
86245         * m4/sysexits.m4: New file.
86246
86247 2003-06-10  Simon Josefsson  <jas@extundo.com>
86248
86249         * lib/argp.h: New file, from glibc.
86250         * lib/argp-ba.c: New file, from glibc.
86251         * lib/argp-eexst.c: New file, from glibc.
86252         * lib/argp-fmtstream.c: New file, from glibc.
86253         * lib/argp-fmtstream.h: New file, from glibc.
86254         * lib/argp-fs-xinl.c: New file, from glibc.
86255         * lib/argp-help.c: New file, from glibc.
86256         * lib/argp-namefrob.h: New file, from glibc.
86257         * lib/argp-parse.c: New file, from glibc.
86258         * lib/argp-pv.c: New file, from glibc.
86259         * lib/argp-pvh.c: New file, from glibc.
86260         * lib/argp-xinl.c: New file, from glibc.
86261
86262 2003-06-10  Simon Josefsson  <jas@extundo.com>
86263
86264         * modules/strchrnul: New file.
86265
86266 2003-06-10  Simon Josefsson  <jas@extundo.com>
86267
86268         * modules/argp: New file.
86269
86270 2003-06-10  Simon Josefsson  <jas@extundo.com>
86271
86272         * m4/strchrnul.m4: New file.
86273
86274 2003-06-10  Simon Josefsson  <jas@extundo.com>
86275
86276         * lib/strchrnul.h: New file.
86277         * lib/strchrnul.c: New file.
86278
86279 2003-06-10  Bruno Haible  <bruno@clisp.org>
86280
86281         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
86282
86283 2003-06-07  Karl Berry  <karl@gnu.org>
86284
86285         * config/config.{guess,sub}: update from prep.
86286
86287 2003-06-07  Jim Meyering  <jim@meyering.net>
86288
86289         * modules/strtod: Use $(...) notation, not @...@ for
86290         AC_REPLACE'd variables.
86291         * modules/localcharset: Likewise.
86292
86293 2003-06-07  Jim Meyering  <jim@meyering.net>
86294
86295         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
86296         in place of my name in the copyright comment.
86297         Remove definition and uses of __P.
86298
86299         From coreutils.
86300         * lib/stat.c: Don't declare xmalloc explicitly.
86301         Instead, include "xalloc.h".
86302         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
86303         xrealloc, and xcalloc return values.
86304         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
86305         Improve comment.
86306         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
86307
86308 2003-06-07  Bruno Haible  <bruno@clisp.org>
86309
86310         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86311         avoid AC_CONFIG_LINKS.
86312         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86313         fnmatch.h, to avoid AC_CONFIG_LINKS.
86314         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86315
86316 2003-06-07  Bruno Haible  <bruno@clisp.org>
86317
86318         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86319         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86320         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86321         directory.
86322         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86323         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86324         directory.
86325
86326 2003-06-06  Jim Meyering  <jim@meyering.net>
86327
86328         Merge from coreutils.
86329         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86330         Consolidate declarations and initializations of *_base* locals.
86331
86332         Merge from coreutils.
86333         This avoids a core dump on systems without GNU putenv,
86334         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86335         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86336         (unsetenv): New static function, from GNU libc.
86337         (rpl_putenv): Use it.
86338
86339         * lib/modechange.c: Remove trailing blanks.
86340
86341         Merge from coreutils.
86342         * lib/fsusage.c: Remove declaration of statfs.
86343         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86344
86345         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86346
86347 2003-06-06  Jim Meyering  <jim@meyering.net>
86348
86349         * lib/stdbool_.h: Renamed from stdbool.h.in.
86350
86351 2003-06-06  Jim Meyering  <jim@meyering.net>
86352             Bruno Haible  <bruno@clisp.org>
86353
86354         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86355         Adjust Makefile.am snippet not to redirect directly to target.
86356         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86357
86358 2003-06-05  Paul Eggert  <eggert@twinsun.com>
86359
86360         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
86361         mismatch, look in future quarters as well as past.  This fixes a
86362         bug when processing fall-backwards gaps immediately after a long
86363         period of daylight-saving time.
86364
86365         * lib/mktime.c: Assume freestanding C89 or better.
86366         (HAVE_LIMITS_H): Remove.  Assume it's 1.
86367         (__P): Remove; not used.
86368         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
86369         (mktime, not_equal_tm, print_tm, check_result,
86370         main): Use prototypes.  Use const * where appropriate.
86371         (main): Fix typo in testing code that uncovered by above changes.
86372         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
86373
86374 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86375
86376         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
86377         locale.h, localeconv.  This merges changes from coreutils.
86378
86379         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86380         It can be removed after the next Autoconf is released.
86381         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86382         needed.
86383
86384 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86385
86386         * lib/mktime.c: Fix Debian bug 177940
86387         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86388         (localtime_offset): Now long int, not time_t, because we want it
86389         to be guaranteed to be signed.  All uses changed.
86390         (__mktime_internal): If overflow would occur when adding offset,
86391         don't add it.
86392
86393         Merge 'human' changes from coreutils.  Rewrite to support
86394         locale-specific notations like thousands separators.
86395         * lib/human.c: Simplify authorship notice.
86396         Include human.h immediately after config.h.
86397         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86398         <limits.h>: Do not include, since human.h does.
86399         (SIZE_MAX, UINTMAX_MAX): New macros.
86400         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86401         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86402         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86403         (power_letter): Renamed from suffixes.
86404         (generate_suffix_backwards): Remove.
86405         (adjust_value): Now takes int style (because of human.h changes)
86406         and long double value (for greater precision on some platforms).
86407         (group_number): New function.
86408         (human_readable): Use it.  Use integer options, not enum.
86409         Put the options before the sizes in the arg list.
86410         Support all the new options.
86411         The old human_readable function has been removed;
86412         use inttostr.h instead.
86413         (human_readable, default_block_size, humblock):
86414         Use uintmax_t, not int, for block sizes.
86415         (human_readable_inexact, block_size_types): Remove.
86416         (block_size_opts): New constant.
86417         (human_options): Renamed from human_block_size, with new signature
86418         that allows block sizes up to UINTMAX_MAX.  All callers changed.
86419         * lib/human.h: Add copyright and authorship notice.
86420         Include <limits.h> and <stdbool.h> unconditionally.
86421         (PARAMS): Remove.  All uses removed.
86422         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
86423         (enum human_inexact_style): Remove tag; now a nameless enum.
86424         (human_floor, human_ceiling, human_round_to_even): Now have
86425         values 2, 0, 1 rather than -1, 1, 0.
86426         (human_group_digits, human_suppress_point_zero, human_autoscale,
86427         human_base_1024, human_SI, human_B): New constants.
86428         (human_readable_inexact, human_block_size): Remove.
86429         (human_readable): Size args are now uintmax_t, not int.
86430         (human_options): New decl.
86431
86432         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
86433         unnecessary now that we assume C89 or better.  This change
86434         imported from coreutils.
86435
86436         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86437         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
86438         in the 2003-05-30 sync from glibc.
86439
86440         .h files should stand alone, but we shouldn't include <sys/types.h>
86441         if we can get away with just <stddef.h>.
86442
86443         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
86444         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
86445         rather than <sys/types.h>, as we merely need size_t.
86446         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
86447         to get size_t.
86448         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
86449         Include <stdio.h>, to get FILE.
86450         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
86451         memcasecmp.h has included <stddef.h> and all we need is size_t.
86452         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
86453         our interface, instead of including <sys/types.h>
86454
86455 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86456
86457         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
86458         now, as glibc mktime is buggy on non-glibc systems.
86459
86460 2003-06-03  Karl Berry  <karl@gnu.org>
86461
86462         * config/config.sub: update from prep.
86463
86464 2003-06-02  Paul Eggert  <eggert@twinsun.com>
86465
86466         [from coreutils]
86467         Fix some minor time-related bugs with POSIX time arguments.
86468         Some valid time stamps were being rejected (notably -1, and
86469         time stamps before 1900 on 64-bit hosts).  And some invalid
86470         time stamps were being accepted, e.g. September 31.
86471
86472         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
86473         that we can return (time_t) -1 successfully.
86474         * lib/posixtm.c: Likewise.
86475         [HAVE_STDBOOL_H]: Include <stdbool.h>.
86476         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
86477         (t): Remove static var.
86478         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
86479         of static var.  All uses changed.
86480         (year): Do not reject years before 1900; they can occur with
86481         64-bit time_t.
86482         (posix_time_parse): Do not check for out-of-range components;
86483         that is now the caller's responsibility, since our checks were
86484         only approximations.
86485         (posixtime): Use mktime to check for out-of-range components,
86486         since it knows them exactly.
86487         If mktime returns (time_t) -1, check whether an error actually occurred
86488         by invoking localtime on -1.
86489         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86490         posixtime failures better.
86491         Improve the test data (in comments only).
86492
86493 2003-06-02  Karl Berry  <karl@gnu.org>
86494
86495         * config/mkinstalldirs (version): new variable.
86496         (--version): new option.
86497         (usage): improve message.
86498
86499 2003-05-30  Karl Berry  <karl@gnu.org>
86500
86501         * lib/mktime.c: update from libc.
86502
86503 2003-05-30  Bruno Haible  <bruno@clisp.org>
86504
86505         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86506         * config/config.rpath: Upgrade to gettext-0.12.1.
86507
86508 2003-05-30  Bruno Haible  <bruno@clisp.org>
86509
86510         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86511         * m4/nls.m4: New file, from gettext-0.12.1.
86512         * m4/po.m4: New file, from gettext-0.12.1.
86513         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86514
86515 2003-05-30  Bruno Haible  <bruno@clisp.org>
86516
86517         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86518         * lib/localcharset.h: Likewise.
86519         * lib/localcharset.c: Likewise.
86520
86521 2003-05-29  Karl Berry  <karl@gnu.org>
86522
86523         * config/config.rpath: update from gettext.
86524
86525 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86526
86527         Assume the headers required for C89 freestanding compilers.
86528         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86529         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86530         * m4/human.m4 (gl_HUMAN): Likewise.
86531         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86532         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86533         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86534         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86536         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86537
86538 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86539
86540         Assume the headers required for C89 freestanding compilers.
86541         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86542         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86543         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86544         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86545         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86546         define, since <limits.h> is guaranteed to do that.
86547         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86548         * lib/exclude.c: Include <stdbool.h> unconditionally.
86549         * lib/tempname.c: Include <stddef.h> unconditionally.
86550         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86551         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86552         <stddef.h> does that.
86553         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86554         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86555         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86556         needed.
86557         * lib/xstrtol.c: Likewise.
86558         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86559         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86560
86561         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86562         warnings on some platforms.
86563
86564         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86565         arbitrarily.
86566
86567 2003-05-26  Jim Meyering  <jim@meyering.net>
86568
86569         Merge in a change from coreutils:
86570         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86571         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86572         that condition, rather than `-1' which is slightly misleading.
86573         Change the name of the cache variable to have the gl_ prefix.
86574         Prompted by a patch from Richard Dawe for DJGPP.
86575
86576 2003-05-24  Karl Berry  <karl@gnu.org>
86577
86578         * config/config.guess: update from prep.
86579
86580 2003-05-22  Karl Berry  <karl@gnu.org>
86581
86582         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86583
86584 2003-05-20  Karl Berry  <karl@gnu.org>
86585
86586         * config/config.guess: update from prep.
86587
86588 2003-05-18  Karl Berry  <karl@gnu.org>
86589
86590         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86591         might actually be set by the user.
86592
86593         * config/depcomp, install-sh, mdate-sh: update from automake.
86594
86595 2003-05-17  Bruno Haible  <bruno@clisp.org>
86596
86597         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86598         invalid expansion for AC_EGREP_CPP.
86599         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86600         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86601         Suggested by Akim Demaille <akim@epita.fr> in
86602         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86603
86604 2003-05-12  Jim Meyering  <jim@meyering.net>
86605
86606         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86607         the space-padded-by-default conversion specifiers, %e, %k, %l.
86608
86609 2003-05-12  Bruno Haible  <bruno@clisp.org>
86610
86611         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86612         the string is longer than 4 KB.
86613
86614 2003-05-11  Karl Berry  <karl@gnu.org>
86615
86616         * config/config.{guess,sub}: update from prep.
86617
86618 2003-05-09  Bruno Haible  <bruno@clisp.org>
86619
86620         * modules/error: Add m4/strerror_r.m4 to file list.
86621
86622 2003-05-03  Bruno Haible  <bruno@clisp.org>
86623
86624         Upgrade to Unicode-4.0.
86625         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86626         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86627         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86628         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86629         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86630         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86631         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86632         Change width of U+E0100..U+E01EF from 1 to 0.
86633
86634 2003-04-25  Jim Meyering  <jim@meyering.net>
86635
86636         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86637         of type size_t, not int.
86638
86639 2003-04-25  Bruno Haible  <bruno@clisp.org>
86640
86641         * lib/copy-file.c: Include <stddef.h>, for size_t.
86642
86643 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86644
86645         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86646         code which expansion is under static control.  Patch imported from
86647         Akim Demaille's patch to Bison; see
86648         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86649
86650 2003-04-14  Bruno Haible  <bruno@clisp.org>
86651
86652         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86653
86654 2003-04-11  Jim Meyering  <jim@meyering.net>
86655
86656         Merge changes from Coreutils.
86657
86658         2003-03-22  Jim Meyering  <jim@meyering.net>
86659
86660         * lib/strftime.c (widen): Cast alloca return value to proper type.
86661
86662         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86663
86664         From GNU libc.
86665         * lib/strftime.c (my_strftime): Handle very large width
86666         specifications for numeric values correctly.  Improve checks for
86667         overflow.
86668
86669         2003-01-19  Jim Meyering  <jim@meyering.net>
86670
86671         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86672         definitions.
86673         (nl_get_alt_digit) [! defined my_strftime]: Define.
86674         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86675         _nl_get_alt_digit and _nl_get_walt_digit.
86676
86677         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86678         libc. These changes have no effect outside of _LIBC.
86679
86680 2003-04-10  Bruno Haible  <bruno@clisp.org>
86681
86682         * modules/findprog: New file.
86683         * MODULES.html.sh (func_all_modules): Add it.
86684
86685 2003-04-10  Bruno Haible  <bruno@clisp.org>
86686
86687         * m4/findprog.m4: New file.
86688         * m4/eaccess.m4: New file.
86689
86690 2003-04-10  Bruno Haible  <bruno@clisp.org>
86691
86692         * lib/findprog.h: New file, from GNU gettext.
86693         * lib/findprog.c: New file, from GNU gettext.
86694
86695 2003-04-05  Jim Meyering  <jim@meyering.net>
86696
86697         Merge changes from Coreutils.
86698
86699         * lib/exclude.h (PARAMS): Remove definition and uses.
86700         * lib/exclude.c: Remove uses of `PARAMS'.
86701
86702         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86703         Add test-cases for DOS filenames. Declare program_name.
86704         (main): Set up program_name.  Patch by Rich Dawe.
86705
86706         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86707         error from mntctl.
86708         Use mntctl's return value to drive the entry-processing loop, since
86709         we can't rely on the value of the vmt_length member in the last
86710         entry.  On some systems doing so could result in exhausting
86711         virtual memory.  Based in part on a patch from Mike Jetzer.
86712
86713 2003-04-04  Bruno Haible  <bruno@clisp.org>
86714
86715         * modules/linebreak: New file.
86716         * MODULES.html.sh (func_all_modules): Add it.
86717
86718 2003-04-04  Bruno Haible  <bruno@clisp.org>
86719
86720         * m4/linebreak.m4: New file.
86721
86722 2003-04-04  Bruno Haible  <bruno@clisp.org>
86723
86724         * lib/linebreak.h: New file, from GNU gettext.
86725         * lib/linebreak.c: New file, from GNU gettext with slight
86726         modifications.
86727         * lib/lbrkprop.h: New file, from GNU gettext.
86728
86729 2003-04-03  Bruno Haible  <bruno@clisp.org>
86730
86731         * modules/utf8-ucs4: New file.
86732         * modules/utf16-ucs4: New file.
86733         * modules/ucs4-utf8: New file.
86734         * modules/ucs4-utf16: New file.
86735         * MODULES.html.sh (func_all_modules): Add them.
86736
86737 2003-04-03  Bruno Haible  <bruno@clisp.org>
86738
86739         * m4/utf-ucs4.m4: New file.
86740         * m4/ucs4-utf.m4: New file.
86741
86742 2003-04-03  Bruno Haible  <bruno@clisp.org>
86743
86744         * lib/utf8-ucs4.h: New file, from GNU gettext.
86745         * lib/utf16-ucs4.h: New file, from GNU gettext.
86746         * lib/ucs4-utf8.h: New file, from GNU gettext.
86747         * lib/ucs4-utf16.h: New file, from GNU gettext.
86748
86749 2003-04-02  Bruno Haible  <bruno@clisp.org>
86750
86751         * modules/binary-io: New file.
86752         * MODULES.html.sh (func_all_modules): Add it.
86753
86754 2003-04-02  Bruno Haible  <bruno@clisp.org>
86755
86756         * lib/binary-io.h: New file, from GNU gettext.
86757
86758 2003-04-01  Bruno Haible  <bruno@clisp.org>
86759
86760         * modules/pathname: New file.
86761         * MODULES.html.sh (func_all_modules): Add it.
86762
86763 2003-04-01  Bruno Haible  <bruno@clisp.org>
86764
86765         * lib/pathname.h: New file, from GNU gettext.
86766         * lib/concatpath.c: New file, from GNU gettext.
86767
86768 2003-03-30  Bruno Haible  <bruno@clisp.org>
86769
86770         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86771
86772 2003-03-30  Bruno Haible  <bruno@clisp.org>
86773
86774         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86775         function chown() doesn't exist.
86776
86777 2003-03-28  Bruno Haible  <bruno@clisp.org>
86778
86779         * modules/copy-file: New file.
86780         * MODULES.html.sh (func_all_modules): Add it.
86781
86782 2003-03-28  Bruno Haible  <bruno@clisp.org>
86783
86784         * m4/copy-file.m4: New file.
86785
86786 2003-03-28  Bruno Haible  <bruno@clisp.org>
86787
86788         * lib/copy-file.h: New file, from GNU gettext.
86789         * lib/copy-file.c: New file, from GNU gettext.
86790
86791 2003-03-18  Jim Meyering  <jim@meyering.net>
86792
86793         * lib/quote.c (quote_n): Fix typo in comment.
86794
86795 2003-03-18  Bruno Haible  <bruno@clisp.org>
86796
86797         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86798         checking.
86799         * m4/onceonly_2_57.m4: Likewise.
86800
86801 2003-03-17  Bruno Haible  <bruno@clisp.org>
86802
86803         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86804         (m4_quote): Remove macro.
86805         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86806
86807 2003-03-14  Jim Meyering  <jim@meyering.net>
86808
86809         Merge changes from Coreutils.
86810         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86811         to be const, in order to avoid warnings.
86812         (obstack_room): Likewise.
86813         (obstack_empty_p): Likewise.
86814
86815 2003-03-14  Bruno Haible  <bruno@clisp.org>
86816
86817         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86818         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86819
86820 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86821
86822         Merge changes from Bison.
86823         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86824         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86825         when compiling Bison 1.875's `bitset bset = obstack_alloc
86826         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86827         * lib/hash.c: Include <stdbool.h> unconditionally.
86828
86829 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86830
86831         * m4/onceonly.m4 (m4_quote): New macro.
86832         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86833         Quote AC_FOREACH variable-expansions properly.
86834
86835 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86836
86837         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86838
86839 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86840
86841         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86842         Reported by Bruce Becker; see:
86843         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86844
86845 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86846             Bruno Haible  <bruno@clisp.org>
86847
86848         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86849         Reported by John Hughes, see
86850         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86851
86852 2003-02-20  Bruno Haible  <bruno@clisp.org>
86853
86854         * MODULES.html.sh (func_all_modules): Add poll.
86855
86856 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86857
86858         * modules/poll: New file.
86859
86860 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86861
86862         * lib/poll_.h: New file.
86863         * lib/poll.c: New file.
86864
86865 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86866
86867         * m4/poll.m4: New file.
86868
86869 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86870
86871         * modules/mathl: New file.
86872
86873 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86874
86875         * lib/mathl.h: New file.
86876         * lib/acosl.c: New file.
86877         * lib/asinl.c: New file.
86878         * lib/atanl.c: New file.
86879         * lib/ceill.c: New file.
86880         * lib/cosl.c: New file.
86881         * lib/expl.c: New file.
86882         * lib/floorl.c: New file.
86883         * lib/frexpl.c: New file.
86884         * lib/ldexpl.c: New file.
86885         * lib/logl.c: New file.
86886         * lib/sincosl.c: New file.
86887         * lib/sinl.c: New file.
86888         * lib/sqrtl.c: New file.
86889         * lib/tanl.c: New file.
86890         * lib/trigl.c: New file.
86891         * lib/trigl.h: New file.
86892
86893 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86894
86895         * m4/mathl.m4: New file.
86896
86897 2003-02-18  Bruno Haible  <bruno@clisp.org>
86898
86899         * MODULES.html.sh (func_all_modules): Add mathl.
86900
86901 2003-02-17  Bruno Haible  <bruno@clisp.org>
86902
86903         * modules/mkdtemp: New module.
86904         * MODULES.html.sh (func_all_modules): Add it.
86905
86906 2003-02-17  Bruno Haible  <bruno@clisp.org>
86907
86908         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86909
86910 2003-02-17  Bruno Haible  <bruno@clisp.org>
86911
86912         * lib/mkdtemp.h: New file, from GNU gettext.
86913         * lib/mkdtemp.c: New file, from GNU gettext.
86914
86915 2003-02-02  Jim Meyering  <jim@meyering.net>
86916
86917         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86918         e.g. glibc-2.2.93.
86919
86920 2003-01-31  Bruno Haible  <bruno@clisp.org>
86921
86922         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86923         'rpl_rename'.
86924         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86925         'rpl_strnlen'.
86926         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86927         'rpl_strtod'.
86928         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86929         'rpl_utime'.
86930
86931 2003-01-31  Bruno Haible  <bruno@clisp.org>
86932
86933         * lib/rename.c: #undef rename before defining rpl_rename.
86934         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86935
86936 2003-01-30  Bruno Haible  <bruno@clisp.org>
86937
86938         * modules/vasnprintf, modules/vasprintf: New modules.
86939         * MODULES.html.sh (func_all_modules): Add them.
86940
86941 2003-01-30  Bruno Haible  <bruno@clisp.org>
86942
86943         * m4/signed.m4: New file, from GNU gettext.
86944         * m4/longdouble.m4: New file, from GNU gettext.
86945         * m4/wchar_t.m4: New file, from GNU gettext.
86946         * m4/wint_t.m4: New file, from GNU gettext.
86947         * m4/vasnprintf.m4: New file.
86948         * m4/vasprintf.m4: New file.
86949
86950 2003-01-30  Bruno Haible  <bruno@clisp.org>
86951
86952         * lib/printf-args.h: New file, from GNU gettext.
86953         * lib/printf-args.c: New file, from GNU gettext.
86954         * lib/printf-parse.h: New file, from GNU gettext.
86955         * lib/printf-parse.c: New file, from GNU gettext.
86956         * lib/vasnprintf.h: New file, from GNU gettext.
86957         * lib/vasnprintf.c: New file, from GNU gettext.
86958         * lib/asnprintf.c: New file, from GNU gettext.
86959         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86960         * lib/vasprintf.c: New file, from GNU gettext.
86961         * lib/asprintf.c: New file, from GNU gettext.
86962
86963 2003-01-29  Bruno Haible  <bruno@clisp.org>
86964
86965         * modules/stpncpy: New module.
86966         * MODULES.html.sh (func_all_modules): Add it.
86967
86968 2003-01-29  Bruno Haible  <bruno@clisp.org>
86969
86970         * m4/stpncpy.m4: New file.
86971
86972 2003-01-29  Bruno Haible  <bruno@clisp.org>
86973
86974         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86975         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86976
86977 2003-01-28  Bruno Haible  <bruno@clisp.org>
86978
86979         * modules/c-ctype: New module.
86980         * MODULES.html.sh (func_all_modules): Add it.
86981
86982 2003-01-28  Bruno Haible  <bruno@clisp.org>
86983
86984         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86985         Paul Eggert.
86986         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86987         Paul Eggert.
86988
86989 2003-01-27  Bruno Haible  <bruno@clisp.org>
86990
86991         * modules/xsetenv: New module.
86992         * MODULES.html.sh (func_all_modules): Add it.
86993
86994 2003-01-27  Bruno Haible  <bruno@clisp.org>
86995
86996         * lib/xsetenv.h: New file, from GNU gettext.
86997         * lib/xsetenv.c: New file, from GNU gettext.
86998
86999 2003-01-23  Jim Meyering  <jim@meyering.net>
87000
87001         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87002         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87003
87004 2003-01-23  Bruno Haible  <bruno@clisp.org>
87005
87006         * modules/minmax: New module.
87007         * MODULES.html.sh (func_all_modules): Add it.
87008
87009 2003-01-23  Bruno Haible  <bruno@clisp.org>
87010
87011         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87012         Eggert.
87013
87014 2003-01-22  Bruno Haible  <bruno@clisp.org>
87015
87016         * modules/exit: New module.
87017         * MODULES.html.sh (func_all_modules): Add it.
87018
87019 2003-01-22  Bruno Haible  <bruno@clisp.org>
87020
87021         * lib/exit.h: New file, from GNU gettext.
87022
87023 2003-01-19  Bruno Haible  <bruno@clisp.org>
87024
87025         * gnulib-tool: Recognize option --extract-maintainer.
87026         (func_get_maintainer): New function.
87027         * modules/*: Add Maintainer entry.
87028
87029 2003-01-16  Jim Meyering  <jim@meyering.net>
87030
87031         * m4/regex.m4: The `regex' struct is both input and output.
87032         Initialize it before each use.  Patch by Tim Waugh.
87033
87034 2003-01-16  Bruno Haible  <bruno@clisp.org>
87035
87036         * MODULES.html.sh: Add a table of contents. Add the module name as
87037         leftmost column. Add hyperlinks.
87038
87039 2003-01-15  Bruno Haible  <bruno@clisp.org>
87040
87041         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87042
87043 2003-01-15  Bruno Haible  <bruno@clisp.org>
87044
87045         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87046         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87047         suffix.
87048
87049 2003-01-15  Bruno Haible  <bruno@clisp.org>
87050
87051         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87052
87053 2003-01-15  Bruno Haible  <bruno@clisp.org>
87054
87055         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87056         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87057
87058 2003-01-14  Jim Meyering  <jim@meyering.net>
87059
87060         * lib/same.c (same_name): Tweak a comment.
87061
87062 2003-01-14  Bruno Haible  <bruno@clisp.org>
87063
87064         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87065         when a string comparison is sufficient.
87066
87067 2003-01-14  Bruno Haible  <bruno@clisp.org>
87068
87069         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87070         'unsigned int'.
87071
87072 2003-01-14  Bruno Haible  <bruno@clisp.org>
87073
87074         * lib/hash-pjw.c: Add comment about low quality of this function.
87075
87076 2003-01-13  Bruno Haible  <bruno@clisp.org>
87077
87078         * modules/stpcpy: Distribute lib/stpcpy.h.
87079         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87080
87081 2003-01-13  Bruno Haible  <bruno@clisp.org>
87082
87083         * modules/*: Add a description.
87084         * modules/strpbrk: Fix Makefile.am snippet.
87085         * modules/strtoimax: Fix dependencies.
87086         * modules/strtoumax: Likewise.
87087
87088 2003-01-13  Bruno Haible  <bruno@clisp.org>
87089
87090         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87091         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87092         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87093
87094 2003-01-13  Bruno Haible  <bruno@clisp.org>
87095
87096         * gnulib-tool (func_create_testdir): Store config/* files in the main
87097         directory.
87098         * config.rpath: Move to ...
87099         * config/config.rpath: ... here.
87100         * modules/gettext: Contains config/config.rpath, not config.rpath.
87101         * modules/iconv: Likewise.
87102
87103 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87104
87105         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87106         to avoid collisions with libcurses and libreadline.
87107
87108         * m4/getstr.m4: Remove.
87109         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87110
87111 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87112
87113         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87114         to avoid collisions with libcurses and libreadline.
87115
87116         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87117         * lib/getstr.h, getstr.c: Remove.
87118         * lib/getline.c: Include "getline.h", to check interface.
87119         Move body of old getstr.c here: this defines MIN_CHUNK and
87120         declares getdelim2, which is renamed from getstr.
87121         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87122
87123         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87124         All uses changed.
87125         * lib/linebuffer.h: Likewise.
87126         (readline): Remove backward-compatibility macro.
87127
87128 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87129
87130         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87131         to avoid collisions with libcurses and libreadline.
87132         * getstr: Remove.
87133         * MODULES.html.sh: Remove getstr.
87134         * modules/getline: Depend on unlocked-io, not getstr.
87135
87136 2003-01-12  Jim Meyering  <jim@meyering.net>
87137
87138         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87139
87140 2003-01-10  Bruno Haible  <bruno@clisp.org>
87141
87142         * modules/alloca: Change Makefile.am requirements. Simplify Include
87143         requirements. Add lib/alloca_.h to file list.
87144
87145 2003-01-10  Bruno Haible  <bruno@clisp.org>
87146
87147         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87148
87149 2003-01-10  Bruno Haible  <bruno@clisp.org>
87150
87151         * lib/alloca_.h: New file.
87152         * lib/getdate.y: Unconditionally include alloca.h.
87153         * lib/makepath.c: Likewise.
87154         * lib/setenv.c: Likewise.
87155         * lib/userspec.c: Likewise.
87156
87157 2003-01-09  Karl Berry  <karl@gnu.org>
87158
87159         * MODULES.html.sh: include `dirname $0` in PATH, to find
87160         gnulib-tool.
87161
87162 2003-01-09  Bruno Haible  <bruno@clisp.org>
87163
87164         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87165         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87166
87167 2003-01-09  Bruno Haible  <bruno@clisp.org>
87168
87169         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87170
87171 2003-01-09  Bruno Haible  <bruno@clisp.org>
87172
87173         * lib/stdbool.h.in: New file.
87174
87175 2003-01-09  Bruno Haible  <bruno@clisp.org>
87176
87177         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87178         * MODULES.html.sh: Likewise.
87179
87180 2003-01-08  Jim Meyering  <jim@meyering.net>
87181
87182         * lib/full-write.c: Undefine and define-away `const' after inclusion
87183         of errno.h, not before.  Suggestion from Bruno Haible.
87184
87185 2003-01-08  Bruno Haible  <bruno@clisp.org>
87186
87187         * modules/full-read: Depend on full-write.
87188
87189 2003-01-08  Bruno Haible  <bruno@clisp.org>
87190
87191         * lib/safe-read.c: Include specification header first, to ensure its
87192         selfcontainedness.
87193         * lib/full-write.c: Likewise.
87194
87195 2003-01-07  Jim Meyering  <jim@meyering.net>
87196
87197         * lib/full-write.c: Rework so that it may serve to define full_read,
87198         too.
87199         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
87200
87201 2003-01-07  Bruno Haible  <bruno@clisp.org>
87202
87203         * lib/strtoimax.c: Include <stdint.h> as an alternative to
87204         <inttypes.h>.
87205         * lib/xstrtol.h: Likewise.
87206         * lib/xstrtoimax.c: Likewise.
87207         * lib/xstrtoumax.c: Likewise.
87208         * lib/human.h: Likewise.
87209
87210         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
87211         on systems that have <inttypes.h> but not <stdint.h>.
87212
87213 2003-01-07  Bruno Haible  <bruno@clisp.org>
87214
87215         * MODULES.html.sh: Add copyright notice.
87216         (missed_files): Omit CVS directory entries.
87217         (func_module): Make it work with sed-3.02.
87218         * MODULES.txt: Remove file.
87219
87220 2003-01-06  Jim Meyering  <jim@meyering.net>
87221
87222         * lib/version-etc.c: Update year in translatable copyright string.
87223
87224 2003-01-03  Karl Berry  <karl@gnu.org>
87225
87226         * config/config.{guess,sub}: update from prep.
87227
87228 2003-01-02  Karl Berry  <karl@gnu.org>
87229
87230         * doc/COPYING.DOC: belatedly updated to 1.2.
87231
87232 2003-01-01  Karl Berry  <karl@gnu.org>
87233
87234         * gnulib-tool (func_verify_module): report module name $module in
87235         error message, not $1.
87236         * gnulib-tool (create-testdir): don't complain if destdir couldn't
87237         be created, only if it doesn't exist.
87238         * gnulib-tool (last_checkin_date): don't expand the $Date here.
87239
87240 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87241
87242         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
87243
87244 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87245
87246         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
87247         memcmp if strcoll doesn't work.
87248
87249 2002-12-31  Bruno Haible  <bruno@clisp.org>
87250
87251         * lib/utime.c (utime_null): No need to call ftruncate if the file was
87252         nonempty.
87253
87254 2002-12-31  Bruno Haible  <bruno@clisp.org>
87255
87256         * lib/memcoll.c (STRCOLL): New macro.
87257         (memcoll): Use it.
87258
87259 2002-12-31  Bruno Haible  <bruno@clisp.org>
87260
87261         * lib/localcharset.h: New file.
87262         * lib/localcharset.c: Include it.
87263         * lib/unicodeio.c: Likewise.
87264
87265 2002-12-31  Bruno Haible  <bruno@clisp.org>
87266
87267         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
87268         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
87269
87270 2002-12-31  Bruno Haible  <bruno@clisp.org>
87271
87272         * lib/getline.h: Include <stddef.h>, for size_t.
87273
87274         * lib/unicodeio.h: Include <stddef.h>, for size_t.
87275         * lib/unicodeio.c: Don't include <stddef.h>.
87276
87277 2002-12-31  Bruno Haible  <bruno@clisp.org>
87278
87279         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
87280         HAVE_TM_ZONE.
87281
87282 2002-12-24  Karl Berry  <karl@gnu.org>
87283
87284         * config/config.guess: update from prep.
87285
87286 2002-12-24  Bruno Haible  <bruno@clisp.org>
87287
87288         General infrasructure.
87289         * m4/README: Rewritten.
87290         * m4/onceonly.m4: New file.
87291         * m4/onceonly_2_57.m4: New file.
87292
87293         Module atexit.
87294         * m4/atexit.m4: New file.
87295
87296         Module strtod.
87297         * m4/strtod.m4: New file.
87298
87299         Module strtol.
87300         * m4/strtol.m4: New file.
87301
87302         Module strtoul.
87303         * m4/strtoul.m4: New file.
87304
87305         Module memchr.
87306         * m4/memchr.m4: New file.
87307
87308         Module memcmp.
87309         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87310         (jm_FUNC_MEMCMP): Invoke it.
87311
87312         Module memcpy.
87313         * m4/memcpy.m4: New file.
87314
87315         Module memmove.
87316         * m4/memmove.m4: New file.
87317
87318         Module memset.
87319         * m4/memset.m4: New file.
87320
87321         Module strcspn.
87322         * m4/strcspn.m4: New file.
87323
87324         Module strpbrk.
87325         * m4/strpbrk.m4: New file.
87326
87327         Module strstr.
87328         * m4/strstr.m4: New file.
87329
87330         Module strerror.
87331         * m4/strerror.m4: New file.
87332
87333         Module mktime.
87334         * m4/mktime.m4: Renamed from jm-mktime.m4.
87335         (gl_PREREQ_MKTIME): New macro.
87336         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87337
87338         Module malloc.
87339         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87340         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87341         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87342
87343         Module realloc.
87344         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87345         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87346         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87347
87348         Module strftime.
87349         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87350         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87351         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87352         gl_TM_GMTOFF.
87353         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87354
87355         Module xalloc.
87356         * m4/xalloc.m4: New file.
87357
87358         Module alloca.
87359         * m4/alloca.m4: New file.
87360
87361         Module putenv.
87362         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
87363         (jm_FUNC_PUTENV): Invoke it.
87364
87365         Module setenv.
87366         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
87367         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
87368         when invoked twice.
87369         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
87370         gt_FUNC_SETENV.
87371
87372         Module memrchr.
87373         * m4/memrchr.m4: New file.
87374
87375         Module stpcpy.
87376         * m4/stpcpy.m4: New file.
87377
87378         Module strcase.
87379         * m4/strcase.m4: New file.
87380
87381         Module strdup.
87382         * m4/strdup.m4: New file.
87383
87384         Module strnlen.
87385         * m4/strnlen.m4: New file.
87386
87387         Module strndup.
87388         * m4/strndup.m4: New file.
87389
87390         Module xstrtod.
87391         * m4/xstrtod.m4: New file.
87392
87393         Module xstrtol.
87394         * m4/xstrtol.m4: New file.
87395
87396         Module getdate.
87397         * m4/getdate.m4: New file.
87398
87399         Module unlocked-io.
87400         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87401         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87402         * m4/jm-glibc-io.m4n: Remove file.
87403
87404         Module long-options.
87405         * m4/long-options.m4: New file.
87406
87407         Module md5.
87408         * m4/md5.m4: New file.
87409
87410         Module sha.
87411         * m4/sha.m4: New file.
87412
87413         Module getstr.
87414         * m4/getstr.m4: New file.
87415
87416         Module getline.
87417         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
87418         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
87419         <sys/types.h>, for size_t. Use the function name gnu_getline, not
87420         simply getline. Infoke gl_PREREQ_GETLINE.
87421
87422         Module obstack.
87423         * m4/obstack.m4: New file.
87424
87425         Module hash.
87426         * m4/hash.m4: New file.
87427
87428         Module readtokens.
87429         * m4/readtokens.m4: New file.
87430
87431         Module strverscmp.
87432         * m4/strverscmp.m4: New file.
87433
87434         Module stdbool.
87435         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
87436         OSF/1.
87437
87438         Module strtoll.
87439         * m4/strtoll.m4: New file.
87440
87441         Module strtoull.
87442         * m4/strtoull.m4: New file.
87443
87444         Module strtoimax.
87445         * m4/strtoimax.m4: New file.
87446
87447         Module strtoumax.
87448         * m4/strtoumax.m4: New file.
87449
87450         Module xstrtoimax.
87451         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
87452         jm_AC_PREREQ_XSTRTOIMAX.
87453         Moved the strtol prerequisites to strtol.m4.
87454         Moved the strtoll prerequisites to strtoll.m4.
87455         Moved the strtoimax prerequisites to strtoimax.m4.
87456
87457         Module xstrtoumax.
87458         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
87459         jm_AC_PREREQ_XSTRTOUMAX.
87460         Moved the strtoul prerequisites to strtoul.m4.
87461         Moved the strtoull prerequisites to strtoull.m4.
87462         Moved the strtoumax prerequisites to strtoumax.m4.
87463
87464         Module chown.
87465         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
87466         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
87467
87468         Module dup2.
87469         * m4/dup2.m4: New file.
87470
87471         Module ftruncate.
87472         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
87473         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
87474
87475         Module getgroups.
87476         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
87477         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
87478
87479         Module gettimeofday.
87480         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
87481         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87482         gl_PREREQ_GETTIMEOFDAY.
87483
87484         Module mkdir.
87485         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87486         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87487
87488         Module mkstemp.
87489         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87490         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87491         jm_AC_TYPE_UINTMAX_T.
87492         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87493
87494         Module stat.
87495         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87496         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87497
87498         Module lstat.
87499         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87500         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87501
87502         Module timespec.
87503         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87504         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87505         * m4/st_mtim.m4: Indentation.
87506
87507         Module nanosleep.
87508         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87509         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87510         gl_PREREQ_NANOSLEEP.
87511
87512         Module regex.
87513         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87514         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87515         (gl_REGEX): New macro.
87516
87517         Module rename.
87518         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87519         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87520
87521         Module rmdir.
87522         * m4/rmdir.m4: New file.
87523
87524         Module utime.
87525         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87526         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87527         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87528
87529         Module dirname.
87530         * m4/dirname.m4: New file.
87531
87532         Module getopt.
87533         * m4/getopt.m4: New file.
87534
87535         Module unistd-safer.
87536         * m4/unistd-safer.m4: New file.
87537
87538         Module fnmatch.
87539         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87540         declaration.
87541         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87542         (gl_FUNC_FNMATCH_POSIX): New macro.
87543         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87544         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87545         simply fnmatch.
87546
87547         Module exclude.
87548         * m4/exclude.m4: New file.
87549
87550         Module human.
87551         * m4/human.m4: New file.
87552
87553         Module acl.
87554         * m4/acl.m4: Nop.
87555
87556         Module backupfile.
87557         * m4/backupfile.m4: New file.
87558         * m4/d-ino.m4: Indentation.
87559
87560         Module fsusage.
87561         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87562         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87563         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87564
87565         Module dirfd.
87566         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87567         requirements.
87568
87569         Module euidaccess.
87570         * m4/euidaccess.m4: New file.
87571
87572         Module file-type.
87573         * m4/file-type.m4: New file.
87574
87575         Module fileblocks.
87576         * m4/fileblocks.m4: New file.
87577
87578         Module filemode.
87579         * m4/filemode.m4: New file.
87580
87581         Module isdir.
87582         * m4/isdir.m4: New file.
87583
87584         Module lchown.
87585         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87586         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87587
87588         Module makepath.
87589         * m4/makepath.m4: New file.
87590
87591         Module modechange.
87592         * m4/modechange.m4: New file.
87593
87594         Module mountlist.
87595         * m4/mountlist.m4: New file.
87596         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87597         Indentation.
87598
87599         Module path-concat.
87600         * m4/path-concat.m4: New file.
87601
87602         Module pathmax.
87603         * m4/pathmax.m4: New file.
87604
87605         Module same.
87606         * m4/same.m4: New file.
87607
87608         Module save-cwd.
87609         * m4/save-cwd.m4: New file.
87610
87611         Module savedir.
87612         * m4/savedir.m4: New file.
87613
87614         Module xgetcwd.
87615         * m4/xgetcwd.m4: New file.
87616         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87617
87618         Module xreadlink.
87619         * m4/xreadlink.m4: New file.
87620
87621         Module safe-read.
87622         * m4/safe-read.m4: New file.
87623
87624         Module safe-write.
87625         * m4/safe-write.m4: New file.
87626
87627         Module closeout.
87628         * m4/closeout.m4: New file.
87629
87630         Module stdio-safer.
87631         * m4/stdio-safer.m4: New file.
87632
87633         Module getpass.
87634         * m4/getpass.m4: New file.
87635
87636         Module getugroups.
87637         * m4/getugroups.m4: New file.
87638
87639         Module group-member.
87640         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87641         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87642
87643         Module idcache.
87644         * m4/idcache.m4: New file.
87645
87646         Module userspec.
87647         * m4/userspec.m4: New file.
87648
87649         Module gettime.
87650         * m4/clock_time.m4: New file.
87651         * m4/gettime.m4: New file.
87652
87653         Module settime.
87654         * m4/settime.m4: New file.
87655
87656         Module posixtm.
87657         * m4/posixtm.m4: New file.
87658
87659         Module gethostname.
87660         * m4/gethostname.m4: New file.
87661
87662         Module canon-host.
87663         * m4/canon-host.m4: New file.
87664
87665         Module gettext.
87666         * m4/codeset.m4: New file, from gettext-0.11.5.
87667         * m4/gettext.m4: New file, from gettext-0.11.5.
87668         * m4/glibc21.m4: New file, from gettext-0.11.5.
87669         * m4/iconv.m4: New file, from gettext-0.11.5.
87670         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87671         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87672         * m4/inttypes.m4: New file, from gettext-0.11.5.
87673         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87674         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87675         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87676         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87677         * m4/lib-link.m4: New file, from gettext-0.11.5.
87678         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87679         * m4/progtest.m4: New file, from gettext-0.11.5.
87680         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87681         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87682         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87683
87684         Module localcharset.
87685         * m4/localcharset.m4: New file.
87686
87687         Module hard-locale.
87688         * m4/hard-locale.m4: New file.
87689
87690         Module mbswidth.
87691         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87692         onceonly macros.
87693         * m4/mbrtowc.m4: Add comment.
87694
87695         Module memcasecmp.
87696         * m4/memcasecmp.m4: New file.
87697
87698         Module memcoll.
87699         * m4/memcoll.m4: New file.
87700
87701         Module unicodeio.
87702         * m4/unicodeio.m4: New file.
87703
87704         Module rpmatch.
87705         * m4/rpmatch.m4: New file.
87706
87707         Module yesno.
87708         * m4/yesno.m4: New file.
87709
87710         Module exitfail.
87711         * m4/exitfail.m4: New file.
87712
87713         Module c-stack.
87714         * m4/c-stack.m4 (gl_C_STACK): New macro.
87715         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87716
87717         Module error.
87718         * m4/error.m4 (gl_ERROR): New macro.
87719         (jm_PREREQ_ERROR): Use onceonly macros.
87720
87721         Module fatal.
87722         * m4/fatal.m4: New file.
87723
87724         Module getloadavg.
87725         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87726         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87727
87728         Module getpagesize.
87729         * m4/getpagesize.m4: New file.
87730
87731         Module getusershell.
87732         * m4/getusershell.m4: New file.
87733
87734         Module physmem.
87735         * m4/physmem.m4: New file.
87736
87737         Module posixver.
87738         * m4/posixver.m4: New file.
87739
87740         Module quotearg.
87741         * m4/quotearg.m4: New file.
87742
87743         Module quote.
87744         * m4/quote.m4: New file.
87745
87746         Module readutmp.
87747         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87748
87749         Module sig2str.
87750         * m4/sig2str.m4: New file.
87751
87752         Other.
87753         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87754         ulonglong.m4.
87755         * m4/intmax_t.m4: New file.
87756         * m4/d-type.m4: Indentation.
87757         * m4/jm-macros.m4: Update.
87758         * m4/prereq.m4 (jm_PREREQ): Update.
87759         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87760         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87761         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87762         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87763         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87764         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87765         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87766         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87767         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87768         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87769         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87770         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87771         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87772         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87773         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87774         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87775         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87776         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87777         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87778
87779 2002-12-24  Bruno Haible  <bruno@clisp.org>
87780
87781         * MODULES.txt: Update according to m4/ changes.
87782
87783         Module gettext.
87784         * config.rpath: New file, from gettext-0.11.5.
87785
87786         * modules/*: New module descriptions.
87787         * gnulib-tool: New file.
87788         * MODULES.html.sh: New file.
87789
87790 2002-12-21  Karl Berry  <karl@gnu.org>
87791
87792         * doc/fdl.texi: update to version 1.2.
87793
87794 2002-12-19  Karl Berry  <karl@gnu.org>
87795
87796         * config/config.guess: update from prep.
87797
87798 2002-12-18  Bruno Haible  <bruno@clisp.org>
87799
87800         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87801         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87802
87803 2002-12-17  Bruno Haible  <bruno@clisp.org>
87804
87805         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87806         stdlib.h, string.h.
87807
87808 2002-12-17  Bruno Haible  <bruno@clisp.org>
87809
87810         * lib/canon-host.c (strdup): Remove unused declaration.
87811
87812         * lib/fsusage.c: Include full_read.h.
87813         (get_fs_usage): Use full_read instead of safe_read.
87814
87815         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87816
87817 2002-12-12  Karl Berry  <karl@gnu.org>
87818
87819         * config/config.guess: update from prep.
87820
87821 2002-12-11  Bruno Haible  <bruno@clisp.org>
87822
87823         * m4/setenv.m4: New file, from gettext-0.11.5.
87824
87825 2002-12-11  Bruno Haible  <bruno@clisp.org>
87826
87827         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87828         not unsetenv().
87829         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87830         modifications:
87831
87832         2002-12-11  Bruno Haible  <bruno@clisp.org>
87833
87834                 * setenv.c (alloca): Fall back to malloc.
87835                 (freea): New macro.
87836                 (setenv): Use freea() to free memory allocated with alloca().
87837
87838         2002-11-13  Bruno Haible  <bruno@clisp.org>
87839
87840                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87841                 function declarations.
87842                 * unsetenv.c (unsetenv): Likewise.
87843
87844         2002-03-04  Bruno Haible  <bruno@clisp.org>
87845
87846                 Portability to AIX 4.3.3.
87847                 * unsetenv.c: New file, extracted from setenv.c.
87848                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87849
87850         2001-12-20  Bruno Haible  <bruno@clisp.org>
87851
87852                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87853                 use malloc instead. For SunOS 4.
87854
87855         2001-12-11  Bruno Haible  <bruno@clisp.org>
87856
87857                 * setenv.c: Declare alloca.
87858                 (compar_fn_t): New typedef.
87859                 (KNOWN_VALUE, STORE_VALUE): Use it.
87860
87861         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87862         setenv.h.
87863
87864 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87865
87866         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87867         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87868         Choose values that are less likely to collide with system fnmatch
87869         options.
87870         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87871         defined (e.g., a pure POSIX system).
87872         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87873         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87874
87875 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87876
87877         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87878         a pain in practice to deal with generated m4 files.  This change
87879         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87880
87881         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87882         and jm-glibc-io.m4, as they are no longer a special case.
87883         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87884         kludge and the auto-generation stuff.  Check only whether the
87885         functions are declared, not whether they exist, since older hosts
87886         that don't declare the functions can't use the optimization anyway.
87887
87888 2002-12-06  Jim Meyering  <jim@meyering.net>
87889
87890         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87891
87892         Merge in changes from libc's misc/error.c, in preparation
87893         for the merge of gnulib's changes back into libc.
87894
87895         * lib/error.c (_): Define only if not already defined.
87896         Move definition to follow all #include directives.
87897         Include unlocked-io.h only if !_LIBC.
87898         [_LIBC]: Include <libio/libioP.h>.
87899         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87900         (fflush): Tweak definition to use INTUSE.
87901         (putc): Define.
87902
87903 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87904
87905         * lib/alloca.c [defined emacs]: Include "lisp.h".
87906         (xalloc_die) [defined emacs]: New macro.
87907         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87908         [! defined emacs]: Include <xalloc.h>.
87909         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87910         (pointer): Typedef to POINTER_TYPE *.
87911         (malloc): Remove decl; we now always use xmalloc.
87912         (alloca): Use old-style definition, since Emacs needs this.
87913         Check for arithmetic overflow when computing combined size.
87914
87915 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87916
87917         Do not generate unlocked-io.h automatically, since it's easier to
87918         maintain it by hand.
87919
87920         * lib/unlocked-io.h: New file, from GNU diffutils,
87921         but with proper copyright notice and attribution.
87922         * lib/gen-uio: Remove.
87923         * lib/Makefile.am: Add copyright notice.
87924         (libfetish_a_SOURCES): Add unlocked-io.h.
87925         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87926         (DISTCLEANFILES, io_functions): Remove macros.
87927         (EXTRA_DIST): Remove gen_uio.
87928         (unlocked-io.h): Remove rule.
87929
87930 2002-12-04  Jim Meyering  <jim@meyering.net>
87931
87932         Reflect the fact that stat.c and lstat.c are no longer generated.
87933         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87934         (DISTCLEANFILES): Likewise.
87935         (EXTRA_DIST): Likewise.
87936         (all_local): Don't depend on stat.c or lstat.c.
87937         (stat.c, lstat.c): Remove rules.
87938         (EXTRA_DIST): Remove xstat.in.
87939
87940         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87941         * lib/stat.c: New file.  Contents mostly from xstat.in.
87942         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87943         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87944
87945         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87946         too.
87947         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87948
87949 2002-12-03  Jim Meyering  <jim@meyering.net>
87950
87951         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87952         but not semantics, to minimize the differences between these two files.
87953         (safe_read): Change comment to mention SAFE_READ_ERROR.
87954
87955         * lib/safe-read.c (IS_EINTR): Define.
87956         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87957
87958 2002-12-02  Jim Meyering  <jim@meyering.net>
87959
87960         * lib/safe-read.c (EINTR): Define.
87961         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87962         (INT_MAX): Provide fallback.
87963         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87964
87965         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87966
87967 2002-12-02  Bruno Haible  <bruno@clisp.org>
87968
87969         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87970         Define, taken from safe-read.c.
87971         (INT_MAX): Provide fallback.
87972         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87973         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87974
87975         * lib/safe-read.c (EINTR): Remove definition.
87976         (safe_read): Don't use EINTR if it is absent.
87977
87978 2002-12-01  Jim Meyering  <jim@meyering.net>
87979
87980         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87981         zero.
87982         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87983
87984 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87985
87986         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87987         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87988         with `if (! (value < limit)) abort ();', for readability.
87989
87990 2002-11-26  Karl Berry  <karl@gnu.org>
87991
87992         * lib/strdup.c: copy from libc again, with jim's ok.
87993         * lib/.cppi-disable: re-add strdup.c
87994
87995 2002-11-25  Karl Berry  <karl@gnu.org>
87996
87997         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87998         instead of "strtol.c".
87999
88000 2002-11-25  Karl Berry  <karl@gnu.org>
88001
88002         * config/install-sh: update from automake for variable quoting, $0 in
88003         error msgs, etc.
88004
88005         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88006         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88007         entry.
88008
88009 2002-11-25  Jim Meyering  <jim@meyering.net>
88010
88011         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88012
88013 2002-11-24  Karl Berry  <karl@gnu.org>
88014
88015         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88016         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88017
88018 2002-11-24  Jim Meyering  <jim@meyering.net>
88019
88020         Update from coreutils:
88021
88022         * lib/mktime.c: Merge in changes from libc.
88023
88024         Avoid a link-time failure on some Linux systems.
88025         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88026         (otherwise).
88027         (__mon_yday): Declare with the STATIC attribute.
88028         (__mktime_internal): Likewise.
88029         Based on a report from Greg Schafer.
88030
88031 2002-11-23  Jim Meyering  <jim@meyering.net>
88032
88033         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88034         Use `unsigned', not `int', as type of index.
88035
88036         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88037
88038         * lib/fsusage.c: Remove unneeded parentheses around operands of
88039         `defined'.
88040
88041 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88042
88043         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88044         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88045         so that we can be included first.
88046         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88047         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88048         No need to include stddef.h or sys/types.h any more.
88049         Surround local include files with "", not "<>".
88050         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88051         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88052         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88053         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88054         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88055         (ISPRINT): Remove; no longer needed now that we assume C89.
88056
88057         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88058         Preserve errno.
88059
88060         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88061         quotearg_char): Use SIZE_MAX rather than
88062         (size_t) -1 when we are talking about "infinity".
88063
88064         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88065
88066 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88067
88068         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88069         hint that one should use `if (! x) abort ();' rather than `assert
88070         (x);', and anyway it's one less thing to worry about configuring.
88071         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88072         hash_rehash, hash_insert): Use abort rather than assert.
88073
88074 2002-11-22  Bruno Haible  <bruno@clisp.org>
88075
88076         * lib/safe-read.h: Assume C89. Add comments.
88077         (safe_read): Change return type to size_t.
88078         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88079         byte counts > SSIZE_MAX correctly.
88080         * lib/safe-write.h: New file.
88081         * lib/safe-write.c: New file.
88082         * lib/full-read.h: New file.
88083         * lib/full-read.c: New file.
88084         * lib/full-write.h: Assume C89. Add comments.
88085         * lib/full-write.c: Include safe-write.h.
88086         (full_write): Rewritten to use safe_write.
88087         Suggested by Jim Meyering and Paul Eggert.
88088
88089 2002-11-21  Jim Meyering  <jim@meyering.net>
88090
88091         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88092
88093         Merge in changes from the coreutils.
88094
88095         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88096         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88097         <stdint.h>.
88098         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88099         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88100         int.  Work more efficiently if X is the same width as uintmax_t.
88101         Do not compare X to -1, to avoid bogus compiler warning.
88102         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88103         Don't assume that f_frsize and f_bsize are the same type.
88104
88105         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88106         warning on FreeBSD.
88107
88108         * lib/makepath.c (make_path): Restore umask *before* creating the final
88109         component.
88110         (make_path): Minor reformatting.
88111
88112         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88113         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88114         HAVE_MALLOC/HAVE_REALLOC.
88115
88116         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88117         dummy ones.  At least on GNU/Linux systems, `auto' means something
88118         else.
88119         From Michael Stone.
88120
88121 2002-11-21  Bruno Haible  <bruno@clisp.org>
88122
88123         Remove case insensitive option matching.
88124         * lib/argmatch.h (argcasematch): Remove declaration.
88125         (ARGCASEMATCH): Remove macro.
88126         (__xargmatch_internal): Remove case_sensitive argument.
88127         (XARGMATCH): Update.
88128         (XARGCASEMATCH): Remove macro.
88129         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88130         case_sensitive argument.
88131         (argcasematch): Remove function.
88132         (__xargmatch_internal): Remove case_sensitive argument.
88133         (main): Use XARGMATCH instead of XARGCASEMATCH.
88134
88135         * lib/xmalloc.c: Change compile-time error message. Add comment about
88136         required autoconf version.
88137
88138 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88139
88140         Merge argmatch cleanups from Bison.  Assume C89.
88141
88142         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88143         Include stdlib.h, for EXIT_FAILURE.
88144         Always include <string.h>, since we assume C89.
88145         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88146         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88147         Include <stddef.h> instead, since it's all we need for size_t.
88148         (PARAMS): Remove.  All uses removed.
88149         (ARRAY_CARDINALITY): Do not bother to #undef.
88150         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88151         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88152         Remove unnecessary parentheses.
88153         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88154         Insert necessary parentheses.
88155         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88156         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88157
88158 2002-11-19  Bruno Haible  <bruno@clisp.org>
88159
88160         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88161         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88162
88163         * lib/mbswidth.h (PARAMS): Remove macro.
88164         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88165         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88166
88167         * lib/gcd.h (PARAMS): Remove macro.
88168         (gcd): Use ANSI C function declarations.
88169         * lib/gcd.c (gcd): Likewise.
88170
88171 2002-11-15  Bruno Haible  <bruno@clisp.org>
88172
88173         * lib/strcspn.c: Include <stddef.h>.
88174         (strcspn): Use ANSI C function declaration. Change return type to
88175         size_t. Use NULL.
88176         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88177         (strpbrk): Use NULL.
88178         * lib/strpbrk.h (PARAMS): Remove macro.
88179         (strpbrk): Use ANSI C function declaration.
88180         * lib/strstr.c: Don't include <sys/types.h>.
88181         * lib/strstr.h (PARAMS): Remove macro.
88182         (strstr): Use ANSI C function declarations.
88183
88184 2002-11-14  Karl Berry  <karl@gnu.org>
88185
88186         * config/mkinstalldirs: `do' on separate line, instead of
88187         `for var; do'.
88188
88189 2002-11-06  Bruno Haible  <bruno@clisp.org>
88190
88191         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
88192         * lib/gcd.c (gcd): Likewise.
88193
88194 2002-11-05  Bruno Haible  <bruno@clisp.org>
88195
88196         * lib/gcd.h: New file, from gettext-0.11.5.
88197         * lib/gcd.c: New file, from gettext-0.11.5.
88198
88199 2002-11-05  Bruno Haible  <bruno@clisp.org>
88200
88201         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88202         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88203         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88204         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88205
88206         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
88207         <libintl.h>.
88208         * lib/makepath.c: Include gettext.h instead of <locale.h> and
88209         <libintl.h>.
88210
88211         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
88212         * lib/human.c: Include gettext.h instead of <libintl.h>.
88213         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
88214         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
88215         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
88216         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
88217         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
88218         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
88219         (textdomain): Remove definition.
88220         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
88221
88222         * lib/long-options.c: Remove include of <libintl.h> and definition of
88223         _.
88224         * lib/same.c: Remove include of <libintl.h> and definition of _.
88225
88226 2002-11-04  Owen Taylor  <otaylor@redhat.com>
88227
88228         * lib/config.charset: A few additions for Solaris.
88229
88230 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88231
88232         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
88233         * lib/localcharset.c (locale_charset): Declare as extern "C".
88234
88235 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88236
88237         * lib/config.charset: msdos in uk_UA uses CP1125.
88238
88239 2002-11-04  Bruno Haible  <bruno@clisp.org>
88240
88241         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
88242         * lib/strcase.h: New file, from GNU gettext-0.11.5.
88243         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
88244         * lib/strstr.h: New file, from GNU gettext-0.11.5.
88245         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
88246
88247 2002-11-04  Bruno Haible  <bruno@clisp.org>
88248
88249         * lib/localcharset.c (locale_charset): Don't return an empty string.
88250
88251 2002-11-04  Bruno Haible  <bruno@clisp.org>
88252
88253         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
88254         aliases.
88255
88256 2002-11-04  Bruno Haible  <bruno@clisp.org>
88257
88258         * lib/config.charset: Update for newest glibc. Add canonical names
88259         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
88260
88261 2002-11-04  Bruno Haible  <bruno@clisp.org>
88262
88263         * lib/config.charset: Add support for NetBSD.
88264
88265 2002-11-04  Bruno Haible  <bruno@clisp.org>
88266
88267         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
88268
88269 2002-11-01  Bruno Haible  <bruno@clisp.org>
88270
88271         * configure.in: Add AC_CONFIG_AUX_DIR call.
88272         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
88273         test/Makefile.
88274         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
88275
88276 2002-09-28  Karl Berry  <karl@gnu.org>
88277
88278         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
88279         installed automake until the next release, since changes have been
88280         made.
88281
88282 2002-09-25  Karl Berry  <karl@gnu.org>
88283
88284         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
88285         * lib/getopt*: copy from libc/posix.
88286         * lib/gettext.h: copy from gettext.
88287         * lib/.cppi-disable: add strdup.c, gettext.h.
88288
88289 2002-09-25  Karl Berry  <karl@gnu.org>
88290
88291         * config/srclist.txt: enable gettext.h check.
88292         * config/config.{guess,sub}: update from prep.
88293         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
88294                 from automake 1.6.3.
88295         See srclist*.
88296
88297 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
88298
88299         * regex.c (PATFETCH): Remove the translating fetch.
88300         (PATFETCH_RAW): Rename to PATFETCH.
88301         (set_image_of_range): New fun.
88302         (SET_RANGE_TABLE_WORK_AREA): Use it.
88303         (regex_compile): Don't translate the pattern chars so eagerly.
88304         Only do it when inserting an `exactn' bytecode or when handling
88305         a char-range.
88306         (mutually_exclusive_p): Avoid empty statement.
88307
88308 2002-07-06  Jim Meyering  <meyering@lucent.com>
88309
88310         * m4/README: Don't mention Makefile.am.in.
88311         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88312
88313 2002-07-01  Jim Meyering  <meyering@lucent.com>
88314
88315         * lib/c-stack.c: Include sys/time.h.
88316         From Volker Borchert.
88317
88318 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88319
88320         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88321
88322 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88323
88324         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88325         New macro.  Use it uniformly instead of
88326         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88327         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88328         reported by Vin Shelton.
88329
88330 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88331
88332         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88333         Do not assume SA_SIGINFO behavior.
88334         Bug reported by Jim Meyering on NetBSD 1.5.2.
88335
88336 2002-06-22  Jim Meyering  <meyering@lucent.com>
88337
88338         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88339         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88340
88341         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88342         now that configure.ac uses AC_GNU_SOURCE.
88343         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88344         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88345
88346         Update to latest tools.  Suggestions from Paul Eggert.
88347         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88348         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88349         * m4/fnmatch.m4: Likewise.
88350         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88351         to AC_HEADER_STDBOOL
88352
88353 2002-06-22  Jim Meyering  <meyering@lucent.com>
88354
88355         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88356         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88357
88358 2002-06-22  Jim Meyering  <meyering@lucent.com>
88359
88360         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
88361
88362         * lib/exitfail.c, exitfail.h: Likewise.
88363         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
88364
88365         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
88366         of fnmatch.h.
88367         (EXTRA_DIST): Add fnmatch_loop.c.
88368         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
88369
88370         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
88371         * lib/fnmatch.c: Update from diffutils-2.8.2.
88372         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
88373         * lib/fnmatch.h: Remove file.
88374
88375 2002-06-21  Jim Meyering  <meyering@lucent.com>
88376
88377         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88378         * m4/mbrtowc.m4: Likewise.
88379
88380         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88381         * m4/mbswidth.m4: Reflect name change:
88382         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88383         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88384
88385         * m4/lib-link.m4: Update from gettext-0.11.2.
88386         * m4/gettext.m4: Likewise.
88387
88388         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88389         From Alfred M. Szmidt.
88390
88391 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88392
88393         * lib/file-type.h: Report an error if neither S_ISREG nor
88394         S_IFREG is defined, instead of using a test specific to glibc
88395         2.2.  This should be safe, since POSIX requires S_ISREG and
88396         Unix Version 7 had S_IFREG.  We don't need to check for
88397         <sys/types.h> since we don't use any symbols that it defines.
88398
88399 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88400
88401         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88402         $@-t, so that each temporary file name is unique and valid in the first
88403         8 characters, for operation under DOS.
88404
88405 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88406
88407         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88408
88409 2002-06-15  Jim Meyering  <meyering@lucent.com>
88410
88411         Work even with DJGPP 2.03, which lacks support for symlinks.
88412         From Richard Dawe.
88413         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
88414         is defined.
88415         * lib/lchown.c (S_ISLNK): Likewise.
88416
88417 2002-06-15  Jim Meyering  <meyering@lucent.com>
88418
88419         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
88420         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
88421         have been included before this file.
88422
88423 2002-06-14  Jim Meyering  <meyering@lucent.com>
88424
88425         * lib/file-type.h: Use the version from diffutils-2.8.2.
88426         * lib/file-type.c: Likewise.
88427
88428 2002-06-07  Jim Meyering  <meyering@lucent.com>
88429
88430         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
88431         They're needed at least for NetBSD 1.5.2.
88432         ($statxfs_includes): Include those same headers.
88433         ($statxfs_includes): Include sys/vfs.h if available.
88434         ($statxfs_includes): Likewise for sys/statvfs.h.
88435         Check for the following members in both structs statfs and statvfs:
88436         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
88437
88438 2002-06-01  Jim Meyering  <meyering@lucent.com>
88439
88440         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
88441         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
88442
88443 2002-05-28  Jim Meyering  <meyering@lucent.com>
88444
88445         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
88446         Reported by Volker Borchert.
88447
88448 2002-05-27  Jim Meyering  <meyering@lucent.com>
88449
88450         Fix a problem seen only on nonconforming systems whereby ls.c's
88451         use of localtime, and then of gettimeofday would cause trouble:
88452         the localtime call used to initialize rpl_gettimeofday's save
88453         mechanism would clobber ls's current local time information so
88454         that in any long listing the first file would always be listed
88455         with date 1970-01-01.  Analysis by Volker Borchert.
88456
88457         * lib/gettimeofday.c (localtime): Undefine.
88458         (rpl_localtime): New function.
88459
88460 2002-05-27  Jim Meyering  <meyering@lucent.com>
88461
88462         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
88463         localtime.
88464
88465         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
88466         use the replacement function; it wouldn't resolve at link time.
88467         Reported by Volker Borchert.
88468
88469 2002-05-22  Jim Meyering  <meyering@lucent.com>
88470
88471         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
88472         file-type.h.
88473         * lib/file-type.h: New file.
88474         * lib/file-type.c (file_type): New file/function.  Extracted from
88475         diffutils.
88476
88477 2002-04-30  Jim Meyering  <meyering@lucent.com>
88478
88479         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
88480
88481 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88482
88483         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88484
88485 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88486
88487         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88488         Do not check for alloca.h (no longer used) or stdbool.h (was never
88489         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88490
88491 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88492
88493         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88494
88495 2002-04-29  Jim Meyering  <meyering@lucent.com>
88496
88497         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88498         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88499         Use AC_FUNC_STRNLEN here instead.
88500
88501         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88502         With autoconf-2.53a, it's part of AC_PROG_CC.
88503
88504 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88505
88506         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88507         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88508
88509 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88510
88511         * lib/sig2str.h, lib/sig2str.c: New files.
88512         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88513
88514 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88515
88516         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88517         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88518         of 127, since 64 is the largest conceivable number for ancient
88519         nonstandard hosts.
88520         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88521
88522 2002-04-28  Jim Meyering  <meyering@lucent.com>
88523
88524         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88525
88526 2002-04-24  Jim Meyering  <meyering@lucent.com>
88527
88528         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88529         (jm_PREREQ): Use it.
88530
88531         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88532         mach/mach.h fcntl.h.
88533         Check for this function: setlocale.
88534
88535 2002-04-24  Jim Meyering  <meyering@lucent.com>
88536
88537         * lib/gettext.h: New file, from Gettext.
88538         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88539         (libfetish_a_SOURCES): Add gettext.h.
88540
88541 2002-04-16  Jim Meyering  <meyering@lucent.com>
88542
88543         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88544         ut_pid, ut_id, ut_exit.
88545
88546 2002-04-16  Jim Meyering  <meyering@lucent.com>
88547
88548         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88549         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88550         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88551
88552 2002-04-12  Jim Meyering  <meyering@lucent.com>
88553
88554         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88555         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88556         existence of the getmntinfo function.  Needed for Darwin 5.3.
88557
88558         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88559         This is necessary at least on Darwin 5.3.
88560
88561         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88562         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88563         strnlen.o in the library, and that makes some versions of ranlib
88564         object.
88565
88566 2002-04-12  Jim Meyering  <meyering@lucent.com>
88567
88568         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88569
88570 2002-04-09  Jim Meyering  <meyering@lucent.com>
88571
88572         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88573         to be more precise.  Rather than saying we're checking whether the
88574         function `works', say what we're testing.
88575         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88576         Reported by Bruno Haible.
88577
88578 2002-03-10  Jim Meyering  <meyering@lucent.com>
88579
88580         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88581         Suggestion from Santiago Vila.
88582
88583 2002-03-08  Jim Meyering  <meyering@lucent.com>
88584
88585         * lib/rename.c: Mention that this wrapper is needed also on
88586         mips-dec-ultrix4.4 systems.
88587
88588 2002-03-02  Jim Meyering  <meyering@lucent.com>
88589
88590         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88591         not HAVE_CLOCK_SETTIME.
88592
88593 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88594
88595         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88596         Check for clock_settime.
88597
88598 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88599
88600         * lib/nanosleep.h: Rename to....
88601         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88602
88603         * lib/gettime.c: New file.
88604         * lib/settime.c: New file.
88605         * lib/stime.c: Remove.
88606
88607         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88608         timespec.h.  Remove nanosleep.h.
88609
88610 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88611
88612         * m4/acl.m4: New file.
88613         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88614         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88615
88616 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88617
88618         * lib/acl.c, lib/acl.h: New files.
88619         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88620
88621 2002-02-24  Jim Meyering  <meyering@lucent.com>
88622
88623         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88624         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88625         cause trouble.  Reported by Nelson Beebe.
88626
88627 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88628
88629         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88630         compilers that don't know that xalloc_die never returns.
88631
88632 2002-02-20  Jim Meyering  <meyering@lucent.com>
88633
88634         * lib/getdate.c: Regenerate using bison-1.33.
88635
88636 2002-02-17  Jim Meyering  <meyering@lucent.com>
88637
88638         * config/config.guess (main): Don't use `head -1'; it's no longer
88639         portable. Use `sed 1q' instead.
88640
88641 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88642
88643         * m4/codeset.m4: Upgrade to gettext-0.11.
88644         * m4/gettext.m4: Upgrade to gettext-0.11.
88645         * m4/glibc21.m4: Upgrade to gettext-0.11.
88646         * m4/iconv.m4: Upgrade to gettext-0.11.
88647         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88648         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88649         * m4/lib-ld.m4: New file, from gettext-0.11.
88650         * m4/lib-link.m4: New file, from gettext-0.11.
88651         * m4/lib-prefix.m4: New file, from gettext-0.11.
88652         * m4/progtest.m4: Upgrade to gettext-0.11.
88653
88654 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88655
88656         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88657         (jm_PREREQ): Use it.
88658
88659 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88660
88661         * lib/posixver.c, lib/posixver.h: New files.
88662         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88663
88664 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88665             Bruno Haible  <bruno@clisp.org>
88666
88667         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88668         (fwrite_success_callback): New declaration.
88669         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88670         print_unicode_char. Call failure callback instead of error.
88671         (fwrite_success_callback): New function.
88672         (exit_failure_callback): New function.
88673         (fallback_failure_callback): New function.
88674         (print_unicode_char): Call unicode_to_mb.
88675
88676 2002-01-26  Jim Meyering  <meyering@lucent.com>
88677
88678         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88679         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88680
88681 2002-01-26  Jim Meyering  <meyering@lucent.com>
88682
88683         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88684
88685 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88686
88687         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88688
88689 2002-01-22  Jim Meyering  <meyering@lucent.com>
88690
88691         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88692         Otherwise, some versions of automake would omit the rule that makes
88693         Makefile from Makefile.in.
88694
88695 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88696
88697         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88698         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88699         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88700         (memcoll): Set errno to zero if there is no error.
88701
88702         * lib/quotearg.c (quotearg_buffer_restyled):
88703         Fix bug with quoting buffers containing NUL when backslashing escapes.
88704         This bug was exposed by the other changes in this patch.
88705         (quotearg_n_options): New arg ARGSIZE.
88706         All callers changed.
88707         (quoting_options_from_style): New function.
88708         (quotearg_n_style): Use it.
88709         (quotearg_n_style_mem): New function.
88710
88711         * lib/quotearg.h (quotearg_n_style_mem): New function.
88712
88713 2002-01-19  Jim Meyering  <meyering@lucent.com>
88714
88715         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88716         Remove useless quotes: DF_PROG="df".
88717         * m4/strnlen.m4: New file.
88718
88719 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88720
88721         * lib/backupfile.c (ISDIGIT): Comment fix.
88722         * lib/getdate.y (ISDIGIT): Likewise.
88723         * lib/posixtm.c (ISDIGIT, year): Likewise.
88724         * lib/strverscmp.c (ISDIGIT): Likewise.
88725         * lib/userspec.c (ISDIGIT): Likewise.
88726
88727 2002-01-16  Jim Meyering  <meyering@lucent.com>
88728
88729         * lib/getdate.y: Add three semicolons, each just before a closing
88730         brace. Bison (as of version 1.31) no longer papers over that mistake.
88731
88732 2002-01-05  Jim Meyering  <meyering@lucent.com>
88733
88734         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88735
88736 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88737
88738         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88739         not silently exit merely because the output buffer happens to
88740         have nothing pending.
88741
88742 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88743
88744         See the big note in ../ChangeLog.
88745         * lib/human.c (suffixes): Prefer K to k for 1024.
88746         (generate_suffix_backwards): New function.
88747         (human_readable_inexact): Use it.
88748         * lib/xstrtol.c (__xstrtol): If there is no number but there
88749         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88750         Accept 'K' as well as 'k'.
88751
88752 2001-12-15  Jim Meyering  <meyering@lucent.com>
88753
88754         * lib/regex.h (__restrict_arr): Update from libc.
88755
88756         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88757         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88758         (STREQ): Define.
88759
88760 2001-12-14  Jim Meyering  <meyering@lucent.com>
88761
88762         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88763         Suggestion from Bruno Haible.
88764
88765 2001-12-10  Jim Meyering  <meyering@lucent.com>
88766
88767         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88768         xrealloc, Instead, include "xalloc.h".
88769         (initbuffer): Don't cast xmalloc return value to char*.
88770         (readline): Reword comment.
88771         Don't cast xrealloc return value to char*
88772         Return NULL, not 0.
88773
88774 2001-12-09  Jim Meyering  <meyering@lucent.com>
88775
88776         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88777         about `signed and unsigned type in conditional expression'.
88778         * lib/posixtm.c (posix_time_parse): Likewise.
88779
88780         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88781
88782         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88783         to avoid a pedantic warning.
88784
88785         * lib/getstr.c: Don't include assert.h.
88786         (getstr): Remove warning-evoking assertions.
88787         Return -1 if offset parameter is out of bounds.
88788         Change the type of a local from int to size_t.
88789
88790         * lib/strftime.c (my_strftime_localtime_r): Include this function
88791         definition in the `#if ! HAVE_TM_GMTOFF' block.
88792
88793         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88794         Include xalloc.h instead.
88795
88796 2001-12-02  Jim Meyering  <meyering@lucent.com>
88797
88798         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88799         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88800         included.
88801
88802         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88803         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88804
88805 2001-11-30  Akim Demaille  <akim@epita.fr>
88806
88807         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88808         before being defined.
88809
88810 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88811
88812         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88813         First arg is int, not unsigned.
88814         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88815         (SIZE_MAX, UINT_MAX): New macros.
88816         (quotearg_n_options): Abort if N is negative.
88817         Avoid overflow check on hosts where size_t is 64 bits and int
88818         is 32 bits, as overflow is impossible there.
88819         Fix off-by-one typo that caused unnecessary reallocation.
88820
88821 2001-11-27  Jim Meyering  <meyering@lucent.com>
88822
88823         * lib/tempname.c: Merge with version from libc.
88824         * lib/regex.c: Likewise.
88825
88826         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88827         systems for which STDC_HEADERS is 0, it was not included, resulting in
88828         a warning about an integer-to-pointer conversion problem with getenv.
88829         Reported by Volker Borchert.
88830
88831 2001-11-26  Jim Meyering  <meyering@lucent.com>
88832
88833         * lib/gtod.h: Remove file.
88834         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88835         * lib/gettimeofday.c: Don't include gtod.h.
88836         (GTOD_init): Remove function.
88837         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88838         Suggestion from Volker Borchert.
88839
88840 2001-11-23  Jim Meyering  <meyering@lucent.com>
88841
88842         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88843         it.
88844         * lib/hash.c (struct hash_table): Define it here instead.
88845
88846 2001-11-22  Jim Meyering  <meyering@lucent.com>
88847
88848         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88849
88850 2001-11-20  Jim Meyering  <meyering@lucent.com>
88851
88852         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88853         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88854
88855 2001-11-19  Jim Meyering  <meyering@lucent.com>
88856
88857         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88858         directory.  Use "conftestXXXXXX" as the template.
88859         Suggestion from Paul Eggert.
88860
88861         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88862         immediately, so the test doesn't mistakenly hit the max-open-files
88863         limit.
88864
88865 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88866
88867         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88868         (TEMPORARIES): New macro.
88869         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88870         removes an artificial limitation (e.g. HP-UX 10.20, where
88871         TMP_MAX is 17576).
88872
88873 2001-11-18  Jim Meyering  <meyering@lucent.com>
88874
88875         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88876
88877 2001-11-18  Jim Meyering  <meyering@lucent.com>
88878
88879         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88880         on SunOS 4.
88881
88882         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88883         files will be created before anything else.
88884
88885 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88886
88887         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88888         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88889
88890 2001-11-17  Jim Meyering  <meyering@lucent.com>
88891
88892         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88893         Prompted by a report from Bob Proulx.
88894
88895         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88896         Instead, require UTILS_FUNC_MKSTEMP.
88897
88898 2001-11-17  Jim Meyering  <meyering@lucent.com>
88899
88900         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88901         Now, that's done as part of AC_FUNC_STRTOD.
88902
88903 2001-11-17  Jim Meyering  <meyering@lucent.com>
88904
88905         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88906         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88907         rather than group writable.  Patch by Juan F. Codagnone.
88908
88909         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88910         xrealloc, Instead, include "xalloc.h".
88911
88912         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88913         Remove explicit declarations of xmalloc, xrealloc,
88914         and xstrdup.  Instead, include "xalloc.h".
88915
88916         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88917         unlocked-io.h.
88918         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88919         Likewise.
88920         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88921
88922         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88923         Reported by Padraig Brady.
88924
88925         * lib/mkstemp.c: #undef mkstemp.
88926         Include config.h.
88927         (rpl_mkstemp): Rename from mkstemp.
88928         Protoize.
88929
88930 2001-11-16  Jim Meyering  <meyering@lucent.com>
88931
88932         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88933         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88934         determine the amount of total physical memory, use pstat_getstatic.
88935         HPUX-11 doesn't define _SC_PHYS_PAGES.
88936         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88937         If sysconf couldn't be used to determine the amount of available
88938         physical memory, use both pstat_getstatic and pstat_getdynamic.
88939         Based on a patch from Bob Proulx.
88940
88941 2001-11-10  Jim Meyering  <meyering@lucent.com>
88942
88943         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88944         (jm_PREREQ): Use it.
88945
88946 2001-11-09  Jim Meyering  <meyering@lucent.com>
88947
88948         * m4/jm-macros.m4: Require autoconf-2.52f.
88949         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88950         Use these AC_-prefixed names, not the AM_-prefixed ones.
88951
88952         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88953
88954 2001-11-05  Jim Meyering  <meyering@lucent.com>
88955
88956         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88957
88958 2001-11-04  Jim Meyering  <meyering@lucent.com>
88959
88960         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88961         $DEFS.
88962
88963 2001-11-03  Jim Meyering  <meyering@lucent.com>
88964
88965         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88966         of AC_DEFUN.
88967
88968         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88969         know the name of the variable in the macro definition.
88970
88971 2001-11-03  Jim Meyering  <meyering@lucent.com>
88972
88973         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88974         in argmatch_to_argument call.
88975
88976         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88977         argument.
88978
88979         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88980         e.g., a fault due to an attempt to free a NULL pointer.
88981
88982 2001-11-01  Jim Meyering  <meyering@lucent.com>
88983
88984         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88985         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88986
88987 2001-11-01  Jim Meyering  <meyering@lucent.com>
88988
88989         * lib/dirfd.c, lib/dirfd.h: New files.
88990         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88991
88992         * lib/hash.c (hash_print) [TESTING]: Clean up.
88993
88994 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88995
88996         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88997         to avoid a warning if -Wall.
88998
88999 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89000
89001         * README: New file
89002         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89003         (per RMS's instructions, this is now the canonical source)
89004         * lgpl/, gpl/: New directories.
89005
89006 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89007
89008         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89009
89010 2001-10-21  Jim Meyering  <meyering@lucent.com>
89011
89012         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89013         this code would end up calling gettext even in packages built
89014         with --disable-nls.
89015         * lib/getopt.c (_): Likewise.
89016         * lib/regex.c (_): Likewise.
89017
89018 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89019
89020         * m4/error.m4 (jm_PREREQ_ERROR):
89021         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89022         AC_FUNC_STRERROR_R does that.
89023         Check for strerror declaration.
89024
89025         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89026         are supposed to have them these days.
89027         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89028         Merge changes from latest Autoconf CVS.
89029         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89030         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89031         POSIX decided to standardize on the int flavor of strerror_r.
89032
89033 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89034
89035         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89036         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89037         Use strerror_r that is only a macro, even if it is not a function.
89038         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89039         (private_strerror): Use prototypes, not old-style function definition.
89040         (print_errno_message): New function.
89041         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89042         char*-flavored one.
89043         (error_tail, error, error_at_line): Use it.
89044
89045 2001-10-11  Jim Meyering  <meyering@lucent.com>
89046
89047         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89048         and quote_n (1, ... to avoid clobbering a buffer.
89049
89050 2001-10-05  Jim Meyering  <meyering@lucent.com>
89051
89052         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89053         hash-pjw.h.
89054         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89055         * lib/hash-pjw.h: New file.
89056
89057 2001-09-30  Jim Meyering  <meyering@lucent.com>
89058
89059         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89060         `struct fsstat' has the `f_fstypename' member.
89061         Use that to define FS_TYPE, which is now used to make
89062         the getfsstat link test tighter.
89063
89064 2001-09-30  Jim Meyering  <meyering@lucent.com>
89065
89066         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89067         Include <sys/ucred.h>, for Apple Darwin.
89068         Include sys/mount.h and sys/fs_types.h only if available.
89069         (FS_TYPE): Define.
89070         (read_filesystem_list): Use FS_TYPE.
89071
89072 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89073
89074         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89075         a boolean context.
89076
89077 2001-09-29  Jim Meyering  <meyering@lucent.com>
89078
89079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89080         [one-argument getmntent function]): Include stdio.h before mntent.h.
89081         SunOS 4.1.x needs it for the declaration of `FILE'.
89082         Patch by Volker Borchert.
89083
89084         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89085         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89086         sys/fs_types.h, and make the link-test for getfsstat guard #include
89087         directives with appropriate #if HAVE_*_H tests so that we can
89088         detect getfsstat on Apple Darwin1.3.7 systems.
89089         Reported by Nelson Beebe.
89090         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89091
89092 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89093
89094         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89095         #defines strtoimax.  Also treat the other strto* functions
89096         like strtoimax.
89097
89098         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89099         Check for strtoul and strtoumax,
89100         as those declarations are made even in the signed case.
89101         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89102         Likewise, for strtol and strtoimax.
89103
89104 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89105
89106         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89107         #defines strtoimax.  Also treat the other strto* functions
89108         like strtoimax.
89109
89110         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89111         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89112         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89113
89114 2001-09-26  Jim Meyering  <meyering@lucent.com>
89115
89116         Most macros in unlocked-io.h had the wrong number of arguments.
89117         * lib/gen-uio: New script.
89118         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89119         * lib/unlocked-io.hin: Remove file.
89120         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89121         rather than trying to embed it here.
89122         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89123         Reported by Padraig Brady.
89124
89125 2001-09-25  Volker Borchert  <bt@teknon.de>
89126
89127         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89128         `result'.
89129
89130 2001-09-24  Jim Meyering  <meyering@lucent.com>
89131
89132         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89133
89134 2001-09-23  Jim Meyering  <meyering@lucent.com>
89135
89136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89137         instead of the mere test for existence of mntent.h.  The latter
89138         would get a false-positive on AIX 3.4 systems.
89139         In the outer getmntent if-block, don't die if neither of the getmntent
89140         tests succeeds.  Instead, just fall through and continue with the
89141         remaining tests.
89142
89143 2001-09-23  Jim Meyering  <meyering@lucent.com>
89144
89145         * lib/mountlist.c: Remove useless parentheses in #if directives.
89146         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89147         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89148
89149 2001-09-22  Jim Meyering  <meyering@lucent.com>
89150
89151         * m4/gettext.m4: New file.  From gettext.
89152         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89153         * m4/progtest.m4: Likewise
89154         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89155         * m4/glibc21.m4: Likewise.
89156
89157         * m4/libintl.m4: Remove.  No longer used.
89158
89159 2001-09-22  Jim Meyering  <meyering@lucent.com>
89160
89161         * lib/localcharset.c: Update from latest gettext.
89162         * lib/config.charset: Likewise.
89163
89164 2001-09-20  Jim Meyering  <meyering@lucent.com>
89165
89166         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89167         strtoimax.
89168         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89169         strtoumax.
89170
89171 2001-09-20  Jim Meyering  <meyering@lucent.com>
89172
89173         * lib/xstrtol.c (strtoimax): Guard declaration with
89174         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89175         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89176         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89177         (strtoumax): Likewise, for completeness (it wasn't necessary).
89178
89179 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89180
89181         * lib/strtoimax.c (HAVE_LONG_LONG):
89182         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89183         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89184         to work around bug in IBM C compiler.
89185
89186 2001-09-17  Jim Meyering  <meyering@lucent.com>
89187
89188         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
89189         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
89190         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
89191         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
89192         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
89193         whenever the right hand side need not be expanded by the shell.
89194
89195 2001-09-16  Paul Eggert  <eggert@twinsun.com>
89196
89197         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
89198         library.  It's not correct, as some older glibcs are buggy.
89199         fnmatch wasn't fixed until glibc 2.2.
89200
89201         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
89202         special shell magic here.
89203
89204 2001-09-16  Jim Meyering  <meyering@lucent.com>
89205
89206         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
89207         * m4/jm-macros.m4: Require it.
89208
89209 2001-09-16  Jim Meyering  <meyering@lucent.com>
89210
89211         * lib/mkdir.c: New file.
89212
89213 2001-09-15  Jim Meyering  <meyering@lucent.com>
89214
89215         * m4/jm-macros.m4: Check for help2man.
89216
89217 2001-09-11  Jim Meyering  <meyering@lucent.com>
89218
89219         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
89220         The body, by Paul Eggert, was moved here from configure.in.
89221         * m4/jm-macros.m4: Require UTILS_HOST_OS.
89222
89223 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89224
89225         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
89226         (jm_PREREQ): Use it.
89227
89228 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89229
89230         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
89231         Use ssize_t, not int, to store result of readlink.
89232         Check for ssize_t overflow as well as size_t overflow,
89233         as POSIX says the result of readlink is implementation-defined
89234         when ssize_t overflows.
89235         Remove unnecessary cast to char*.
89236         Use free+malloc instead of realloc, as the storage doesn't need
89237         to be preserved and it's clearer and can be more efficient that way.
89238         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
89239         * lib/xreadlink.h (xreadlink): Update prototype.
89240
89241 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89242
89243         * lib/xgetcwd.c: Revert some of the previous change; intead,
89244         fix the HAVE_GETCWD_NULL code to behave more like the
89245         !HAVE_GETCWD_NULL code used to.
89246
89247         Include "xalloc.h".
89248         (xgetcwd): Do not return NULL when memory is exhausted; instead,
89249         invoke xalloc_die.
89250
89251 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89252
89253         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
89254         sys/param.h, as pathmax.h includes them.
89255
89256 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89257
89258         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
89259         (jm_PREREQ_XGETCWD): New macro.
89260
89261         * m4/getcwd.m4: New file.
89262
89263 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89264
89265         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
89266         like the HAVE_GETCWD_NULL code.
89267         Include pathmax.h if not HAVE_GETCWD.
89268         Do not include xalloc.h.
89269         (INITIAL_BUFFER_SIZE): New symbol.
89270         Do not use xmalloc / xrealloc, since the caller is responsible for
89271         handling errors.  Preserve errno around `free' during failure.
89272         Do not overrun buffer when using getwd.
89273
89274 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89275
89276         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
89277         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
89278         getcwd (NULL, 0).
89279
89280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89281
89282         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
89283         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
89284         spotted by Jim Meyering.
89285
89286 2001-09-03  Jim Meyering  <meyering@lucent.com>
89287
89288         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
89289         failure.
89290
89291 2001-09-02  Jim Meyering  <meyering@lucent.com>
89292
89293         * lib/error.c: Update from GNU libc.
89294
89295 2001-09-01  Jim Meyering  <meyering@lucent.com>
89296
89297         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
89298         Used by df.
89299
89300 2001-09-01  Jim Meyering  <meyering@lucent.com>
89301
89302         * lib/xreadlink.c: New file.
89303         * lib/xreadlink.h: New file.
89304         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
89305         xreadlink.h.
89306
89307         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89308         doesn't conflict with sparc Solaris 7's definition in
89309         /usr/include/sys/int_types.h.
89310
89311         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89312         files.
89313         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89314         and strncasecmp as r-values.  Unixware didn't have declarations.
89315
89316 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89317
89318         * lib/xstrtol.h: Add copyright notice.
89319         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89320         LONGINT_INVALID_SUFFIX_CHAR.
89321
89322 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89323
89324         * lib/xstrtol.c (strtoimax): New decl.
89325
89326 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89327
89328         * lib/xgetcwd.c: Don't include pathmax.h.
89329         Include stdlib.h and unistd.h if available.
89330         Include xalloc.h.
89331         (xmalloc, xstrdup, free): Remove decls.
89332         (xgetcwd): Don't assume sizes fit in unsigned.
89333         Check for overflow when computing sizes.
89334         Simplify reallocation code.
89335
89336 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89337
89338         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89339         a directory's st_size can have an arbitrary value, so the old
89340         usage could waste an arbitrary amount of memory.  All uses
89341         changed.
89342         * lib/savedir.h: Update prototype.
89343
89344 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89345
89346         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89347
89348         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89349         old strtoimax.c.
89350
89351         Also, make the following further changes to make this file's
89352         configuration more similar to that of strtol.c:
89353         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89354         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89355         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89356         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89357         changed to signed values.
89358
89359         And make the following changes as well:
89360         Fix copyright notice, as 1999 was missing.
89361         (verify): New macro.
89362         (strtoimax): Check sizes at compile-time, not run-time.
89363         Prefer strtol to strtoll if both work.
89364         (main): Remove; it was not that useful and was a pain to maintain.
89365
89366         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
89367
89368 2001-08-31  Jim Meyering  <meyering@lucent.com>
89369
89370         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
89371         Use an initial, malloc'd, buffer of length 128 rather than
89372         a statically allocated one of length 1024.
89373
89374 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89375
89376         Simplify code, partly by assuming autoconf 2.52 semantics.
89377
89378         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89379
89380         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89381         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89382         All uses removed.
89383         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89384         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89385         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89386         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89387         jm_AC_HEADER_INTTYPES_H.
89388         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89389
89390         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89391
89392         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89393         Quote first arg of AC_DEFUN.
89394         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89395         since they are needed to parse the include file even if we need
89396         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89397         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89398         but with opposite signedness.
89399
89400 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89401
89402         Merge 'exclude' changes from tar 1.13.22.
89403         This fixes one or two unlikely storage allocation overflow bugs,
89404         but doesn't change user-visible behavior otherwise.
89405
89406 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89407
89408         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89409         (jm_PREREQ_EXCLUDE): New macro.
89410
89411 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89412
89413         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
89414         tm to be declared.
89415
89416 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89417
89418         * lib/hash.c: Remove '2001' from copyright notice.
89419
89420 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89421
89422         * lib/full-write.h: New file.
89423         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
89424         * lib/full-write.c: Correct credits, as cccp.c no longer
89425         exists and anyway it was so heavily changed from the old cccp
89426         code as to be unrecognizable.  Include full-write.h.
89427         (full_write): Return size_t, with short writes meaning failure.
89428         All callers changed.  This fixes a bug with large buffers
89429         on 64-bit hosts.
89430         * lib/utime.c: Include full-write.h.
89431
89432 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89433
89434         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
89435         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
89436         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
89437         Include if available.
89438         (<xalloc.h>): Include
89439         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
89440         (verify): New macro.  Use it to verify that EXCLUDE macros do not
89441         collide with FNM macros.
89442         (struct patopts): New struct.
89443         (struct exclude): Use it, as exclude patterns now come with options.
89444         (new_exclude): Support above changes.
89445         (new_exclude, add_exclude_file):
89446         Initial size must now be a power of two to simplify overflow checking.
89447         (free_exclude, fnmatch_no_wildcards): New function.
89448         (excluded_filename): No longer requires options arg, as the options
89449         are determined by add_exclude.  Now returns bool, not int.
89450         (excluded_filename, add_exclude):
89451         Add support for the fancy new exclusion options.
89452         (add_exclude, add_exclude_file): Now takes int options arg.
89453         Check for arithmetic overflow when computing sizes.
89454         (add_exclude_file): xrealloc might modify errno, so don't
89455         realloc until after errno might be used.
89456
89457         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
89458         New macros.
89459         (free_exclude): New decl.
89460         (add_exclude, add_exclude_file): Now takes int options arg.
89461         (excluded_filename): No longer requires options arg, as the options
89462         are determined by add_exclude.  Now returns bool, not int.
89463
89464 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89465
89466         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
89467
89468 2001-08-27  Jim Meyering  <meyering@lucent.com>
89469
89470         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
89471
89472         * lib/version-etc.c (N_): Remove definition.
89473         Revert most of last change.
89474         Instead, simply don't mark the `Copyright...' string for translation.
89475         Based on advice from Paul Eggert.
89476
89477         * lib/strtoxmax.c: Tweak comment.
89478
89479 2001-08-26  Jim Meyering  <meyering@lucent.com>
89480
89481         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89482
89483         * m4/xstrtoimax.m4: New file.
89484         * m4/xstrtoumax.m4: Add comments explaining why we
89485         AC_REPLACE_FUNCS(strtol).
89486
89487 2001-08-26  Jim Meyering  <meyering@lucent.com>
89488
89489         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89490         of copyright with `%s' so translators don't get an untranslated
89491         message in 2002.
89492         (COPYRIGHT_YEAR): Define.
89493         (version_etc): Use fprintf rather than fputs.
89494         Suggestion from Ulrich Drepper.
89495
89496         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89497
89498         * lib/strtoll.c: New file, from GNU libc.
89499         * lib/xstrtoimax.c: New file.
89500
89501         * lib/xstrtol.h: Add xstrtoimax.
89502         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89503         * lib/strtoimax.c: New file.  Likewise, but first define
89504         STRTOUXMAX_SIGNED.
89505
89506         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89507         ...
89508         * lib/strtoxmax.c: ... then renamed to this.
89509
89510 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89511
89512         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89513         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89514         (jm_AC_TYPE_INTMAX_T): New macro.
89515         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89516
89517         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89518
89519         * m4/longlong.m4: Renamed from ulonglong.m4.
89520         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89521         * m4/uintmax_t.m4: Removed.
89522
89523 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89524
89525         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89526         Port to Solaris 8, where 'sed' requires a space after the 'r'
89527         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89528         Redirect output to $tmp just once.
89529
89530 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89531
89532         * lib/addext.c (<errno.h>): Include.
89533         (errno): Declare if not defined.
89534         (addext): Work correctly when pathconf returns -1 and leaves
89535         errno alone because there is no limit.  Also, work even if
89536         pathconf returns a value greater than SIZE_MAX.
89537
89538 2001-08-12  Jim Meyering  <meyering@lucent.com>
89539
89540         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89541         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89542         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89543         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89544         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89545         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89546         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89547         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89548         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89549         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89550         utime.m4, utimes.m4, xstrtoumax.m4:
89551         Quote the first argument in each use of AC_DEFUN.
89552
89553 2001-08-12  Jim Meyering  <meyering@lucent.com>
89554
89555         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89556         Simply `return getcwd (NULL, 0);'.
89557         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89558         Use 1300 as initial value for length, not PATH_MAX.
89559
89560         * lib/pathmax.h: Clean up cpp syntax.
89561
89562 2001-08-12  Jim Meyering  <meyering@lucent.com>
89563
89564         * lib/gettimeofday.c: New file.
89565         * lib/gtod.h: New file.
89566         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89567
89568 2001-08-05  Jim Meyering  <meyering@lucent.com>
89569
89570         * m4/jm-macros.m4: Require autoconf-2.52.
89571
89572 2001-08-04  Jim Meyering  <meyering@lucent.com>
89573
89574         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89575         stmt, to get in sync with glibc.
89576
89577 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89578
89579         The following changes are from gettext 0.10.39 as maintained by
89580         Bruno Haible.
89581
89582         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89583         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89584         with inverted sense.  All uses changed.
89585
89586         * lib/mbswidth.c: Don't include <limits.h>.
89587         Include <stdlib.h> and <string.h> unconditionally.
89588         (iswcntrl, mbsinit, ISCNTRL): New macros.
89589         (mbsnwidth): Use K&R style function declarations.
89590         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89591         can optimize it when MB_CUR_MAX == 1.
89592         The width of control characters is zero, not 1.
89593
89594 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89595
89596         The following changes are from gettext 0.10.39 as maintained by
89597         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89598
89599         * m4/codeset.m4: Upgrade to serial AM1.
89600         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89601         all uses changed.  Quote first arg of AC_DEFUN.
89602         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89603
89604         * m4/iconv.m4: Upgrade to serial AM2.
89605         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89606         Add --with-libconv-prefix.
89607         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89608         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89609         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89610         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89611         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89612
89613         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89614         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89615         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89616         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89617         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89618         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89619         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89620         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89621         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89622
89623         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89624         string.h any more.
89625
89626         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89627         not the default value.
89628
89629         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89630         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89631         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89632         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89633         Also check for iswcntrl, used for wcwidth fallback.
89634         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89635         to Autoconf 2.13.
89636
89637 2001-08-03  Jim Meyering  <meyering@lucent.com>
89638
89639         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89640         as it was in the original.  Reported by Paul Eggert.
89641
89642 2001-07-16  Jim Meyering  <meyering@lucent.com>
89643
89644         * m4/gettimeofday.m4: New file.
89645         Prompted by a report from Bernhard Baehr.
89646
89647 2001-07-15  Jim Meyering  <meyering@lucent.com>
89648
89649         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89650         stuff. Now it's in ../Makefile.cfg.
89651
89652 2001-07-15  Jim Meyering  <meyering@lucent.com>
89653
89654         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89655         (BUILT_SOURCES): Add unlocked-io.h.
89656         (io_functions): Define.
89657         (unlocked-io.h): New rule.
89658         (DISTCLEANFILES): Add unlocked-io.h.
89659         (all-local): Depend on unlocked-io.h, to ensure it is created.
89660
89661         * lib/unlocked-io.hin: New file
89662
89663         * lib/regex.c: Update from glibc.
89664
89665 2001-07-05  Jim Meyering  <meyering@lucent.com>
89666
89667         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89668         recommendation.
89669         (libfetish_a_SOURCES): Put all .h files here instead.
89670         Remove a thus-exposed (better checks in automake) duplicate and
89671         two unnecessary .h files.
89672
89673 2001-07-04  Jim Meyering  <meyering@lucent.com>
89674
89675         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89676         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89677         distcheck failure.
89678
89679 2001-07-02  Jim Meyering  <meyering@lucent.com>
89680
89681         The following changes were prompted by suggestions from Bruno Haible.
89682
89683         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89684         is now generated.
89685         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89686         definition of EXTRA_DIST.
89687         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89688         ensure that the generated file is created/updated whenever the list
89689         of $(unlocked_functions) is changed.
89690         (jm-glibc-io.m4): New rule.
89691         (unlocked-io.h): New rule -- currently unused.
89692
89693 2001-06-24  Jim Meyering  <meyering@lucent.com>
89694
89695         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89696         unmatched right bracket, rather than kludging it with an extra,
89697         falsely-matching quote in a comment.  Patch by Akim Demaille.
89698
89699 2001-06-11  Jim Meyering  <meyering@lucent.com>
89700
89701         * lib/regex.c: Update from GNU libc.
89702
89703 2001-05-27  Jim Meyering  <meyering@lucent.com>
89704
89705         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89706         Check for ut_type in struct utmp.
89707
89708 2001-05-27  Jim Meyering  <meyering@lucent.com>
89709
89710         * lib/readutmp.h (UT_TYPE): Define.
89711
89712 2001-05-24  Jim Meyering  <meyering@lucent.com>
89713
89714         * lib/argmatch.c: Include "quote.h".
89715         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89716         quote function.  Reported by Göran Uddeborg.
89717
89718 2001-05-22  Jim Meyering  <meyering@lucent.com>
89719
89720         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89721         now that we use the package-supplied version unconditionally.
89722         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89723
89724 2001-05-21  Jim Meyering  <meyering@lucent.com>
89725
89726         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89727         shell syntax errors.
89728
89729 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89730
89731         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89732
89733 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89734
89735         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89736         Don't bother to check library strftime, since
89737         we'll be using our own my_strftime function anyway.
89738         Define my_strftime instead of strftime.
89739
89740 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89741
89742         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89743         which is not yet declared.
89744
89745 2001-05-15  Jim Meyering  <meyering@lucent.com>
89746
89747         * m4/regex.m4: Use proper quoting so brackets appear in the test
89748         program.
89749         Reported by, and with help from, Bruno Haible.
89750
89751 2001-05-13  Jim Meyering  <meyering@lucent.com>
89752
89753         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89754         undefined.
89755
89756 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89757
89758         dirname code cleanup.  base_name now behaves more compatibly
89759         with POSIX basename when given file names that have trailing
89760         slashes, and similarly for dir_name.  Add new primitives
89761         base_len and dir_len.  Put the directory-name-related decls
89762         into dirname.h.
89763
89764         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89765         * lib/backupfile.c (base_name): Likewise.
89766         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89767         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89768         * lib/makepath.c (strip_trailing_slashes): Likewise.
89769         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89770         ISSLASH): Likewise.
89771         * lib/rename.c (strip_trailing_slashes): Likewise.
89772         * lib/same.c (base_name): Likewise.
89773         * lib/stripslash.c (ISSLASH): Likewise.
89774
89775         * lib/addext.c: Include <dirname.h> after size_t is defined.
89776         * lib/backupfile.c: Likewise.
89777
89778         * lib/addext.c (addext): Use base_len to trim redundant
89779         trailing slashes instead of doing it ourselves.
89780         But do not trim the last slash if it is not redundant.
89781
89782         * lib/backupfile.c (find_backup_file_name,
89783         max_backup_version): Use base_len instead of rolling it ourselves.
89784         Handle the case of "" and (on DOS) "C:" correctly.
89785
89786         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89787         needed. Include <string.h>, <dirname.h>.
89788         (base_name): Allow file names ending in slashes, other than names
89789         that are all slashes.  In this case, return the basename followed
89790         by the slashes.  This is more general, and can be used in places
89791         where the original base_name purposely had an assertion failure.
89792         (base_len): New function.
89793
89794         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89795         Do not include <assert.h>; no longer needed.
89796         Include xalloc.h.
89797         (memrchr): Remove decl.
89798         (dir_name_r): Remove.
89799         (dir_len): Renamed from dirlen.  All callers changed.
89800         Rewrite in terms of base_name, for simplicity and consistency.
89801         (dir_name): Never return NULL.  All callers changed.
89802         Do not include <stdlib.h> in test program; no longer needed.
89803         return 0; is fine for test program.
89804
89805         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89806         New macros.
89807         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89808
89809         * lib/path-concat.c (path_concat): Use base_len to compute
89810         base length, not strlen; this means we cannot rely on memcpy
89811         to null-terminate.
89812
89813         * lib/same.c (STREQ): Remove.
89814         (same_name): Handle the case where the basename ends in trailing '/'.
89815
89816         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89817         a slash was stripped.  Do not strip the last slash after a
89818         file system prefix.
89819
89820 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89821
89822         * lib/Makefile.am (libfetish_a_SOURCES):
89823         Add strftime.c, since we now compile it on all hosts.
89824
89825         * lib/strftime.c (my_strftime):
89826         Define to nstrftime if emacs, but only if my_strftime is not defined.
89827         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89828         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89829         Add one more extra argument: a nanoseconds value.
89830         All uses changed.
89831         (ns): New macro.
89832         (my_strftime function): Add %N format.
89833         (emacs_strftimeu): Renamed from emacs_strftime,
89834         with extra ut argument.
89835
89836 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89837
89838         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89839
89840 2001-04-21  Jim Meyering  <meyering@lucent.com>
89841
89842         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89843         doesn't interfere.
89844
89845 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89846
89847         * m4/ftruncate.m4: Check for chsize.
89848         Link with ftruncate.o unconditionally if ftruncate is missing.
89849         This was required when cross-compiling to i586-mingw32msvc.
89850
89851 2001-04-08  Jim Meyering  <meyering@lucent.com>
89852
89853         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89854         recomputed; that's necessary when the offset spans a DST transition.
89855         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89856
89857 2001-04-02  Jim Meyering  <meyering@lucent.com>
89858
89859         * lib/regex.h, regex.c: Update from GNU libc.
89860
89861 2001-03-24  Jim Meyering  <meyering@lucent.com>
89862
89863         * m4/jm-macros.m4: Require autoconf-2.49d.
89864
89865 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89866
89867         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89868
89869 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89870
89871         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89872
89873 2001-03-17  Jim Meyering  <meyering@lucent.com>
89874
89875         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89876         now that the version in autoconf is equivalent.
89877         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89878
89879         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89880         Suggestion from Akim Demaille.
89881
89882         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89883         (jm_PREREQ_TEMPNAME): New function.
89884
89885 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89886
89887         * lib/tempname.c (uint64_t): Define to uintmax_t if
89888         not defined, and if UINT64_MAX is not defined.
89889         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89890         Reported by John David Anglin.
89891
89892 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89893
89894         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89895         resolve alias if codeset is empty.
89896         * lib/config.charset (BeOS): Use wildcard syntax.
89897
89898 2001-03-13  Jim Meyering  <meyering@lucent.com>
89899
89900         * lib/path-concat.c (path_concat)
89901         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89902         concatenating e.g., `C:' and `foo'.
89903         From Bruno Haible.
89904
89905 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89906
89907         * lib/localcharset.c (locale_charset): Don't use
89908         setlocale(LC_CTYPE,NULL). Don't return NULL.
89909         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89910
89911 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89912
89913         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89914         support for DOS/DJGPP.
89915
89916 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89917
89918         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89919         lacks mkstemp.  Compile our own tempname.c if we compile our own
89920         mkstemp.c, as mkstemp relies on tempname.
89921
89922 2001-03-01  Jim Meyering  <meyering@lucent.com>
89923
89924         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89925         AH_VERBATIM really does output its argument verbatim.
89926
89927 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89928
89929         * lib/Makefile.am (libfetish_a_SOURCES):
89930         Add dup-safer.c, fopen-safer.c.
89931         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89932
89933         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89934         * lib/unistd-safer.h: New files.
89935
89936 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89937
89938         The mkstemp replacement is taken from glibc 2.2.2, with some
89939         portability fixes for use outside glibc, as follows:
89940
89941         * lib/tempname.c (struct_stat64): New macro.
89942         (direxists, __gen_tempname): Use it.
89943         This avoids a portability problem with Solaris 8.
89944
89945         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89946         (<stddef.h>, <stdint.h>, <string.h>):
89947         Include only if STDC_HEADERS || _LIBC.
89948         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89949         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89950         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89951         (__set_errno): Define this macro if <errno.h> doesn't.
89952         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89953         Define these macros if <stdio.h> doesn't.
89954         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89955         Define these macros if <sys/stat.h>
89956         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89957         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89958         __xstat64): Define if not _LIBC.
89959         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89960         (__gen_tempname): Invoke gettimeofday only if
89961         HAVE_GETTIMEOFDAY || _LIBC;
89962         otherwise, fall back on plain "time".
89963         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89964
89965         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89966
89967         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89968
89969 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89970
89971         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89972
89973 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89974
89975         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89976         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89977         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89978         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89979
89980 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89981
89982         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89983         Remove workaround macros for hosts that have mbrtowc but not
89984         mbstate_t, as we now insist on proper declarations for both
89985         before using mbrtowc.
89986
89987 2001-02-17  Jim Meyering  <meyering@lucent.com>
89988
89989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89990         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89991         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89992         UnixWare 7.1.1.
89993
89994         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89995         rather than AC_CACHE_VAL.
89996
89997 2001-02-17  Jim Meyering  <meyering@lucent.com>
89998
89999         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90000         around included file name.
90001
90002         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90003
90004         * lib/strftime.c: Update from GNU libc (the only changes were to
90005         comments).
90006
90007 2001-02-17  Jim Meyering  <meyering@lucent.com>
90008
90009         * lib/regex.c: Update from libc.
90010
90011 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90012
90013         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90014         clash.
90015
90016 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90017
90018         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90019         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90020         Reported by Mark Hounschell via Paul Eggert.
90021
90022 2001-02-07  Jim Meyering  <meyering@lucent.com>
90023
90024         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90025
90026 2001-02-05  Jim Meyering  <meyering@lucent.com>
90027
90028         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90029         it includes the patch required for `large file' support with at least
90030         HP-UX's 10.20 /bin/cc.
90031
90032 2001-02-03  Jim Meyering  <meyering@lucent.com>
90033
90034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90035         AS_IF, now that it works once again (mysteriously).
90036         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90037
90038 2001-01-30  Jim Meyering  <meyering@lucent.com>
90039
90040         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90041         * m4/chown.m4: Rename conftestchown to conftest.chown.
90042         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90043         s/conftestdir2/conftest.d2/.
90044         * m4/utimes.m4: s/conftestdata/conftest.data/
90045         Inspired by Pavel Roskin's change in autoconf.
90046
90047 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90048
90049         * lib/config.charset: Update for FreeBSD 4.2.
90050
90051 2001-01-27  Jim Meyering  <meyering@lucent.com>
90052
90053         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90054         a use of AS_IF.
90055         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90056
90057 2001-01-26  Jim Meyering  <meyering@lucent.com>
90058
90059         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90060         quotearg.c includes it.
90061
90062 2001-01-26  Jim Meyering  <meyering@lucent.com>
90063
90064         * lib/quotearg.c: Include stddef.h.
90065         * lib/quote.c: Include stddef.h.
90066         Reported by Axel Kittenberger.
90067
90068         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90069         line in double quotes so that it evokes a better diagnostic.
90070         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90071         Reported by Axel Kittenberger.
90072
90073 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90074
90075         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90076         as if it was a `charset'.
90077
90078 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90079
90080         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90081         has const.
90082
90083 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90084
90085         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90086         to avoid a warning.  Add back 'const' to inptr.
90087
90088 2001-01-20  Jim Meyering  <meyering@lucent.com>
90089
90090         Be sure that headers are checked before used in code compiled
90091         for the type checks.
90092         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90093         In place of that, invoke jm_CHECK_ALL_TYPES.
90094         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90095         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90096         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90097         The check for ssize_t was mistakenly run before the test for unistd.h.
90098
90099         The configure-time check for stdbool.h was missing.
90100         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90101         (jm_PREREQ_HASH): New function.
90102
90103 2001-01-17  Jim Meyering  <meyering@lucent.com>
90104
90105         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90106         for autoconf-2.49c.
90107         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90108
90109 2001-01-16  Jim Meyering  <meyering@lucent.com>
90110
90111         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90112         From Bruno Haible.
90113
90114 2001-01-14  Jim Meyering  <meyering@lucent.com>
90115
90116         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90117         foo and bar.  Create conftestdir/ in the script, not in the C code.
90118         Remove directories in the script, not in the C code.
90119         Remove conftestdir{,2} before trying to create the directory.
90120         Make the entire configure script fail if the mkdir fails.
90121
90122 2001-01-14  Jim Meyering  <meyering@lucent.com>
90123
90124         * lib/rename.c: New file.  From Volker Borchert.
90125         Include stdlib.h, string.h or strings.h, and xalloc.h.
90126         Use strip_trailing_slashes rather than open-coding it.
90127
90128 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90129
90130         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90131
90132 2001-01-03  Jim Meyering  <meyering@lucent.com>
90133
90134         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90135         of local `inptr' to avoid warning with some system declarations of
90136         iconv.
90137
90138 2001-01-02  Volker Borchert  <bt@teknon.de>
90139
90140         * m4/rename.m4: New file.
90141         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90142
90143 2001-01-01  Jim Meyering  <meyering@lucent.com>
90144
90145         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90146         even on systems with utmpx.h.  It's necessary for the declaration of
90147         utmp's ut_user member.  Reported by Andreas Jaeger.
90148
90149         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90150         available. They are required for the declarations of getgrgid and
90151         getpwuid resp.
90152         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90153         Reported by Andreas Jaeger.
90154
90155 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90156
90157         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90158         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90159         so `make install' also works in VPATH builds.
90160
90161 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90162
90163         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90164         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90165         can be used in subdirectories.
90166
90167 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90168
90169         * lib/modechange.c: Do not assume that mode_t uses the
90170         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90171         the other-execute bit of FOO even if S_IXOTH != 1.
90172
90173         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90174         WOTH, XOTH, ALLM): New macros.
90175         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90176          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90177         Use them.
90178         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90179         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90180         (mode_compile):
90181         No need to use uintmax_t; unsigned long is long enough.
90182         Don't bother to get suffix since we don't use it.
90183
90184 2000-12-26  Jim Meyering  <meyering@lucent.com>
90185
90186         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90187         better with autoheader.
90188
90189 2000-12-24  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/hash.c (is_prime): Return explicit boolean values.
90192         (hash_get_first): Return NULL to appease Irix5.6's 89.
90193         Reported by Nelson Beebe.
90194
90195 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
90196
90197         * lib/localcharset.c (locale_charset): Add support for Win32.
90198
90199 2000-12-18  Paul Eggert  <eggert@twinsun.com>
90200
90201         * lib/physmem.h, lib/physmem.c: New files.
90202
90203         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
90204         (noinst_HEADERS): Add physmem.h.
90205
90206         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
90207         't' for compatibility with Solaris 8 sort.
90208
90209 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
90210
90211         * lib/config.charset: Add support for BeOS.
90212
90213 2000-12-17  Jim Meyering  <meyering@lucent.com>
90214
90215         * m4/dos.m4 (jm_AC_DOS): New file and macro.
90216         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
90217
90218 2000-12-16  Jim Meyering  <meyering@lucent.com>
90219
90220         This bug had a serious impact on chown: `chown N:M FILE' (for integer
90221         N and M) would have treated it like `chown N:N FILE'.
90222
90223         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
90224
90225 2000-12-16  Jim Meyering  <meyering@lucent.com>
90226
90227         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
90228         SHELLS_FILE to a file name that's useful on djgpp systems.
90229         Include stdlib.h.
90230         (ADDITIONAL_DEFAULT_SHELLS): Define.
90231         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
90232         Based mostly on a patch from Prashant TR.
90233
90234 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
90235
90236         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
90237         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
90238         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
90239
90240 2000-12-08  Andreas Schwab  <schwab@suse.de>
90241
90242         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
90243         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
90244
90245 2000-12-07  Jim Meyering  <meyering@lucent.com>
90246
90247         * lib/stripslash.c (ISSLASH): Define.
90248         (strip_trailing_slashes): Use ISSLASH rather than comparing against
90249         `/'.
90250         From Prashant TR.
90251
90252         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
90253         (dir_name_r): Declare this function as static.
90254         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
90255         manifest itself on a name containing a mix of slashes and
90256         backslashes.
90257         Make this function work with names starting with a DOS-style
90258         drive letter and colon prefix.
90259         (dir_name): Append `.' if necessary.
90260         Based mostly on patches from Prashant TR and Eli Zaretskii.
90261
90262         * lib/dirname.h (dir_name_r): Remove prototype.
90263
90264 2000-12-06  Paul Eggert  <eggert@twinsun.com>
90265
90266         * m4/off_t-format.m4: Remove this file.
90267         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
90268
90269 2000-12-06  Jim Meyering  <meyering@lucent.com>
90270
90271         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
90272         replacement strtoull, we may well need the replacement strtoul, too.
90273         Check for declarations of strtoul and strtoull.
90274         Check for strtol.  Mainly as a cue to cause automake to include
90275         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
90276         Check for limits.h -- strtol.c needs it.
90277
90278 2000-12-05  Jim Meyering  <meyering@lucent.com>
90279
90280         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
90281
90282 2000-12-04  Jim Meyering  <meyering@lucent.com>
90283
90284         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
90285         Also include memory.h, stdlib.h, unistd.h if appropriate.
90286         Reported by Andreas Jaeger (conflicting declaration of malloc).
90287
90288 2000-12-02  Jim Meyering  <meyering@lucent.com>
90289
90290         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
90291         * m4/jm-macros.m4 (jm_MACROS): require it.
90292
90293 2000-12-02  Jim Meyering  <meyering@lucent.com>
90294
90295         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
90296
90297 2000-12-01  Paul Eggert  <eggert@twinsun.com>
90298
90299         * lib/memrchr.c: Include <config.h> before any system include file.
90300
90301 2000-11-30  Jim Meyering  <meyering@lucent.com>
90302
90303         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
90304
90305 2000-11-30  Jim Meyering  <meyering@lucent.com>
90306
90307         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90308
90309 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90310
90311         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90312
90313 2000-11-26  Jim Meyering  <meyering@lucent.com>
90314
90315         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90316
90317 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90318
90319         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90320         size of (size_t) -1; it's not portable.
90321
90322 2000-11-17  Jim Meyering  <meyering@lucent.com>
90323
90324         * lib/strstr.c: Update from GNU libc.
90325
90326 2000-11-17  Akim Demaille  <akim@epita.fr>
90327
90328         * lib/obstack.h: Formatting changes.
90329         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90330         prevent type checking.
90331         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90332         cast the value to (void *): assigning a `foo *' to a `void *'
90333         variable is valid.
90334         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90335
90336 2000-11-16  Jim Meyering  <meyering@lucent.com>
90337
90338         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90339
90340 2000-11-11  Jim Meyering  <meyering@lucent.com>
90341
90342         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90343
90344 2000-11-10  Jim Meyering  <meyering@lucent.com>
90345
90346         * lib/obstack.h: Update from GNU libc.
90347         * lib/obstack.c: Likewise.
90348
90349 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90350
90351         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90352
90353 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90354
90355         * lib/getusershell.c (setusershell): Use rewind rather than
90356         fseek/fseeko, to avoid configuration hassles with fseeko.
90357         Don't bother opening SHELLS_FILE if shellstream is NULL;
90358         it's not necessary.
90359
90360 2000-11-05  Jim Meyering  <meyering@lucent.com>
90361
90362         * lib/makepath.h (make_dir): Declare.
90363         * lib/makepath.c (make_dir): Remove `static' attribute.
90364         Tweak a comment.
90365
90366 2000-11-04  Jim Meyering  <meyering@lucent.com>
90367
90368         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
90369
90370 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
90371
90372         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
90373         last one in a bucket, advance to the next bucket.
90374
90375 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
90376
90377         * lib/fnmatch.c: Do not comment out all the code if we are using
90378         the GNU C library, because in some cases we are replacing buggy
90379         code in the GNU C library itself.
90380
90381 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90382
90383         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90384         (regex_compile): Catch bogus \(\1\).
90385
90386 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90387
90388         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90389         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90390         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90391
90392 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90393
90394         * lib/error.h, getline.h, modechange.h:
90395         Remove "2000" from Copyright line, as the file hasn't been
90396         changed this year other than in the copyright notice.
90397
90398         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90399         was changed this year.
90400
90401 2000-10-29  Jim Meyering  <meyering@lucent.com>
90402
90403         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90404         renaming.
90405         * m4/ls-mntd-fs.m4: Likewise
90406
90407 2000-10-29  Jim Meyering  <meyering@lucent.com>
90408
90409         * lib/xstat.in: Fix grammar in comment.
90410
90411 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90412
90413         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
90414         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
90415         doesn't define __restrict_arr.
90416
90417 2000-10-28  Jim Meyering  <meyering@lucent.com>
90418
90419         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
90420         (jm_PREREQ_MEMCHR): New function.
90421
90422 2000-10-28  Jim Meyering  <meyering@lucent.com>
90423
90424         * lib/memchr.c: Update from libc.
90425         Adjust for portability:
90426         [HAVE_STDLIB_H]: Include stdlib.h.
90427         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
90428         Undef __memchr, too.
90429         [!weak_alias]: Define __memchr to memchr.
90430
90431         * lib/regex.c: Update from libc.
90432         * lib/regex.h: Likewise.
90433         * lib/getopt1.c: Likewise.
90434         * lib/memcmp.c: Likewise.
90435
90436         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
90437         Avoid using fseek, when possible -- it's broken by design.
90438         Patch by Ulrich Drepper.
90439
90440 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
90441
90442         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
90443         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
90444         Giving in to popular pressure to shut up the compiler with casts.
90445
90446 2000-10-26  Jim Meyering  <meyering@lucent.com>
90447
90448         * lib/strftime.c: Update from libc.
90449
90450 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
90451
90452         * regex.c: More `unsigned char' -> `re_char' changes.
90453         Also change several `int' into `re_wchar_t'.
90454         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
90455         (PUSH_FAILURE_POINTER): Don't cast any more.
90456         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
90457         We want GCC to complain, since this piece of code makes
90458         re_match non-reentrant, which *should* be fixed.
90459         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
90460         (EXTEND_BUFFER): Use RETALLOC.
90461         (SET_LIST_BIT): Don't cast.
90462         (re_wchar_t): New type.
90463         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
90464         that those two functions will always properly return.
90465         (IMMEDIATE_QUIT_CHECK): Cast to void.
90466         (analyse_first): Use recursion rather than an explicit stack.
90467         (re_compile_fastmap): Can't fail anymore.
90468         (re_search_2): Don't check re_compile_fastmap for failure.
90469         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
90470         Now also sets the new value (passed in a new argument).
90471         (re_match_2_internal): Use it.
90472         Also, use a new var `reg' of type size_t when looping through regs
90473         rather than reuse the inappropriate `mcnt'.
90474
90475 2000-10-25  Jim Meyering  <meyering@lucent.com>
90476
90477         * lib/obstack.c: Update from libc.
90478
90479 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
90480
90481         * regex.c (regex_compile): Change the way of handling a range from
90482         a char less than 256 to a char not less than 256.
90483
90484 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90485
90486         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90487         NT-Emacs only.
90488         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90489         so that re_search functions only quit when callers expect them to.
90490
90491 2000-10-23  Jim Meyering  <meyering@lucent.com>
90492
90493         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90494         wrong.  That set_locale call must not have any side effects.
90495         From Paul Eggert.
90496
90497 2000-10-22  Jim Meyering  <meyering@lucent.com>
90498
90499         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90500         [CYCLIC]: Remove now-unused definition.
90501
90502         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90503         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90504         Suggestion from Ulrich Drepper.
90505
90506 2000-10-21  Jim Meyering  <meyering@lucent.com>
90507
90508         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90509         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90510         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90511
90512 2000-10-21  Jim Meyering  <meyering@lucent.com>
90513
90514         * lib/dirname.c (memrchr): Declare if necessary.
90515         (dir_name): Remove the restriction that there be no
90516         trailing slashes.  Now, this code skips past them, effectively
90517         ignoring them.
90518         [TEST_DIRNAME] (main): New unit tests.
90519
90520         * lib/memrchr.c: New file from GNU libc.
90521         Undef __memrchr, too.
90522         [!weak_alias]: Define __memrchr to memrchr.
90523         Guard weak_alias use with `#ifdef weak_alias'.
90524
90525 2000-10-21  Jim Meyering  <meyering@lucent.com>
90526
90527         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90528         (dir_name): Use dir_name_r.
90529         * lib/dirname.h (dir_name_r): Declare it.
90530
90531 2000-10-17  Jim Meyering  <meyering@lucent.com>
90532
90533         * lib/quote.h (PARAMS): Define and use.
90534         Reported by Akim Demaille.
90535
90536         * lib/getopt.c: Update from libc.
90537
90538 2000-10-16  Jim Meyering  <meyering@lucent.com>
90539
90540         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90541         setlocale.
90542         From Jan Fedak.
90543
90544 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90545
90546         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90547
90548 2000-09-25  Jim Meyering  <meyering@lucent.com>
90549
90550         * lib/md5.h (rol): Define (from GnuPG).
90551
90552         * lib/sha.c: Give credit (GnuPG) where due.
90553         (M): Use rol rather than open-coding it.
90554         Add a FIXME comment.
90555
90556 2000-09-21  Jim Meyering  <meyering@lucent.com>
90557
90558         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90559         Reported by Michael Stone.
90560
90561 2000-09-20  Jim Meyering  <meyering@lucent.com>
90562
90563         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90564         (noinst_HEADERS): Add sha.h.
90565         Based on code from Scott G. Miller and from GnuPG.
90566
90567 2000-09-18  Jim Meyering  <meyering@lucent.com>
90568
90569         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90570         LIBS. Otherwise, everyone ends up linking with -lelf for some
90571         configurations.
90572         Reported by Mike Stone.
90573
90574 2000-09-15  Jim Meyering  <meyering@lucent.com>
90575
90576         * lib/regex.c: Update from libc.
90577
90578 2000-09-10  Jim Meyering  <meyering@lucent.com>
90579
90580         * lib/getopt.c (_getopt_internal): Update from glibc.
90581
90582 2000-09-09  Jim Meyering  <meyering@lucent.com>
90583
90584         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90585         think it should be used as a general replacement for isascii.
90586         * lib/fnmatch.c: Likewise.
90587         * lib/mbswidth.c: Likewise
90588         * lib/regex.c: Likewise.
90589
90590         Don't use atoi.
90591         * lib/userspec.c: Include sys/param.h and limits.h.
90592         Include xstrtol.h.
90593         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90594         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90595         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90596         UID, GID.  Check range.
90597
90598 2000-09-06  Jim Meyering  <meyering@lucent.com>
90599
90600         * lib/getopt.c (_getopt_internal): Update from glibc.
90601
90602 2000-08-30  Jim Meyering  <meyering@lucent.com>
90603
90604         * lib/strftime.c: Merge in changes from GNU libc.
90605
90606 2000-08-26  Jim Meyering  <meyering@lucent.com>
90607
90608         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90609         * m4/fpending.m4: New file.
90610
90611 2000-08-26  Jim Meyering  <meyering@lucent.com>
90612
90613         * lib/closeout.c: Include "__fpending.h".
90614         (close_stdout_status): Return right away if there's nothing to flush.
90615
90616         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90617         * lib/__fpending.c: New file.
90618         * lib/__fpending.h: New file.
90619
90620 2000-08-20  Jim Meyering  <meyering@lucent.com>
90621
90622         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90623         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90624         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90625
90626 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90627
90628         Improve fileutils installation on systems where running
90629         programs (like install) can't be unlinked.
90630         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90631         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90632
90633 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90634
90635         Standardize on "memory exhausted" instead of "Memory exhausted"
90636         or "virtual memory exhausted".
90637         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90638         "virtual memory exhausted".
90639         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90640         our own message.
90641         * lib/userspec.c (parse_user_spec): Likewise.
90642         * lib/bumpalloc.h: comment fix
90643         * lib/same.c, userspec.c: Include xalloc.h.
90644
90645         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90646         not char *const and pointing to a constant array.
90647         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90648         (xrealloc): Comment fix.
90649
90650         * lib/userspec.c (parse_user_spec):
90651         Don't translate a message until just before returning,
90652         to avoid unnecessary translation.
90653
90654 2000-08-07  Jim Meyering  <meyering@lucent.com>
90655
90656         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90657         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90658         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90659         getgroups.c, gethostname.c, getopt.h, group-member.c,
90660         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90661         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90662         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90663         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90664         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90665         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90666         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90667         yesno.c: Back out Copyright date changes for each file with no change
90668         this year.  This eases coordination with other programs using the same
90669         source code modules.  From Paul Eggert.
90670
90671 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90672
90673         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90674         not char, for compatibility with glibc 2.1.3 strftime.c.
90675
90676 2000-08-03  Greg McGary  <greg@mcgary.org>
90677
90678         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90679         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90680         (EXTEND_BUFFER): Use them.
90681
90682 2000-08-01  Jim Meyering  <meyering@lucent.com>
90683
90684         * lib/dirname.c (ISSLASH): Define.
90685         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90686         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90687         both `\' and `/' may be use as path separators.
90688         Based on a patch from Prashant TR.
90689
90690 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90691
90692         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90693         slot vector a constant, since it might get modified.
90694
90695 2000-07-31  Jim Meyering  <meyering@lucent.com>
90696
90697         * lib/xmalloc.c: Use `virtual memory exhausted', not
90698         `Memory exhausted'.
90699         * lib/obstack.c (print_and_abort): Likewise.
90700
90701 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90702
90703         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90704         buffer, so that the caller can always quote one small
90705         component of a "memory exhausted" message in slot 0.
90706         From a suggestion by Jim Meyering.
90707
90708 2000-07-30  Jim Meyering  <meyering@lucent.com>
90709
90710         * lib/makepath.c (make_path): Quote the other instance, too.
90711
90712         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90713         (STATIC_BUF_SIZE): Define.
90714         (quotearg_n_options): Use only statically allocated storage when
90715         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90716         than STATIC_BUF_SIZE.
90717
90718 2000-07-29  Jim Meyering  <meyering@lucent.com>
90719
90720         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90721         * lib/dirname.c (dir_name): Likewise.
90722
90723         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90724         `/'.
90725
90726         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90727         (dir_name): Assert that there are no trailing slashes.
90728
90729 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90730
90731         * lib/mbswidth.h (mbswidth): Add a flags argument.
90732         (mbswidth): New declaration.
90733         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90734         * lib/mbswidth.c (mbswidth): Add a flags argument.
90735         (mbsnwidth): New function.
90736
90737 2000-07-24  Jim Meyering  <meyering@lucent.com>
90738
90739         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90740
90741 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90742
90743         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90744
90745 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90746
90747         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90748         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90749         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90750         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90751         invoke multibyte primitives.
90752
90753 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90754
90755         * lib/quotearg.c:
90756         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90757         so that mbstate_t is always defined.
90758
90759         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90760         be 1 in at least one GCC installation, and this configuration
90761         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90762         performance on hosts that have mbrtowc but have only unibyte
90763         locales, but I assume these hosts are rare.
90764
90765 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90766
90767         * lib/mbswidth.c (_XOPEN_SOURCE):
90768         Don't define; this causes problems on Solaris 7.
90769         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90770
90771 2000-07-23  Jim Meyering  <meyering@lucent.com>
90772
90773         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90774         too: getgrgid, getpwuid, getuid.
90775
90776 2000-07-23  Jim Meyering  <meyering@lucent.com>
90777
90778         * lib/basename.c (base_name): Add an assertion.
90779
90780 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90781
90782         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90783         shadow its mbsinit function.
90784
90785 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90786
90787         * lib/mbswidth.h: New file.
90788         * lib/mbswidth.c: New file.
90789         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90790         (noinst_HEADERS): Add mbswidth.h.
90791
90792 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90793
90794         * lib/config.charset: Add support for FreeBSD. Improve support for
90795         HP-UX and IRIX 6.
90796
90797 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90798
90799         * m4/mbswidth.m4: New file.
90800         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90801
90802 2000-07-15  Jim Meyering  <meyering@lucent.com>
90803
90804         * lib/makepath.c: Include quote.h.
90805         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90806         corresponding argument in a `quote (...)' call.
90807         Give better diagnostics.
90808
90809         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90810         (noinst_HEADERS): Add quote.h.
90811
90812         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90813         from tar's src/misc.c.
90814         * lib/quote.h: New file.  Prototypes for same.
90815
90816 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90817
90818         From a suggestion by Bruno Haible.
90819         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90820         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90821         to decide whether to define the BeOS workaround macro;
90822         this adjusts to the change to AC_MBSTATE_T.
90823
90824 2000-07-14  Jim Meyering  <meyering@lucent.com>
90825
90826         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90827         jm_AC_TYPE_UINTMAX_T.
90828
90829 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90830
90831         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90832
90833         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90834         quotearg_buffer_restyled): Add support for
90835         clocale_quoting_style.  Undo previous change to
90836         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90837         and "{RIGHT QUOTATION MARK}" msgids.
90838
90839 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90840
90841         From a suggestion by Bruno Haible.
90842         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90843         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90844         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90845         and mbstate_t, to a single-part test that simply defines mbstate_t.
90846         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90847         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90848
90849 2000-07-10  Jim Meyering  <meyering@lucent.com>
90850
90851         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90852
90853         * m4/gnu-source.m4: Output to confdefs.h directly.
90854         Suggestion from Akim Demaille.
90855
90856 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90857
90858         The old behavior of quoting `like this' doesn't look good with
90859         newer, ISO-style fonts.  See:
90860         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90861
90862         Instead, quote "like this" by default.  Let the translator
90863         tailor the locale-specific quoting behavior by providing
90864         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90865
90866         * lib/quotearg.c (N_): New macro.
90867         (gettext_default): New function.
90868         (quotearg_buffer_restyled): Use
90869         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90870         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90871
90872 2000-07-09  Jim Meyering  <meyering@lucent.com>
90873
90874         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90875         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90876
90877         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90879
90880 2000-07-09  Jim Meyering  <meyering@lucent.com>
90881
90882         * lib/Most files: Update copyright dates to include 2000.
90883
90884 2000-07-08  Jim Meyering  <meyering@lucent.com>
90885
90886         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90887         if not defined.
90888         (xgethostname): Remove now-unnecessary #ifdef.
90889         Move declaration of `err' into loop where it's used.
90890
90891 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90892         and Bruno Haible  <haible@clisp.cons.org>
90893
90894         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90895         only if the test for an object-type mbstate_t fails.  This
90896         prevents us from mistakenly reporting that mbstate_t is a
90897         system object type after we "#define mbstate_t int" to work
90898         around its lack.
90899
90900 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90901         and Bruno Haible  <haible@clisp.cons.org>
90902
90903         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90904
90905 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90906
90907         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90908         to strerror_r.
90909         Include <ctype.h> for use of isalpha.
90910
90911 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90912
90913         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90914         by allocating a larger buffer. Test the gethostname return value for
90915         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90916         returns an error and ENAMETOOLONG isn't defined.
90917
90918 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90919
90920         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90921         dimension.
90922
90923 2000-07-04  Jim Meyering  <meyering@lucent.com>
90924
90925         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90926         of the deprecated AC_CHECKING.
90927
90928 2000-07-04  Jim Meyering  <meyering@lucent.com>
90929
90930         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90931         Reported by Bruno Haible.
90932
90933 2000-07-04  Jim Meyering  <meyering@lucent.com>
90934
90935         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90936         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90937         lacks mbrtowc.
90938
90939 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90940
90941         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90942         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90943
90944 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90945         and Bruno Haible  <haible@clisp.cons.org>
90946
90947         * lib/quotearg.c (mbrtowc):
90948         Assign to *pwc, and return 1 only if result is nonzero.
90949         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90950
90951 2000-07-03  Jim Meyering  <meyering@lucent.com>
90952
90953         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90954
90955 2000-07-03  Jim Meyering  <meyering@lucent.com>
90956
90957         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90958         This is necessary to get a definition of e.g., UTMP_FILE on
90959         HP-UX 10.20.
90960         From Bob Proulx.
90961
90962 2000-07-02  Jim Meyering  <meyering@lucent.com>
90963
90964         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90965
90966         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90967         AC_LIBOBJ(function_name).
90968         * m4/chown.m4: Likewise.
90969         * m4/fnmatch.m4: Likewise.
90970         * m4/ftruncate.m4: Likewise.
90971         * m4/getgroups.m4: Likewise.
90972         * m4/getline.m4: Likewise.
90973         * m4/group-member.m4: Likewise.
90974         * m4/jm-macros.m4: Likewise.
90975         * m4/lstat.m4: Likewise.
90976         * m4/malloc.m4: Likewise.
90977         * m4/memcmp.m4: Likewise.
90978         * m4/nanosleep.m4: Likewise.
90979         * m4/putenv.m4: Likewise.
90980         * m4/realloc.m4: Likewise.
90981         * m4/regex.m4: Likewise.
90982         * m4/stat.m4: Likewise.
90983         * m4/strftime.m4: Likewise.
90984
90985 2000-07-02  Jim Meyering  <meyering@lucent.com>
90986
90987         * lib/quotearg.c (mbstate_t): Don't define here.
90988
90989 2000-07-02  Jim Meyering  <meyering@lucent.com>
90990
90991         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90992
90993 2000-07-01  Jim Meyering  <meyering@lucent.com>
90994
90995         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90996
90997 2000-07-01  Jim Meyering  <meyering@lucent.com>
90998
90999         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91000         problem.
91001
91002 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91003
91004         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91005         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91006
91007 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91008
91009         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91010         per change in ../m4/ls-mntd-fs.m4.
91011         (read_filesystem_list): Ignore symbolic links.
91012
91013 2000-06-29  Jim Meyering  <meyering@lucent.com>
91014
91015         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91016         for declaration of strcmp.
91017
91018         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91019
91020         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91021         Avoid warning by casting result to `char *' to remove `const'.
91022
91023 2000-06-28  Jim Meyering  <meyering@lucent.com>
91024
91025         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91026         included by quotearg.c, for which we perform this test.  From
91027         Bruno Haible.
91028
91029 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91030
91031         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91032         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91033         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91034
91035 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91036
91037         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91038
91039 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91040
91041         savedir now sets errno on failure and invokes xmalloc to get memory.
91042         Fix a couple of other minor bugs while we're at it.
91043
91044         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91045         (NAMLEN): Remove macro.
91046         (malloc, realloc): Remove decls.
91047         (stpcpy): Likewise.
91048         ("xalloc.h"): Include.
91049         (NAME_SIZE_DEFAULT): New macro.
91050         (savedir): Use xmalloc / xrealloc to allocate memory.
91051         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91052         Skip "" directory entries.
91053         Use strlen to calculate directory entry length, since the old method
91054         is rarely used these days and isn't worth supporting.
91055         Don't use a pointer after freeing it.
91056         Check for integer overflow when calculating allocation size.
91057         Use memcpy to copy entries, instead of stpcpy.
91058         Set errno properly when returning NULL.
91059         Check for readdir error.
91060
91061 2000-06-26  Jim Meyering  <meyering@lucent.com>
91062
91063         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91064
91065 2000-06-25  Jim Meyering  <meyering@lucent.com>
91066
91067         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91068         Linux header bug when _XOPEN_SOURCE is defined to 500.
91069
91070 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91071
91072         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91073         deficiency.
91074
91075 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91076
91077         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91078         Include xalloc.h.
91079         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91080
91081 2000-06-24  Jim Meyering  <meyering@lucent.com>
91082
91083         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91084         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91085         for which strerror does return char*, but which lacks a conveniently
91086         accessible declaration of the function.  If the compile-test says
91087         strerror_r doesn't work, then resort to a `run'-test that works on
91088         BeOS and segfaults on DEC Unix.
91089
91090 2000-06-24  Jim Meyering  <meyering@lucent.com>
91091
91092         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91093
91094 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91095
91096         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91097         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91098
91099 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91100
91101         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91102         (mbrtowc, mbstate_t): Define substitutes if
91103         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91104         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91105         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91106
91107 2000-06-23  Jim Meyering  <meyering@lucent.com>
91108
91109         * m4/afs.m4: Add missing AC_MSG_RESULT.
91110         Reported by Bruno Haible.
91111
91112         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91113         Suggestion from Bruno Haible.
91114
91115 2000-06-23  Jim Meyering  <meyering@lucent.com>
91116
91117         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91118
91119 2000-06-21  Jim Meyering  <meyering@lucent.com>
91120
91121         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91122
91123 2000-06-21  Jim Meyering  <meyering@lucent.com>
91124
91125         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91126         (noinst_HEADERS): Add getstr.h.
91127
91128         * lib/getline.c (getstr): Move into a separate file.
91129         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91130         the following changes: new parameter, delim2; both delim[12]
91131         parameters have type `int', not `char'.  The latter would lose
91132         with 8-bit delimiters.
91133         * lib/getstr.h: New file.
91134
91135 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91136
91137         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91138         than 1024, return a memory chunk of least possible size, instead
91139         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91140         Use free/xmalloc instead of xrealloc to avoid copying for very long
91141         paths.
91142
91143 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91144
91145         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91146         the empty string.
91147
91148 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91149
91150         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91151         address, not strdup.  Include <stdlib.h> and don't declare free().
91152
91153 2000-06-19  Jim Meyering  <meyering@lucent.com>
91154
91155         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91156
91157 2000-06-18  Jim Meyering  <meyering@lucent.com>
91158
91159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91160
91161         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91162         `checking whether...' message to be consistent with that of the
91163         lstat test.
91164
91165 2000-06-18  Jim Meyering  <meyering@lucent.com>
91166
91167         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91168         Besides, these days every porting target provides a mkdir function.
91169
91170         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91171         needed. (this snippet comes from src/system.h).
91172
91173 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91174
91175         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91176
91177 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91178
91179         * lib/human.c (adjust_value): New function.
91180         (human_readable_inexact): Apply rounding style even when
91181         printing approximate values.
91182
91183 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91184
91185         * lib/human.c (human_readable_inexact): Allow an input block
91186         size that is not a multiple of the output block size, and vice versa.
91187         Reported by Piergiorgio Sartor.
91188
91189 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91190
91191         * lib/getdate.y (get_date): Apply relative times after time
91192         zone indicator, not before.  Reported by Todd A. Jacobs.
91193
91194 2000-06-13  Jim Meyering  <meyering@lucent.com>
91195
91196         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
91197
91198         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
91199
91200 2000-06-12  Paul Eggert  <eggert@twinsun.com>
91201
91202         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
91203
91204 2000-06-12  Jim Meyering  <meyering@lucent.com>
91205
91206         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
91207         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
91208         optional argument.
91209         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
91210         the optional argument, `lib'.
91211
91212 2000-06-08  Jim Meyering  <meyering@lucent.com>
91213
91214         * m4/largefile.m4: Remove file (now that it's part of autoconf).
91215
91216 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91217
91218         Rewrite largefile configuration so that we don't need to run
91219         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
91220         AC_CANONICAL_HOST in configure.in -- jmm]
91221
91222         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
91223         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
91224         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
91225         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
91226         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
91227         All uses changed.
91228         Instead of inspecting the output of getconf, try to compile the
91229         test program without and with the macro definition.
91230         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
91231         for getconf.  Instead, check for the needed flags by compiling
91232         test programs.
91233
91234 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91235
91236         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
91237
91238 2000-06-04  Jim Meyering  <meyering@lucent.com>
91239
91240         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
91241         SunOS 4.1.4 for which gid_t is an unsigned type.
91242
91243 2000-06-03  Jim Meyering  <meyering@lucent.com>
91244
91245         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
91246         now that autoconf requires that.
91247
91248         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
91249         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
91250         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
91251
91252 2000-06-03  Jim Meyering  <meyering@lucent.com>
91253
91254         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
91255
91256 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91257
91258         * m4/glibc21.m4: New file.
91259         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
91260
91261 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91262
91263         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
91264         newer, don't install charset.alias.
91265         * lib/config.charset: Change the Linux/glibc rules so they become empty
91266         on glibc-2.1 or newer.
91267
91268 2000-06-02  Jim Meyering  <meyering@lucent.com>
91269
91270         * lib/mountlist.c: Back out last change.  Instead, do this...
91271         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
91272         me_dummy member using the same `ignore'-testing code.
91273         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
91274         fs_type strings.
91275         From Mark D. Roth.
91276
91277 2000-05-29  Jim Meyering  <meyering@lucent.com>
91278
91279         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
91280         mounts with the `ignore' attribute.  Based on a patch from
91281         Mark D. Roth.
91282
91283 2000-05-28  Jim Meyering  <meyering@lucent.com>
91284
91285         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
91286         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91287         * m4/stat.m4: Likewise.
91288         * m4/lstat.m4: Likewise.
91289         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
91290
91291         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
91292         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
91293
91294 2000-05-26  Jim Meyering  <meyering@lucent.com>
91295
91296         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
91297
91298 2000-05-24  Jim Meyering  <meyering@lucent.com>
91299
91300         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
91301         autoconf requires that.
91302         * m4/lib-check.m4: Likewise.
91303         * m4/jm-macros.m4: Likewise.
91304         * m4/strftime.m4: Likewise.
91305
91306         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
91307         AC_CHECK_DECLS, now that autoconf requires that.
91308
91309 2000-05-22  Jim Meyering  <meyering@lucent.com>
91310
91311         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91312         * m4/lstat.m4: Likewise.
91313
91314 2000-05-22  Jim Meyering  <meyering@lucent.com>
91315
91316         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91317
91318 2000-05-20  Jim Meyering  <meyering@lucent.com>
91319
91320         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91321         (jm_PREREQ): Use it.
91322
91323 2000-05-18  Jim Meyering  <meyering@lucent.com>
91324
91325         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91326         back, too, since it may have been modified by allocate_entry.
91327         (hash_delete): Rewrite to use neither the assignment operator
91328         nor the comma operator in an if-expression.
91329
91330 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91331
91332         * lib/closeout.c:
91333         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91334         Remove; no longer needed.
91335         "quotearg.h": Add include.
91336         (file_name): Do not bother to explicitly initialize to NULL; it's less
91337         efficient on some hosts.
91338         (close_stdout_status): Remove test as to whether stdout was already
91339         closed; it breaks for the case "echo x | sort >&-".
91340         Quote file name colons.
91341         Do not assume that _("write error") lacks format strings.
91342
91343 2000-05-15  Jim Meyering  <meyering@lucent.com>
91344
91345         * lib/version-etc.c (version_etc_copyright): Update the copyright
91346         string used in all --version output.
91347
91348 2000-05-14  Jim Meyering  <meyering@lucent.com>
91349
91350         * lib/closeout.c (close_stdout_set_file_name): New function.
91351         (close_stdout_status): Use new file-scoped global.
91352         Return right away if fstat says the stdout file descriptor is invalid.
91353         * lib/closeout.h (close_stdout_set_file_name): Declare.
91354
91355 2000-05-10  Jim Meyering  <meyering@lucent.com>
91356
91357         * lib/closeout.c [default_exit_status]: New file-scoped variable.
91358         (close_stdout_set_status): New function.
91359         * lib/closeout.h (close_stdout_set_status): Declare.
91360
91361 2000-05-09  Jim Meyering  <meyering@lucent.com>
91362
91363         * m4/gettext.m4: Rename this...
91364         * m4/libintl.m4: ...to this.
91365
91366 2000-05-08  Jim Meyering  <meyering@lucent.com>
91367
91368         * lib/long-options.c: Don't include closeout.h.
91369         (parse_long_options): Don't call close_stdout for --version.
91370
91371 2000-05-06  Paul Eggert  <eggert@twinsun.com>
91372
91373         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
91374         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
91375         2.1.3 bug.  This avoids a clash when files like regex.c define
91376         _GNU_SOURCE.
91377
91378 2000-05-06  Jim Meyering  <meyering@lucent.com>
91379
91380         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91381         (AC_REPLACE_FUNCS): Add strnlen.
91382
91383         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91384         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91385
91386         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91387         AC_SEARCH_LIBS call for nanosleep.
91388         (LIB_NANOSLEEP): Set and AC_SUBST.
91389
91390 2000-05-06  Jim Meyering  <meyering@lucent.com>
91391
91392         * lib/strnlen.c: Undefine __strnlen and strnlen.
91393         [!weak_alias]: Define __strnlen to strnlen.
91394
91395         * lib/atexit.c: New file, from libiberty.
91396
91397 2000-05-06  Jim Meyering  <meyering@lucent.com>
91398
91399         * lib/closeout.c (close_stdout_status): Also check for errors on the
91400         stderr stream.
91401
91402 2000-05-05  Jim Meyering  <meyering@lucent.com>
91403
91404         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91405         AC_SEARCH_LIBS call for clock_gettime.
91406         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91407
91408         * m4/search-libs.m4: Update from autoconf.
91409
91410         su doesn't work on Solaris 2.6.
91411         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91412         <shadow.h>.  Reported by Dragos Harabor.
91413
91414 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
91415
91416         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
91417         memcpy instead of xmalloc, xrealloc, path_concat.
91418         (locale_charset): Treat empty environment variables as absent.
91419         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
91420
91421 2000-05-04  Jim Meyering  <meyering@lucent.com>
91422
91423         * lib/getopt.c: Update from glibc.
91424         * lib/obstack.c: Likewise.
91425         * lib/obstack.h: Likewise.
91426         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
91427         file
91428
91429         * lib/regex.h: Likewise.
91430         * lib/strndup.c: Likewise.
91431         * lib/strnlen.c: New file, from glibc.
91432
91433 2000-05-03  Jim Meyering  <meyering@lucent.com>
91434
91435         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
91436
91437 2000-05-02  Paul Eggert  <eggert@twinsun.com>
91438
91439         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
91440         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
91441         compile-time test, rather than inspecting host and OS, to
91442         decide whether to define _LARGEFILE_SOURCE.
91443
91444 2000-05-01  Jim Meyering  <meyering@lucent.com>
91445
91446         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
91447
91448         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
91449         Based on a patch from Bruno Haible.
91450
91451 2000-05-01  Jim Meyering  <meyering@lucent.com>
91452
91453         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
91454
91455 2000-04-29  Jim Meyering  <meyering@lucent.com>
91456
91457         * lib/path-concat.c: Declare strdup only if it's not defined.
91458         * lib/canon-host.c: Likewise.
91459
91460 2000-04-28  Jim Meyering  <meyering@lucent.com>
91461
91462         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
91463         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
91464         is included first, then limits.h is included by locale.h by libintl.h.
91465         From John David Anglin.
91466
91467 2000-04-25  Jim Meyering  <meyering@lucent.com>
91468
91469         * lib/makepath.c (S_IRWXUGO): Define.
91470         (make_path): Always perform explicit chmod if MODE specifies any
91471         of the `special' permission bits.  Prompted by a bug report against
91472         install from Mate Wierdl and Joost van Baal.
91473
91474 2000-04-18  Jim Meyering  <meyering@lucent.com>
91475
91476         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
91477         (jm_PREREQ): Use it.
91478
91479 2000-04-18  Jim Meyering  <meyering@lucent.com>
91480
91481         * lib/README: New file.
91482
91483         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91484         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91485
91486 2000-04-17  Jim Meyering  <meyering@lucent.com>
91487
91488         Get it right :-)
91489         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91490         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91491         Suggestion from Akim Demaille.
91492
91493 2000-04-17  Jim Meyering  <meyering@lucent.com>
91494
91495         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91496         the definition of it to rpl_strftime also defined-away the system's
91497         declaration.
91498
91499 2000-04-15  Jim Meyering  <meyering@lucent.com>
91500
91501         Use `C' to denote so-called `contiguous' files, the same way
91502         that tar does.
91503         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91504         (ftypelet): Use S_ISCTG.
91505         From Michael Deutschmann.
91506
91507 2000-04-14  Jim Meyering  <meyering@lucent.com>
91508
91509         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91510         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91511         clobbered.
91512
91513 2000-04-14  Jim Meyering  <meyering@lucent.com>
91514
91515         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91516
91517 2000-04-13  Jim Meyering  <meyering@lucent.com>
91518
91519         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91520         AH_VERBATIM to insert required #ifndef into config.h.in.
91521         Suggestion from Akim Demaille.
91522
91523 2000-04-12  Jim Meyering  <meyering@lucent.com>
91524
91525         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91526         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91527         Christian Krackowizer.
91528
91529         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91530         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91531         (AC_SYS_LARGEFILE): Require.
91532         (AM_C_PROTOTYPES): Require.
91533
91534 2000-04-08  Jim Meyering  <meyering@lucent.com>
91535
91536         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91537         names don't conflict.  Reported by Eli Zaretskii.
91538
91539 2000-04-07  Jim Meyering  <meyering@lucent.com>
91540
91541         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91542         sys/types.h, to work around system header problems on AIX 3.2.5.
91543         From Bruno Haible.
91544
91545 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91546
91547         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91548         bug.  Deal with the different error behavior of Irix iconv.
91549
91550 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91551
91552         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91553         IRIX if the installer said otherwise.
91554
91555 2000-04-05  Jim Meyering  <meyering@lucent.com>
91556
91557         Portability tweaks required for ultrix4.3.
91558         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91559         (jm_CHECK_DECLS): Add getutent to the list of functions.
91560         (_jm_DECL_HEADERS): Add utmpx.h.
91561         From John David Anglin.
91562
91563         * m4/strftime.m4: Back out the 2000-04-02 change.
91564         Instead of that change, simply undefine putenv in the test program.
91565
91566 2000-04-05  Jim Meyering  <meyering@lucent.com>
91567
91568         Portability tweaks required for ultrix4.3.
91569         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91570         getutent.
91571         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91572         * lib/canon-host.c: Declare strdup.
91573         * lib/path-concat.c: Likewise.
91574         From John David Anglin.
91575
91576 2000-04-04  Jim Meyering  <meyering@lucent.com>
91577
91578         Be more DOS 8.3-friendly.
91579         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91580         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91581         * lib/Makefile.am: Reflect renaming.
91582         Reported by Eli Zaretskii.
91583
91584         Use a temporary file name that won't clash with `charset.alias'
91585         in the DOS 8.3 name space.
91586         * lib/Makefile.am (charset_tmp): Define.
91587         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91588         (uninstall-local): Likewise.
91589         Reported by Eli Zaretskii.
91590
91591 2000-04-03  Jim Meyering  <meyering@lucent.com>
91592
91593         * m4/gettext.m4: Fix typo in comment.
91594
91595         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91596         textutils/configure.in).  Suggestion from Paul Eggert.
91597         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91598
91599 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91600
91601         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91602         variable in the shell rather than using putenv, which isn't
91603         portable.  This avoids the configure-time inter-test dependency
91604         on the potentially-renamed putenv function.
91605
91606 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91607
91608         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91609         before checking struct stat.st_blksize, so that
91610         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91611
91612 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91613
91614         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91615         since strftime.c uses HAVE_STRFTIME to decide whether to use
91616         the underlying strftime.
91617
91618 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91619
91620         * lib/time/strftime.c (my_strftime): Make sure we call the system
91621         strftime, not ourselves, when invoking the underlying strftime.
91622
91623 2000-03-24  Jim Meyering  <meyering@lucent.com>
91624
91625         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91626         (charset_alias): Define.
91627         (install-exec-local): Factor out common code.
91628         (uninstall-local): Split lines longer than 80.
91629         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91630         (SUFFIXES): Define.
91631         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91632         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91633
91634 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91635
91636         * lib/config.charset: Output a line containing "Packages using this
91637         file".
91638         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91639         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91640         ref-del.sed): New rules.
91641
91642 2000-03-17  Jim Meyering  <meyering@lucent.com>
91643
91644         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91645         Otherwise, include <strings.h>
91646
91647 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91648
91649         * lib/unicodeio.c (utf8_wctomb): New function.
91650         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91651         format instead of in UCS-4 with platform dependent endianness.
91652
91653 2000-03-10  Jim Meyering  <meyering@lucent.com>
91654
91655         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91656         From Marco Franzen.
91657
91658 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91659
91660         * lib/savedir.c (savedir): Work even if directory size is
91661         negative; this can happen with some screwy NFS configurations.
91662
91663 2000-03-06  Jim Meyering  <meyering@lucent.com>
91664
91665         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91666         if it's NULL (because we ran out of memory).  From Bruno Haible.
91667
91668 2000-03-05  Jim Meyering  <meyering@lucent.com>
91669
91670         * lib/localcharset.c ("path-concat.h"): Include.
91671         (get_charset_aliases): Use path_concat instead of ANSI string
91672         concatenation.
91673
91674         * lib/unicodeio.h (PARAMS): Define.
91675         Use it to guard prototype.
91676
91677 2000-03-04  Jim Meyering  <meyering@lucent.com>
91678
91679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91680         for lib/localcharset.c.
91681
91682 2000-03-04  Jim Meyering  <meyering@lucent.com>
91683
91684         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91685         installing into it.
91686         (uninstall-local): Uncomment this rule so `make distcheck' works
91687         once again.
91688
91689         * lib/unicodeio.c (<errno.h>): Include it.
91690         (errno): Declare if not defined.
91691
91692         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91693
91694         * lib/config.charset: New version, incorporating remarks from a linux
91695         i18n mailing list.  From Bruno Haible.
91696
91697 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91698
91699         * m4/codeset.m4: New file.
91700         * m4/iconv.m4: New file.
91701         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91702
91703 2000-03-03  Jim Meyering  <meyering@lucent.com>
91704
91705         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91706
91707 2000-03-02  Jim Meyering  <meyering@lucent.com>
91708
91709         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91710         the messages come out on separate lines.
91711
91712         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91713         rather than jm_CHECK_DECLARATIONS.
91714         * m4/decl.m4: Remove now-unused file.
91715
91716         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91717         geteuid.
91718
91719 2000-03-02  Jim Meyering  <meyering@lucent.com>
91720
91721         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91722
91723 2000-03-01  Jim Meyering  <meyering@lucent.com>
91724
91725         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91726         * lib/unicodeio.c: Likewise.
91727
91728 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91729
91730         * lib/config.charset: New file.
91731         * lib/localcharset.c: New file.
91732         * lib/unicodeio.h, lib/unicodeio.c: New files.
91733         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91734         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91735         (noinst_HEADERS): Add unicodeio.h.
91736         (all-local, install-exec-local, charset.alias): New targets.
91737
91738 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91739
91740         * lib/quotearg.c (ALERT_CHAR): New macro.
91741         (quotearg_buffer_restyled): Use it.
91742
91743 2000-02-27  Jim Meyering  <meyering@lucent.com>
91744
91745         * m4/check-decl.m4: Add getenv to the list.
91746
91747 2000-02-27  Jim Meyering  <meyering@lucent.com>
91748
91749         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91750         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91751
91752         * lib/backupfile.c: Guard inclusion of stdlib.h with
91753         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91754         Declare malloc if needed.
91755
91756         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91757         `#ifndef HAVE_DECL..'
91758         now that autoconf always defines the HAVE_DECL_ symbols.
91759         * lib/human.c: Likewise.
91760         * lib/same.c: Likewise.
91761         * lib/strtoumax.c: Likewise.
91762
91763         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91764         declaration check was not run.
91765         * lib/hash.c: Likewise.
91766         * lib/human.c: Likewise.
91767         * lib/same.c: Likewise.
91768         * lib/strtoumax.c: Likewise.
91769
91770         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91771         `.', then first look up the entire `.'-containing string as a login
91772         name.
91773
91774 2000-02-23  Jim Meyering  <meyering@lucent.com>
91775
91776         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91777         in place of my hack.
91778
91779 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91780
91781         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91782         (textint): New typedef.
91783         (parser_control): Member year changed from int to textint.
91784         All uses changed.
91785         (YYSTYPE): Removed; replaced by %union with int and textint members.
91786         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91787         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91788         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91789         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91790         (date, number, to_year): Use width of number in digits, not its value,
91791         to determine whether it's a 2-digit year, or a 2-digit time.
91792         (yylex): Store number of digits of numeric tokens.
91793         Reported by John Kendall.
91794
91795         (parser_control): Changed from struct parser_control to typedef (for
91796         consistency).  All uses changed.
91797
91798         (tID): Removed; not used.
91799         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91800
91801 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91802
91803         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91804         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91805
91806 2000-02-12  Jim Meyering  <meyering@lucent.com>
91807
91808         * lib/userspec.c (ISDIGIT): Define it.
91809         (isdigit): Remove definition.
91810         (is_number): Use ISDIGIT, not isdigit.
91811         <libintl.h>: Include.
91812         (_ and N_): Define.
91813         (parse_user_spec): Mark translatable strings.
91814
91815 2000-02-10  Jim Meyering  <meyering@lucent.com>
91816
91817         With these changes, nanosleep.[ch] are finally enough like the other
91818         lib/* replacement files to compile on a few more losing systems.
91819
91820         * lib/nanosleep.h: Don't include config.h.
91821         Remove prototype from declaration of nanosleep.
91822         (PARAMS): Remove now-unneeded definition.
91823         * lib/nanosleep.c: #undef nanosleep.
91824         (rpl_nanosleep): Rename from nanosleep.
91825
91826 2000-02-10  Jim Meyering  <meyering@lucent.com>
91827
91828         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91829         gnu_nanosleep to rpl_nanosleep.
91830
91831 2000-02-09  Jim Meyering  <meyering@lucent.com>
91832
91833         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91834         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91835
91836 2000-02-08  Akim Demaille  <akim@epita.fr>
91837
91838         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91839         `[' and `]' and remove uses of `changequote'.
91840         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91841         (AC_SYS_LARGEFILE): Likewise.
91842         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91843         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91844         of changequote.
91845         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91846         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91847         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91848         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91849
91850 2000-02-05  Jim Meyering  <meyering@lucent.com>
91851
91852         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91853         Remove explicit use of AC_HEADER_TIME.  It is required by
91854         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91855         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91856         in autoconf whereby the expansion of the latter ended up preceding
91857         the expansion of its prerequisite, AC_HEADER_TIME.
91858         Reported by Volker Borchert.
91859
91860 2000-02-03  Jim Meyering  <meyering@lucent.com>
91861
91862         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91863
91864 2000-02-03  Jim Meyering  <meyering@lucent.com>
91865
91866         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91867         rather than with `#if HAVE_UTMPNAME'.
91868
91869 2000-02-02  Jim Meyering  <meyering@lucent.com>
91870
91871         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91872         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91873         Reported by Eli Zaretskii.
91874
91875 2000-02-01  Jim Meyering  <meyering@lucent.com>
91876
91877         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91878
91879 2000-01-31  Jim Meyering  <meyering@lucent.com>
91880
91881         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91882         functions.  Add the time.h and sys/time.h headers along with the
91883         AC_REQUIRE'ment of AC_HEADER_TIME.
91884
91885 2000-01-31  Jim Meyering  <meyering@lucent.com>
91886
91887         * lib/nanosleep.h (nanosleep): Guard declaration with
91888         `#if ! HAVE_DECL_NANOSLEEP'.
91889         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91890         the declaration in that vendor's sys/timers.h.
91891         Reported by Christian Krackowizer.
91892
91893         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91894         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91895         (ISPRINT): Likewise.
91896         Reported by Tom Tromey.
91897
91898 2000-01-30  Jim Meyering  <meyering@lucent.com>
91899
91900         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91901
91902         * m4/prereq.m4 (utmp_includes): Define.
91903         Check for ut_user and ut_name members in both struct utmpx
91904         and struct utmp.
91905
91906 2000-01-30  Jim Meyering  <meyering@lucent.com>
91907
91908         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91909         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91910         header files where only utmpx.ut_user is declared.
91911
91912         * lib/readutmp.h (UT_USER): Define.
91913
91914 2000-01-29  Jim Meyering  <meyering@lucent.com>
91915
91916         * m4/lib-check.m4: New file containing library-related checks from
91917         fileutils and sh-utils (textutils had none).
91918
91919 2000-01-28  Jim Meyering  <meyering@lucent.com>
91920
91921         * m4/perl.m4: Change format of warning message to look more like that
91922         from the missing script.  Suggestion from François Pinard.
91923
91924 2000-01-25  Jim Meyering  <meyering@lucent.com>
91925
91926         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91927         well as time.h in the compile check.
91928         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91929         Fix typo in cross-compiling case: s/yes/no/.
91930
91931 2000-01-23  Jim Meyering  <meyering@lucent.com>
91932
91933         * m4/jm-macros.m4: Move df-related tests here from
91934         fileutils/configure.in
91935
91936         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91937         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91938
91939         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91940         s/space/ac_fsusage_space/.
91941         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91942
91943         * m4/ftruncate.m4: New file (derived from part of
91944         fileutils/configure.in).
91945         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91946         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91947
91948         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91949         AC_SUBST these here, rather than just in sh-util/configure.in, so
91950         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91951         all the same.
91952         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91953         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91954         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91955         (AC_SUBST(POW_LIBM)): Likewise.
91956         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91957
91958 2000-01-23  Jim Meyering  <meyering@lucent.com>
91959
91960         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91961         obstack.c.
91962
91963 2000-01-22  Jim Meyering  <meyering@lucent.com>
91964
91965         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91966
91967         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91968
91969         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91970         configure.in
91971         (AC_CHECK_HEADERS): Likewise for sh-utils.
91972         (AC_CHECK_HEADERS): Likewise for textutils.
91973         Merge the three lists of headers.
91974
91975         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91976         from fileutils' configure.in.
91977
91978         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91979         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91980         check-decl.m4.
91981
91982         * m4/check-decl.m4: Use #if rather than #ifdef.
91983         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91984         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91985         (_jm_DECL_HEADERS): Define new function.
91986         (jm_CHECK_DECLARATIONS): Require it.
91987
91988 2000-01-22  Jim Meyering  <meyering@lucent.com>
91989
91990         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91991         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91992         Required for some AIX systems.  Reported by Christian Krackowizer.
91993         [TESTING] (main): New function.
91994
91995         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91996         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91997         letters.
91998
91999         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92000         iswprint.
92001
92002         * lib/strverscmp.c (ISDIGIT): Define.
92003         (strverscmp): Use ISDIGIT, not isdigit.
92004
92005 2000-01-19  Jim Meyering  <meyering@lucent.com>
92006
92007         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92008         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92009         defines `struct timespec' in <sys/time.h>
92010
92011         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92012         Thanks to Akim for explaining.
92013
92014 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92015
92016         * lib/nanosleep.c (nanosleep):
92017         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92018         POSIX.1 doesn't require SA_INTERRUPT and some systems
92019         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92020         it's been part of POSIX.1 since day 1 (in 1988).
92021
92022 2000-01-17  Jim Meyering  <meyering@lucent.com>
92023
92024         * lib/interlock: Remove unused file.  Reported by François Pinard.
92025
92026 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92027
92028         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92029         alert, backslash, formfeed, and vertical tab unnecessarily in
92030         shell quoting style.
92031
92032 2000-01-16  Jim Meyering  <meyering@lucent.com>
92033
92034         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92035         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92036         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92037         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92038
92039 2000-01-16  Jim Meyering  <meyering@lucent.com>
92040
92041         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92042         because the latter didn't work.
92043
92044 2000-01-15  Jim Meyering  <meyering@lucent.com>
92045
92046         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92047         (AC_REPLACE_FUNCS): Add memcpy and memset.
92048         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92049         Add strpbrk.
92050         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92051
92052 2000-01-12  Jim Meyering  <meyering@lucent.com>
92053
92054         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92055         (jm_PREREQ): Use it.
92056         (jm_PREREQ_READUTMP): New macro.
92057         (jm_PREREQ): Use it.
92058
92059 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92060
92061         Quote multibyte characters correctly.
92062         * m4/c-bs-a.m4: New file.
92063         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92064         (jm_PREREQ): Use it.
92065
92066 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92067
92068         * m4/uintmax_t.m4: Port to autoconf 2.13.
92069
92070 2000-01-08  Jim Meyering  <meyering@ascend.com>
92071
92072         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92073         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92074
92075 2000-01-04  Jim Meyering  <meyering@ascend.com>
92076
92077         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92078         jm_STRUCT_DIRENT_D_TYPE.
92079         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92080         jm_STRUCT_DIRENT_D_INO.
92081         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92082         jm_STRUCT_UTIMBUF.
92083         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92084         renamings.
92085         * m4/utime.m4: Likewise.
92086
92087         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92088         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92089
92090 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92091
92092         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92093         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92094
92095 2000-01-02  Jim Meyering  <meyering@ascend.com>
92096
92097         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92098         remember if this is necessary.
92099
92100 1999-12-26  Jim Meyering  <meyering@ascend.com>
92101
92102         * m4/jm-macros.m4: Use it here.
92103         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92104
92105 1999-12-23  Jim Meyering  <meyering@ascend.com>
92106
92107         * m4/jm-macros.m4: Check for clock_gettime (moved from
92108         fileutils/configure.in)
92109         Check for gettimeofday.
92110
92111 1999-12-20  Jim Meyering  <meyering@ascend.com>
92112
92113         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92114         autoconf-2.14a-1999-12-20.
92115
92116 1999-12-19  Jim Meyering  <meyering@ascend.com>
92117
92118         * m4/lstat-slash.m4: New file.
92119         * m4/jm-macros.m4: Use the new macro:
92120         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92121
92122 1999-12-07  Jim Meyering  <meyering@ascend.com>
92123
92124         * m4/perl.m4: Require that File::Compare be available, too.
92125         Too many systems seem to lack it.
92126
92127         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92128         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92129
92130 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92131
92132         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92133         problem with the QNX 4.25 shell, which doesn't propagate exit
92134         status of failed commands inside shell assignments.
92135
92136 1999-11-17  Jim Meyering  <meyering@ascend.com>
92137
92138         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92139
92140 1999-11-07  Jim Meyering  <meyering@ascend.com>
92141
92142         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92143
92144 1999-11-06  Jim Meyering  <meyering@ascend.com>
92145
92146         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92147         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92148
92149 1999-11-05  Jim Meyering  <meyering@ascend.com>
92150
92151         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92152         configure.in of textutils, fileutils, and sh-utils into this one
92153         (shared between those packages) file.
92154         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92155         AC_STRUCT_ST_BLKSIZE.
92156
92157 1999-11-03  Jim Meyering  <meyering@ascend.com>
92158
92159         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92160         of AC_CHECK_TYPE checks includes unistd.h.
92161         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92162         Suggestion from Akim Demaille.
92163
92164 1999-10-30  Jim Meyering  <meyering@ascend.com>
92165
92166         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92167         m4-quoted string.
92168         * m4/ls-mntd-fs.m4: Likewise.
92169         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92170         * m4/jm-winsz1.m4: Likewise.
92171
92172         * m4/const.m4: Remove file, since the fix made it into the experimental
92173         version of autoconf.
92174         * m4/mktime.m4: Likewise.
92175
92176         * m4/check-type.m4: Remove file, now that the latest version of
92177         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92178
92179         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92180         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92181         AC_CHECK_TYPE.
92182
92183 1999-10-04  Jim Meyering  <meyering@ascend.com>
92184
92185         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92186
92187 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92188
92189         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
92190         2.95.1 bug with HP-UX 10.20.
92191
92192 1999-09-17  Jim Meyering  <meyering@ascend.com>
92193
92194         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
92195         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
92196         due to missing strdup (against sh-utils-2.0).
92197
92198 1999-08-29  Jim Meyering  <meyering@ascend.com>
92199
92200         * m4/jm-macros.m4: Require jm_BISON.
92201         * m4/bison.m4: New file.
92202
92203 1999-08-17  Paul Eggert  <eggert@twinsun.com>
92204
92205         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
92206         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
92207
92208 1999-08-05  Jim Meyering  <meyering@ascend.com>
92209
92210         * m4/getline.m4: Rename test file from conftestdata to conftest.data
92211         to avoid conflicts with `conftest' on 8+3 filesystems.
92212         Suggestion from Eli Zaretskii.
92213
92214 1999-08-04  Jim Meyering  <meyering@ascend.com>
92215
92216         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
92217         fileutils and sh-utils (textutils's getline test was inadequate).
92218         (AM_FUNC_GETLINE): Run this test.
92219         (AC_CHECK_FUNCS): Check for getdelim.
92220         Reported by Bob Proulx.
92221
92222 1999-08-02  Jim Meyering  <meyering@ascend.com>
92223
92224         * m4/jm-macros.m4: Add a comment.
92225
92226 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92227
92228         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
92229         <inttypes.h> defines strtoumax as a macro (and not as a
92230         function).
92231
92232 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92233
92234         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
92235         that we can shift, multiply and divide unsigned long long
92236         values; Ultrix cc can't do it.
92237
92238 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92239
92240         * m4/mktime.m4: New file, which is a preview of what should appear
92241         in the next public autoconf release.
92242
92243 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92244
92245         * m4/lfs.m4: Remove this file.
92246         * m4/largefile.m4: New file.  It contains the old contents of
92247         lfs.m4, except that all names with prefix AC_LFS have been
92248         changed to use the prefix AC_SYS_LARGEFILE instead, to be
92249         compatible with future autoconf versions.  Also, some minor m4
92250         quoting problems have been fixed.
92251
92252 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92253
92254         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
92255         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
92256         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
92257         and simplify the shell code.
92258
92259 1999-08-01  Jim Meyering  <meyering@ascend.com>
92260
92261         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
92262         m4.
92263
92264 1999-07-20  Jim Meyering  <meyering@ascend.com>
92265
92266         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
92267
92268 1999-07-15  Jim Meyering  <meyering@ascend.com>
92269
92270         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
92271
92272 1999-05-22  Jim Meyering  <meyering@ascend.com>
92273
92274         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
92275
92276 1999-05-20  Jim Meyering  <meyering@ascend.com>
92277
92278         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
92279         Add a colon after each `then' in case $4 is empty.
92280
92281 1999-05-16  Jim Meyering  <meyering@ascend.com>
92282
92283         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
92284
92285 1999-05-10  Jim Meyering  <meyering@ascend.com>
92286
92287         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
92288
92289         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
92290         AC_FUNC_MKTIME.
92291
92292 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
92293
92294         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
92295
92296 1999-05-04  Paul Eggert  <eggert@twinsun.com>
92297
92298         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
92299         not CPPFLAGS, so that linking works correctly in IRIX.
92300
92301 1999-04-30  Paul Eggert  <eggert@twinsun.com>
92302
92303         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
92304
92305 1999-04-20  Paul Eggert  <eggert@twinsun.com>
92306
92307         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92308         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92309         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92310         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92311         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92312
92313         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92314
92315 1999-04-20  Jim Meyering  <meyering@ascend.com>
92316
92317         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92318         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92319         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92320
92321 1999-04-18  Jim Meyering  <meyering@ascend.com>
92322
92323         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92324         * m4/jm-macros.m4: Use it.
92325
92326 1999-04-06  Jim Meyering  <meyering@ascend.com>
92327
92328         * m4/strftime.m4: Remove test for %f.
92329
92330 1999-03-29  Jim Meyering  <meyering@ascend.com>
92331
92332         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92333         superset of the AC_TYPE_* checks in the textutils, fileutils,
92334         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92335         AC_TYPE_PID_T.
92336
92337 1999-03-28  Jim Meyering  <meyering@ascend.com>
92338
92339         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92340         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92341         replaced e.g., in the *.sh files of the sh-utils.
92342
92343 1999-03-20  Jim Meyering  <meyering@ascend.com>
92344
92345         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92346         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92347         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92348
92349 1999-03-19  Jim Meyering  <meyering@ascend.com>
92350
92351         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92352
92353 1999-03-12  Jim Meyering  <meyering@ascend.com>
92354
92355         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92356
92357 1999-03-07  Jim Meyering  <meyering@ascend.com>
92358
92359         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
92360         declared.
92361
92362 1999-02-17  Jim Meyering  <meyering@ascend.com>
92363
92364         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
92365         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
92366
92367 1999-02-07  Jim Meyering  <meyering@ascend.com>
92368
92369         * m4/group-member.m4: New file -- extracted from sh-utils'
92370         configure.in.
92371
92372         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
92373         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
92374
92375 1999-02-06  Jim Meyering  <meyering@ascend.com>
92376
92377         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92378         * m4/fnmatch.m4: Likewise.
92379         * m4/getgroups.m4: Likewise.
92380         * m4/lstat.m4: Likewise.
92381         * m4/malloc.m4: Likewise.
92382         * m4/putenv.m4: Likewise.
92383         * m4/realloc.m4: Likewise.
92384         * m4/regex.m4: Likewise.
92385         * m4/stat.m4: Likewise.
92386         * m4/strftime.m4: Likewise.
92387         Suggestion from Alain Magloire.
92388
92389         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92390         * m4/fnmatch.m4: Likewise.
92391         * m4/getgroups.m4: Likewise.
92392         * m4/getline.m4: Likewise.
92393         * m4/lstat.m4: Likewise.
92394         * m4/malloc.m4: Likewise.
92395         * m4/memcmp.m4: Likewise.
92396         * m4/putenv.m4: Likewise.
92397         * m4/realloc.m4: Likewise.
92398         * m4/regex.m4: Likewise.
92399         * m4/stat.m4: Likewise.
92400         * m4/strftime.m4: Likewise.
92401         Suggestion from Alain Magloire.
92402
92403         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92404         an argument.
92405
92406         * m4/regex.m4: Add a run-time Test for proper operation of
92407         re_compile_pattern.
92408
92409 1999-01-31  Jim Meyering  <meyering@ascend.com>
92410
92411         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92412
92413 1999-01-30  Jim Meyering  <meyering@ascend.com>
92414
92415         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
92416
92417         * m4/jm-mktime.m4: Make this a wrapper around the official
92418         AM_FUNC_MKTIME rather than my private copy, now that the official one
92419         is up to date.
92420         * m4/mktime.m4: Remove file.
92421
92422         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
92423         * m4/uptime.m4: Likewise.
92424         * m4/uintmax_t.m4: Likewise.
92425
92426 1999-01-28  Jim Meyering  <meyering@ascend.com>
92427
92428         * m4/jm-macros.m4: Use jm_AFS.
92429         * m4/afs.m4: New file (from fileutils' configure.in).
92430
92431         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
92432         * m4/chown.m4: Likewise.
92433         * m4/d-ino.m4: Likewise.
92434         * m4/d-type.m4: Likewise.
92435         * m4/fnmatch.m4: Likewise.
92436         * m4/getgroups.m4: Likewise.
92437         * m4/gettext.m4: Likewise.
92438         * m4/jm-mktime.m4: Likewise.
92439         * m4/jm-winsz2.m4: Likewise.
92440         * m4/lcmessage.m4: Likewise.
92441         * m4/ls-mntd-fs.m4: Likewise.
92442         * m4/malloc.m4: Likewise.
92443         * m4/memcmp.m4: Likewise.
92444         * m4/putenv.m4: Likewise.
92445         * m4/realloc.m4: Likewise.
92446         * m4/st_mtim.m4: Likewise.
92447         * m4/strftime.m4: Likewise.
92448
92449 1999-01-16  Jim Meyering  <meyering@ascend.com>
92450
92451         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
92452         (ARGMATCH_DIE_DECL): Define.
92453
92454 1999-01-12  Jim Meyering  <meyering@ascend.com>
92455
92456         * m4/Makefile.am.in: Rewrite to avoid using fmt.
92457         Reported by Lars Hecking.
92458
92459 1999-01-10  Jim Meyering  <meyering@ascend.com>
92460
92461         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
92462         gross kludge.
92463         * m4/inttypes_h.m4: Likewise.
92464         * m4/lstat.m4: Likewise.
92465         * m4/malloc.m4: Likewise.
92466         * m4/readdir.m4: Likewise.
92467         * m4/realloc.m4: Likewise.
92468         * m4/st_dm_mode.m4: Likewise.
92469         * m4/stat.m4: Likewise.
92470         * m4/utimbuf.m4: Likewise.
92471         * m4/utimes.m4: Likewise.
92472
92473         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
92474         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
92475         comments in config.h.in are meaningful.
92476
92477         * m4/jm-macros.m4: Require autoconf-2.13 here.
92478
92479         * m4/regex.m4: By default, don't use the included regex.c on systems
92480         with glibc 2.  Suggestion from Uli Drepper.
92481
92482 1999-01-02  Jim Meyering  <meyering@ascend.com>
92483
92484         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92485
92486 1998-12-18  Jim Meyering  <meyering@ascend.com>
92487
92488         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92489         Based on a suggestion from Lars Hecking.
92490
92491 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92492
92493         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92494
92495 1998-11-16  Jim Meyering  <meyering@ascend.com>
92496
92497         * m4/lfs.m4: Double-quote the `uname...` expression.
92498
92499 1998-11-14  Jim Meyering  <meyering@ascend.com>
92500
92501         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92502         * m4/stat.m4: Likewise.
92503
92504 1998-11-03  Jim Meyering  <meyering@ascend.com>
92505
92506         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92507         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92508
92509 1998-10-18  Jim Meyering  <meyering@ascend.com>
92510
92511         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92512
92513 1998-10-17  Jim Meyering  <meyering@ascend.com>
92514
92515         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92516         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92517         calls for those previously hard-coded headers.  Instead, take a new
92518         parameter.
92519         (jm_CHECK_DECLARATIONS): Reflect interface change.
92520         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92521         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92522
92523         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92524
92525 1998-10-14  Jim Meyering  <meyering@ascend.com>
92526
92527         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92528         instead of "TZ=America/Vancouver".  From Paul Eggert.
92529
92530 1998-10-11  Jim Meyering  <meyering@ascend.com>
92531
92532         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92533         This adds a test for a recently added compatibility fix for mktime.c.
92534         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92535
92536 1998-09-27  Jim Meyering  <meyering@ascend.com>
92537
92538         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92539
92540         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92541         ../configure.in, including a change from Gordon Matzigkeit to allow
92542         cross-compiling for the Hurd.
92543
92544         * m4/glibc.m4: New file/macro to test for the GNU C Library
92545         versions 1 and 2.  From Gordon Matzigkeit.
92546         Indent.
92547
92548 1998-09-21  Jim Meyering  <meyering@ascend.com>
92549
92550         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92551
92552 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92553
92554         Port nanosecond-resolution times to UnixWare 2.1.2 and
92555         pedantic Solaris 2.6.
92556
92557         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92558         AC_STRUCT_ST_MTIM.
92559         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92560         Generate name of ns member, instead of just 1 or undef.
92561         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92562
92563 1998-08-15  Jim Meyering  <meyering@ascend.com>
92564
92565         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92566         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92567         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92568         instead of jm_TYPE_SSIZE_T.
92569
92570 1998-08-12  Jim Meyering  <meyering@ascend.com>
92571
92572         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92573
92574 1998-08-02  Jim Meyering  <meyering@ascend.com>
92575
92576         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92577         in acconfig.h manually.
92578
92579 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92580
92581         * m4/st_mtim.m4: New file.
92582
92583 1998-07-28  Jim Meyering  <meyering@ascend.com>
92584
92585         * m4/utimes.m4: Undef stat.
92586
92587 1998-07-25  Jim Meyering  <meyering@ascend.com>
92588
92589         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92590         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92591
92592 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92593
92594         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92595         uid and gid actually remain unchanged.
92596
92597 1998-07-07  Jim Meyering  <meyering@ascend.com>
92598
92599         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92600
92601 1998-07-04  Jim Meyering  <meyering@ascend.com>
92602
92603         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92604         to prove that this macro can be used in packages without regex.c.
92605
92606 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92607
92608         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92609         is to be used.
92610
92611 1998-07-03  Jim Meyering  <meyering@ascend.com>
92612
92613         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92614
92615         * m4/gettext.m4: New file -- from gettext-0.10.35.
92616         * m4/lcmessage.m4: Likewise.
92617         * m4/progtest.m4: Likewise.
92618
92619         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92620         * m4/jm-macros.m4: Require the new macro.
92621
92622 1998-06-29  Jim Meyering  <meyering@ascend.com>
92623
92624         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92625         for the definition of NGROUPS (used in a system header included
92626         by sys/mount.h).
92627
92628 1998-06-28  Jim Meyering  <meyering@ascend.com>
92629
92630         * m4/ls-mntd-fs.m4: New file.
92631         * m4/fstypename.m4: New file.
92632
92633         * m4/jm-macros.m4: Require the new macro.
92634         * m4/jm-glibc-io.m4: New file.
92635
92636 1998-05-19  Jim Meyering  <meyering@ascend.com>
92637
92638         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92639         * m4/lchown.m4: New file.
92640
92641         * m4/Makefile.am.in: New file.
92642         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92643
92644 1998-05-14  Jim Meyering  <meyering@ascend.com>
92645
92646         * m4/Makefile.am (EXTRA_DIST): Add them.
92647         * m4/jm-macros.m4: New file.
92648         * m4/utimbuf.m4: New file.
92649
92650 1998-05-12  Jim Meyering  <meyering@ascend.com>
92651
92652         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92653
92654 1998-05-11  Jim Meyering  <meyering@ascend.com>
92655
92656         * m4/isc-posix.m4: New file.
92657
92658 1998-05-10  Jim Meyering  <meyering@ascend.com>
92659
92660         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92661
92662 1998-05-09  Jim Meyering  <meyering@ascend.com>
92663
92664         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92665         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92666         with automake.
92667
92668         * m4/ssize_t.m4: New file.
92669         * m4/mktime.m4: Remove file -- the new automake has this now.
92670
92671 1998-04-26  Jim Meyering  <meyering@ascend.com>
92672
92673         * m4/assert.m4: New file.
92674         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92675
92676 1998-04-05  Jim Meyering  <meyering@ascend.com>
92677
92678         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92679         (jm_PREREQ): Use it here.
92680
92681 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92682
92683         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92684         in acconfig.h.
92685
92686 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92687
92688         * m4/prereq.m4: New file.
92689         * m4/error.m4: New file.
92690         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92691
92692 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92693
92694         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92695         cache-check for the same variable -- that defeated the purpose of
92696         the test; the test program was never run.  This was a problem only
92697         on systems with losing getline functions -- HP-UX 10.20 is one.
92698         Reported by Bjorn Helgaas.
92699
92700 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92701
92702         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92703
92704 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92705
92706         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92707
92708         * m4/const.m4: New file.  Use an initializer in this declaration
92709         typedef int charset[2]; const charset x;
92710         Reported by Bob Glickstein.
92711
92712 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92713
92714         * m4/chown.m4: Fix reversed types on -1 args to chown.
92715         From Kaveh Ghazi.
92716
92717 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92718
92719         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92720         Add lseek and memchr.
92721
92722         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92723         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92724         have a 20-character limit on names.
92725
92726 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92727
92728         * m4/inttypes_h.m4: New file.
92729         * m4/uintmax_t.m4: New file.
92730         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92731
92732
92733         -----
92734
92735         Local Variables:
92736         coding: utf-8
92737         End:
92738
92739         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92740
92741         Copying and distribution of this file, with or without
92742         modification, are permitted provided the copyright notice
92743         and this notice are preserved.